-
-
Notifications
You must be signed in to change notification settings - Fork 9k
AMF Options
Chris edited this page May 7, 2023
·
17 revisions
i = int (whole number), b = boolean (true/false)
Parameters and options are written as such:
Usage=transcoding Quality=speed
| Parameter | Options | Default | Explanation |
|---|---|---|---|
| Usage | transcoding, ultralowlatency, lowlatency, webcam | Transcoding | Changes a lot of settings based on usage. Highly recommend sticking to "transcoding". |
| Quality | speed, balanced, quality | Quality | Controls the speed vs quality. Note: Can fall back to faster presets if throughput is too high vs max throughput. |
| Profile | main, high, constrained_baseline, constrained_high | High | h264 profile. "High" should work for all modern devices (think iphone 4 and later). |
| ProfileLevel | i (10-62) | 42 (4.2) | H264 profile level. Specifies constraints for decode. |
| MaxNumRefFrames | i | 4 | Limits the max number of reference frames (0-16). This max is also limited by hardware and h264 levels. More ref frames means more encoder work, but potentially better compression. Stick to 4 or less, for the sake of compatibility and profile conformity. The encoder is currently likely to use a single reference frame unless b-frames are active. |
| Parameter | Options | Default | Explanation |
|---|---|---|---|
| RateControlPreanalysisEnable | enum (0 or 1) | 1 (enabled) | Pre-encode assisted rate control. |
| EnforceHRD | b | True | Enforce Hypothetical Reference Decoder. Constraints on QP variation within a picture to meet HRD requirements. |
| FillerDataEnable | b | False (True if CBR) | Filler data. Useful for strict CBR encoding, like live streaming. |
| VBVBufferSize | i | N/A | Note: in bits (bps) |
| InitialVBVBufferFullness | i | 64 (100%) | Note: 0=0%, 64=100% |
| PeakBitrate | i | N/A | Note: in bits (bps) |
| MinQP | i | 0 | |
| MaxQP | i | 51 |
B-Frames and its features currently require RDNA2 (RX 6000 and higher). Seems to currently cause some issues, try 1 or 2.
| Parameter | Options | Default | Explanation |
|---|---|---|---|
| MaxConsecutiveBPictures | i | 3 (if supported) | Max consecutive b-frames |
| BPicturesPattern | i | 0 | Sets the number of consecutive b-frames. 0=off. |
| AdaptiveMiniGOP | b | False | Variable amount of b-frames. Note: Might require Pre-Analysis. |
| BReferenceEnable | b | True | Enable/Disable the use of b-frames as reference frames. |
| Parameter | Options | Default | Explanation |
|---|---|---|---|
| DeBlockingFilter | b | True | Enable/Disable the de-blocking filter. |
| EnableVBAQ | b | True (Unless CQP) | Adaptive quantization. Prioritize bits to parts of the image humans care about. |
| HighMotionQualityBoostEnable | b | False |
| Parameter | Options | Default | Explanation |
|---|---|---|---|
| HalfPixel | b | True | |
| QuarterPixel | b | True |
| Parameter | Options | Default | Explanation |
|---|---|---|---|
| EnablePreAnalysis | b | False | Pseudo 2-pass for a certain number of frames. Enabling will disable VBAQ. GPU load hit (spends traditional 3d/render resources) |
| PASceneChangeDetectionEnable | b | True | Akin to scenecut (adaptive I-frame insertion). Safest to disable for HLS transcode platforms, as is potentially risky for muxer segment/split. |
| PAFrameSadEnable | b | True | Frame SAD (Sum of Absolute Difference) algorithm |
| PALookAheadBufferDepth | i | 0 | Pre-Analysis lookahead buffer size |
| PAPerceptualAQMode | Enum 0/1 | 0 (None, off) | PA Perceptual adaptive quantization mode. |
| PATemporalAQMode | Enum 0-2 | 0 (None, off) | PA Temporal adaptive quantization mode. 1 for non-gaming applications, 2 gaming applications. |
| PAHighMotionQualityBoostMode | Enum 0/1 | 0 (None, off) | PA High motion quality boost mode |
| PACAQStrength | Enum (0-2) | 1 (medium) | 0=low, 1=med, 2=high. Content Adaptive Quantization (CAQ) strength |