[aja ]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Specifies the max bit rate (in kbps).
Note: Default 0. This is for capped VBR mode only.
Type: UInt32
Specifies the HEVC codec profile.
Value | Meaning |
---|---|
1 |
Main |
2 |
Main10 |
3 |
Main Still Picture |
4 |
Main 4:2:2 10 |
Note: Default 1.
Type: UInt32
Specifies the HEVC codec level.
0 = AutoSelect; Otherwise HEVC level = level/10, e.g. 51 = Level 5.1
Note: Default 0.
Type: UInt32
Specifies the HEVC codec tier.
Value | Meaning |
---|---|
0 |
Main |
1 |
High |
Note: Default 0.
Type: UInt32
Specifies the GOP length (in frames).
Note: Default 64.
Type: UInt32
Indicates whether to use temporal id.
Value | Meaning |
---|---|
true |
use temporal id |
false |
do not use temporal id |
Note: Default true.
Type: Bool
Indicates whether to insert I frame with scene change.
Value | Meaning |
---|---|
true |
insert I frame with scene change |
false |
do not insert I frame with scene change |
Note: Default false.
Type: Bool
Specifies the matrix coefficients.
Type: UInt32
Indicates whether to enable hierarchical GOP.
Value | Meaning |
---|---|
true |
hierarchical GOP |
false |
non-hierarchical GOP |
Note: Default true.
Type: Bool
Indicates open GOP or closed GOP.
Value | Meaning |
---|---|
true |
open GOP |
false |
closed GOP |
Note: Default false.
Type: Bool
Specifies the IDR frame interval (in units of gop count).
Note: Default 100. Ignored when using closed GOP.
Type: UInt32
Specifies the number of B-frames between consecutive I-frames or P-frames.
Note: Default 1.
Type: UInt32
Specifies the rate control mode.
Value | Meaning |
---|---|
0 |
CBR |
1 |
Capped VBR |
Note: Default 0.
Type: UInt32
Specifies the bit rate (in kbps).
Note: Default varies from 2Mbps to 32 Mbps depending on frame size and frame rate. Default value set by ntv2sdk.
Type: UInt32
Specifies the sample aspect ratio width.
Note: Default 0, i.e. unspecified.
Type: UInt32
Specifies the sample aspect ratio height.
Note: Default 0, i.e. unspecified.
Type: UInt32
Indicates whether to set VPS, SPS, and PPS headers on each key frame.
Value | Meaning |
---|---|
true |
set VPS/SPS/PPS headers on key frames |
false |
do not set VPS/SPS/PPS headers on key frames |
Note: Default true.
Type: Bool
Maximum Content light level (MaxCLL).
Specified as an integer that indicates the maximum pixel intensity level in units of 1 candela per square metre of the bitstream. x265 will also calculate MaxCLL programmatically from the input pixel values and set in the Content light level info SEI.
Type: Int
Specifies the color primaries.
Type: UInt32
Specifies the transfer characteristics.
Type: UInt32
SMPTE ST 2086 mastering display color volume SEI info.
Specified as a string which is parsed when the stream header SEI are emitted. The string format is ‘G(%hu,%hu)B(%hu,%hu)R(%hu,%hu)WP(%hu,%hu)L(%u,%u)’ where %hu are unsigned 16bit integers [0-50,000] and %u are unsigned 32bit integers [0-10,000]. The SEI includes X, Y display primaries for RGB channels and white point (WP) in units of 0.00002 and max, min luminance (L) values in units of 0.0001 candela per meter square. Applicable for HDR content.
For example, a P3D65 1000-nits monitor, where G(x=0.265,y=0.690),B(x=0.150,y=0.060),R(x=0.680,y=0.320),WP(x=0.3127,y=0.3290),L(max=1000,min=0.0001): G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)
Type: String
Maximum Frame Average Light Level (MaxFALL).
Specified as an integer that indicates the maximum frame average intensity level in units of 1 candela per square metre of the bitstream. x265 will also calculate MaxFALL programmatically from the input pixel values and set in the Content light level info SEI.
Type: Int
[anim]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
[ffv1]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Select which FFV1 version to use.
Note: Defaults to VERSION_3.
Type: VersionType
Enabling this option adds CRC information to each slice.
This makes it possible for a decoder to detect errors in the bitstream, rather than blindly decoding a broken slice.
Note: Defaults to false.
Type: Bool.
Entropy encoder.
Note: Defaults to CODER_RANGE_CUSTOM.
Type: CoderType
Context.
Note: Defaults to CONTEXT_SMALL.
Type: ContextType
Gop length.
For archival use GopLength should be 1.
Note: Defaults to 12.
Type: Interger > 0.
The number of threads to use while processing.
Adjust this to match how many of your available CPU cores you want to use.
Note: Defaults to the number of CPU cores available.
Type: Interger > 0.
Each frame is split into this number of slices.
This affects multithreading performance, as well as filesize: Increasing the number of slices might speed up performance, but also increases the filesize.
Note: Defaults to 4.
Type: Interger; 4, 6, 9, 12, 16, 24, 30.
FFV1 version 3 is able to be encoded in multiple passes, to increase compression efficiency.
It requires encoding the file twice, though: The 1st pass is to analyze the video source data and logging the results, and the 2nd pass uses this previously gathered information to achieve a higher compression ratio. More information about multi-pass encoding can be read up in the Wikipedia article about ‘Variable bitrate’ (VBR).
Note: Defaults to false.
Type: Interger; 1 or 2.
A filename prefix.
This is the prefix of the logfile used for storing the information gathered during previous passes in multi-pass encoding mode. Additional info about PassLogfile can be found in FFmpeg’s documentation about video options.
Note: Defaults to ‘ffv1-pass.log’.
Type: String.
Valid values for the Version property.
Value | Name | Description |
---|---|---|
1 |
VERSION_1 | FFV1 Version 1 |
3 |
VERSION_3 | FFV1 Version 3 |
Valid values for the Coder property.
Value | Name | Description |
---|---|---|
0 |
CODER_GOLOMB_RICE | valid only for 8-bit. |
2 |
CODER_RANGE_CUSTOM | custom state transition table |
1 |
CODER_RANGE_DEFAULT | default state transition table |
Valid values for the Context property.
Value | Name | Description |
---|---|---|
1 |
CONTEXT_LARGE | Context large |
0 |
CONTEXT_SMALL | Context small |
[f266]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Enable decodign unit info SEI messages.
Type: Boolean
Random access type
Type: DecodingRefreshModeType
Default preset.
Type: PresetType
High Dynamic Range mode.
Type: HdrModeType
Number of worker threads
If less than 0, use 4 threads for 720p otherwise use 8 threads (limited to available cores).
Note: Defaults to -1.
Type: Int32
Period (in frames) of I-slice.
Type: Int32
Number of tile rows.
Type: Int32
QP value of key-picture (0-63)
Note: Defaults to 32.
Type: Int32
Add Access Unit Delimiter NAL units.
Type: Boolean
Profile.
Type: ProfileType
Level limit.
Note: Defaults to 32.
Type: LevelType
Tier to use for interpretation of level (main or high).
Note: Defaults to 32.
Type: LevelTierType
GOP size of hierarchical structure.
Type: Int32
Number of rate control passes.
Note: Defaults to 1.
Type: Int32
Current pass; 0 or 1.
Note: Only needed for 2-pass rate control.
Type: Int32
Statisicts file for 2-pass rate control.
Note: Only needed for 2-pass rate control.
Type: String
Segment position for segment concatenation (only needed, when multiple separate segments are used).
Type: SegmentModeType
Enable usage of perceptually motivated input-adaptive QP modification (QPA).
Type: Boolean
Number of tile columns.
Type: Int32
Enable generation of HRD parameters.
Type: Boolean
Enable decoding parameter set.
Type: Boolean
Enable generation of VUI parameters.
Type: Boolean
Enable buffering period SEI messages.
Type: Boolean
Enable picture timeing SEI messages.
Type: Boolean
Valid values for the HdrMode property.
Value | Name | Description |
---|
Valid values for the Profile property.
Value | Name | Description |
---|
Valid values for the Preset property.
Value | Name | Description |
---|
Valid values for the LevelTier property.
Value | Name | Description |
---|
Valid values for the SegmentMode property.
Value | Name | Description |
---|
Valid values for the Level property.
Value | Name | Description |
---|
Valid values for the DecodingRefreshMode property.
Value | Name | Description |
---|
[fjxs]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Defines the height of a slice in precincts.
Note: The standard measures the slice height in lines, not in precincts. To get the slice height in lines, multiply the value with 2^N where N is the number of vertical wavelet decompositions.
By default, all slices but the bottom-most slice are 8 precincts high.
Type: Int
Defines the profile and thus restricts the set of available coding tools at encoder side.
This does not select the coding tools itself, it rather ensures that the correct profile indicator is written into the codestream and it also checks whether the coding tools are selected appropriately.
Note: Defaults to Profile_Unrestricted.
Type: ProfileType
If this property is true, the filter sets the CPU affinity of its threads to CPU cores, i.e. it pins its threads to particular logical processors.
This may help to improve overall system performance as the operating system is disallowed to migrate worker threads between logical processors.
Note: Defaults to false.
Type: Bool
The number of parallel threads to spawn for encoding.
The library throughput scales almost linearly in the number of available CPU cores provided the source image is large enough, and provided more than a single line is provided for encoding at a time. Specifying more than one thread enables multi-threaded encoding of images; while this improves the performance, it also enlarges the latency as at least the image data for N slice groups must be available at once when encoding with N cores.
Note: Defaults to 8.
Type: Int
If the processors array is supplied and AllocCores is true, then the filter pins its threads to the CPU ids provided in this array. For that, the number of elements in this array shall be at least as large as the number of threads started.
If the processors array is not supplied or nullptr, and AllocCores is true, the filter pins its threads to logical processors #1 and up, in sequential order. Logical processor #0 remains unallocated and available for the system or the calling thread. Note that this may not be ideal, depending on the topology of the host system.
Note: Defaults to nullptr.
Type: VariantArray of Ints
Defines a detail of the entropy encoder, namely which configuration of quantization indices constitutes a run of coefficients.
Note: Defaults to RunMode_ZeroCoefficient.
Type: RunModeType
Defines the number of horizontal wavelet transformations.
The number of horizontal transformations can vary between 1 and 5.
Note: Defaults to 5.
Type: Int
Enables or disables an encoding mode that uses a more compact internal representation of the image data and thus lowers the required memory bandwidth; this mode may reduce the reconstruction quality of the compressed image slightly but may improve the performance of the encoder by about 10%, depending on the host system.
Note: Enabling the fast mode is recommended for high-performance applications. It is disabled by default for compatibility reasons.
Type: Bool
Defines whether the signs of quantization indices are coded in a separate pass over the data or jointly with the data.
If the argument is true, then the signs of quantization indices are coded in a separate pass over the data, which is also the default, and also the more efficient mode. Disabling separate sign coding may simplify the decoding process for some hardware implementations and hence may be necessary for compatibility to some implementations, it is in general, however, not recommended.
Note: Defaults to true.
Type: Bool
Defines the number of vertical wavelet transformations.
The number of vertical transformations between 0 and the number of horizontal transformations, though their maximum number is constrained to 2.
Note: Defaults to 1.
Type: Int
Defines the type of quantizer that is applied to reduce the data rate of the image.
Note: Defaults to Quantizer_Uniform.
Type: QuantizerType
Defines the capacity of the buffer of the rate allocation algorithm in precincts.
The rate allocator is responsible for encoding the codestream in the requested rate or bandwidth constraint. By default, this buffer is 2 precincts high, and hence covers 2 × 2^N image lines, where N is the number of vertical wavelet transformations. Enlarging the rate allocator buffer improves the image quality as the rate allocator has more freedom to allocate the rate to the image regions; however, a larger rate allocator buffer also increases the latency of the encoder-decoder pair.
Note: Defaults to 2.
Type: Int
Defines the capacity of the assumed input smoothing buffer at the decoder size in precincts. This buffer size is then available to compensate for rate variations, and hence knowledge of this buffer size can be used by the encoder rate allocator to improve coding efficiency by moving rate from one image region to another.
Considerations similar to the lookahead also apply to the decoder buffer size: While a larger buffer allows larger rate deviations and hence improves image quality, the decoder first needs to fill its buffer partially before it can start with the decoding process. For this reason, a larger decoder buffer also increases latency.
Note: By default, the decoder side buffer is Lookahead - 1 precincts high, where lookahead is the size of the rate allocator buffer in precincts.
Type: Int
Defines the size of columns in sample grid points.
Columns allow sub-line latency and hence limit the encoder and decoder buffer memory for very wide images if combined with 0 vertical wavelet decompositions. If columns are enabled, precincts no longer extend over the full image width, but only over the width of a single column. If the column width is set to 0, columns are disabled. To simplify implementations, the possible column widths are restricted to multiples of 8×2^N for 4:4:4 or 16 × 2^N sample grid points for 4:2:2 sampled images, where N is the number of horizontal wavelet decompositions.
Note: By default, columns are disabled (0).
Type: Int
Enables or disables lossless coding, defined in the 2nd edition of the JPEG XS standard.
If the property is set to true, lossless coding will be enabled. In such a case, the target bitrate of the encoder will be ignored and the bitrate will be whatever is required to encode the data without loss. That is, no particular rate guarantee can be given. Depending on the input data and its bitdepth, compression rates of about 2:1 or below should be expected.
Note: By default, coding is lossy (false).
Type: Bool
Defines the target bit rate for CBR rate allocation.
Type: Int
Defines the quantiztion for VBR rate allocation.
Type: Int
Defines the sublevel that is written into the codestream on encoding.
The level restricts image dimensions and the pixel clock in the spatial (image) domain, the sublevel the bandwidth in the compressed domain. If the image dimensions or bandwidths exceed the limits of the selected level or sublevel, encoding will fail.
Note: The sublevel restricts the bandwidth of the compressed signal and hence limits the capacity of the transport channel.
If the sublevel is set to unrestriced, then no sublevel indicator will be written to the codestream on encoding, and hence no bandwidth limit is imposed. Note, however, that this does not define a compliance point.
Type: SublevelType
Defines the level that is written into the codestream on encoding.
The level restricts image dimensions and the pixel clock in the spatial (image) domain, the sublevel the bandwidth in the compressed domain. If the image dimensions or bandwidths exceed the limits of the selected level or sublevel, encoding will fail.
Note: If the level is set to unrestricted, then no level restrictions are imposed and the encoder does not write a level indicator. Note, however, that this does not define a compliance point and interoperability may be limited.
Type: LevelType
Inserts a copyright note on the encoded image into the stream.
Note: Defaults to nullptr.
Type: String
Property values for RunMode
Value | Name | Description |
---|---|---|
0 |
RunMode_ZeroCoefficient | A run is defined as a group of 8 coefficient groups whose amplitudes are quantized to zero. This is also the default configuration and in most cases slightly more efficient. |
1 |
RunMode_ZeroPrediction | A run is constituted by at least 8 coefficients whose bitplane counts do not differ from the bitplane counts of the line above. |
Property values for Quantizer
Value | Name | Description |
---|---|---|
0 |
Quantizer_Deadzone | The bucket containing the 0 is twice the size of all other buckets. This quantization is extremely simple and hence suitable for low-complexity hardware, though its performance is not ideal. |
1 |
Quantizer_Uniform | Uniform quantization for which all quantization buckets are of the same size. Its implementation is somewhat more complex, though the overall performance is better. |
Property values for RateAllocationMode.
Value | Name | Description |
---|---|---|
5 |
Rate_Simple_Slice_CBR | Constant bitrate per slice, faster and less precise. |
0 |
Rate_CBR | Full constant bit-rate rate allocation. This rate allocator ensures that the bit-rate remains constant throughout the image while it tries to maximize the image quality by testing all available entropy coding modes. This mode provides optimal image quality, but is therefore also the slowest and the most complex choice. |
1 |
Rate_Simple | CBR Simplified constant bit-rate rate allocation. This rate allocation process uses a heuristic to select the entropy coding mode and is hence faster, but may not always result in the best possible image quality. However, for most applications, the quality difference between the full and the fast rate allocation process is negligible. The target bit-rate (or equivalently) the target bandwidth is guaranteed by both rate allocation processes. |
2 |
Rate_VBR | Not Supported. Selects the variable bit-rate rate allocation process which keeps the quality constant throughout the image. This means, however, that the target rate cannot be guaranteed anymore. In this mode, the QP property controls the quantizer and by that the image quality. Larger values result in coarser quantization and hence lower image quality, but also lower rate. |
4 |
Rate_Slice_CBR | Constant bitrate per slice. |
Property values for Profile
Value | Name | Description |
---|---|---|
0 |
Profile_Unrestricted | This value enables all encoder tools available in the library, but does not define a compliance point. This is actually not a profile as such. |
2 |
Profile_Light444 | Light 444 profile, 4:4:4 sampling with up to 12 bits per component, and only the deadzone quantizer and up to 1 vertical wavelet decomposition. |
1 |
Profile_Light422 | Light 422 profile, 4:2:2 sampling with up to 10 bits per component, and only the deadzone quantizer and up to 1 vertical wavelet decomposition. |
3 |
Profile_LightSubline | Light sub-line profile, 4:2:2 sampling, with 0 vertical decompositions and column mode for ultra-low latency. |
4 |
Profile_Main422 | Main 422 profile, 4:2:2 sampling with up to 10 bits per component and up to 1 vertical decomposition. |
5 |
Profile_Main444 | Main 444 profile, 4:4:4 sampling with up to 12 bits per component and up to 1 vertical decomposition. |
6 |
Profile_Main4444 | Main 4444 profile, 4:4:4 sampling with optional alpha channel, with up to 12 bits per component and 1 vertical decomposition. |
7 |
Profile_High444 | High 444 profile, 4:4:4 sampling with up to 12 bits per component and 2 vertical decompositions. |
8 |
Profile_High4444 | High 4444 profile, 4:4:4 sampling with optional alpha channel, with up to 12 bits per component and 2 vertical decompositions. |
Property values for Sublevel
Value | Name | Description |
---|---|---|
0 |
Sublevel_Unrestricted | Unrestricted sublevel, without any limitation of the bandwidth. This does not define a compliance point. |
2 |
Sublevel_9bpp | 9bpp sublevel, restricting the bandwidth of the compressed signal to at most 9 bits per pixel. |
1 |
Sublevel_12bpp | 12bpp sublevel, restricting the bandwidth of the compressed signal to at most 12 bits per pixel. |
3 |
Sublevel_6bpp | 6bpp sublevel, restricting the bandwidth of the compressed signal to at most 6 bits per pixel. |
4 |
Sublevel_3bpp | 3bpp sublevel, restricting the bandwidth of the compressed signal to at most 3 bits per pixel. |
Property values for Level
Value | Name | Description |
---|---|---|
4 |
Level_4k3 | 4K-3 level: Image resolutions of up to 4096 × 2160 at 120Hz, or comparable resolutions not exceeding the same bandwidth. |
1 |
Level_2k1 | 2K-1 level: Image resolutions of up to 2048 × 1080 at 60Hz, or comparable resolutions not exceeding the same bandwidth. |
0 |
Level_Unrestricted | Unrestricted level, i.e. no limitations to the image dimensions apply beyond those imposed by available memory. Note that this does not define a compliance point. |
2 |
Level_4k1 | 4K-1 level: Image resolutions of up to 4096 × 2160 at 30Hz, or comparable resolutions not exceeding the same bandwidth. |
3 |
Level_4k2 | 4K-2 level: Image resolutions of up to 4096 × 2160 at 60Hz, or comparable resolutions not exceeding the same bandwidth. |
5 |
Level_8k1 | 8K-1 level: Image resolutions of up to 8192 × 4320 at 30Hz, or comparable resolutions not exceeding the same band-with. |
6 |
Level_8k2 | 8K-2 level: Image resolutions of up to 8192 × 4320 at 60Hz, or comparable resolutions not exceeding the same bandwidth. |
7 |
Level_8k3 | 8K-3 level: Image resolutions of up to 8192 × 4320 at 120Hz, or comparable resolutions not exceeding the same band-with. |
8 |
Level_10k1 | 10K-1 level: Image resolutions of up to 10240 × 5400 at 60Hz, or comparable resolutions not exceeding the same band-with. |
Property values for EntropyDecisionMode.
Value | Name | Description |
---|---|---|
1 |
Entropy_WNoPred | Disables vertical prediction during the lookahead phase of the rate allocator and hence simplifies the overall process of the rate allocation. Vertical prediction will be consid- ered only in the very last step of the rate allocation. This mode may miss some optimization opportunities, but works faster in general. The quality impact of this mode is typically negli- gible and this mode is recommended in general. |
0 |
Entropy_SubBand | The rate allocator selects the entropy coding mode per wavelet band. This is the most versatile method providing ideal image quality, though is also the slowest mode. |
2 |
Entropy_RAWOnly | Only allow the raw coding mode which disables any form of entropy coding at all. This causes a substantial coding overhead and a significant drop in image quality. This coding mode is not recommended, unless compatibility for some very limited implementations may require it, or complexity must be reduced to a minimum. |
3 |
Entropy_Predefined | In combination with the rate allocation modes MODE SIMPLE CBR and MODE VBR, only a more restrictive subset of possible prediction modes is checked and thus allows the encoder to operate faster. The expected speed-up in combination with the above rate allocation modes is between 10% to 20% with a quality loss of around 0.05dB. This decision mode is recommended for high-performance applications. |
[vpx ]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Bitstream profile (VP9)
Typically this maps to a set of features that are turned on or off. Often the profile to use is determined by the features of the intended decoder.
Supported in codecs : VP9
Note: Valid range: 0..3, default is 0.
Value | Meaning |
---|---|
0 |
8bit 4:2:0 |
1 |
8bit 4:4:4, 4:2:2, 4:4:0 |
2 |
10/12 bit 4:2:0 |
3 |
10/12 bit 4:2:2, 4:4:4, 4:4:0 |
Type: Int32
Codec control function to set the threshold for MBs treated static.
Supported in codecs: VP8, VP9
Type: Int32
Internal coded frame height.
If spatial resampling is enabled this specifies the height of the encoded frame.
Supported in codecs : VP8, VP9
Type: UInt
Specifies the number of image tile rows in log2(n)
units (VP9). Tiles are encoded on separate threads.
In encoding and decoding, VP9 allows an input image frame be partitioned into separated horizontal tile rows. Tile rows are encoded or decoded sequentially. Even though encoding/decoding of later tile rows depends on earlier ones, this allows the encoder to output data packets for tile rows prior to completely processing all tile rows in a frame, thereby reducing the latency in processing between input and output. The parameter for this control describes the number of tile rows, which has a valid range [0, 2]:
Value | Meaning |
---|---|
0 |
1 tile row |
1 |
2 tile rows |
2 |
4 tile rows |
Supported in codecs: VP9
Note: By default, the value is 0, i.e. one single row tile for entire image.
Type: Int32
control function to set noise sensitivity
Supported in codecs: VP8, VP9
Note: Valid range:
Value | Meaning | Supported Codecs |
---|---|---|
0 |
off | VP8, VP9 |
1 |
OnYOnly | VP8, VP9 |
2 |
OnYUV | VP8 |
3 |
OnYUVAggressive | VP8 |
4 |
Adaptive | VP8 |
Type: Int32
Maximum number of encoding threads.
For multi-threaded implementations, use no more than this number of threads.The codec may use fewer threads than allowed.The value 0 is equivalent to the value 1.
Supported in codecs : VP8, VP9
Note: Default is 1.
Type: UInt
Multi-pass Encoding Mode
This value should be set to the current phase for multi-pass encoding. For single pass, set to #VPX_RC_ONE_PASS.
Supported in codecs : VP8, VP9
Note: Valid range:
Value | Name | Description |
---|---|---|
0 |
ONE_PASS | Single pass mode |
1 |
FIRST_PASS | First pass of multi - pass mode |
2 |
LAST_PASS | Final pass of multi - pass mode |
Type: Int32
Enable error resilient modes.
The error resilient bitfield indicates to the encoder which features it should enable to take measures for streaming over lossy or noisy links.
Note: Valid range:
Value | Name | Description |
---|---|---|
1 |
DEFAULT | Improve resiliency against losses of whole frames |
2 |
PARTITIONS | The frame partitions are independently decodable by the bool decoder, meaning that partitions can be decoded even though earlier partitions have been lost. Note intra prediction is still done over the partition boundary. |
Type: Int32
Two-pass mode per-GOP minimum bitrate
This value, expressed as a percentage of the target bitrate, indicates the minimum bitrate to be used for a single GOP (aka ‘section’)
Supported in codecs: VP8, VP9
Type: UInt
Spatial resampling down watermark.
This threshold is described as a percentage of the target data buffer. When the data buffer falls below this percentage of fullness, the encoder will step down to a lower resolution version of the frame.
Supported in codecs : VP8, VP9
Type: UInt
Maximum number of frames used for forward prediction.
If set, this value allows the encoder to consume a number of input frames before producing output frames. This allows the encoder to base decisions for the current frame on future frames. This does increase the latency of the encoding pipeline, so it is not appropriate in all situations (ex: realtime encoding).
Note this is a maximum value – the encoder may produce frames sooner than the given limit. Set this value to 0 to disable this feature.
Supported in codecs: VP8, VP9
Type: UInt
Specifies the adaptive quantization mode.
VP9 has a segment based feature that allows encoder to adaptively change quantization parameter for each segment within a frame to improve the subjective quality. This control makes encoder operate in one of the several AQ_modes supported.
Supported in codecs: VP9
Valid range:
Value | Meaning |
---|---|
0 |
None |
1 |
Variance |
2 |
Complexity |
3 |
Cyclic Refresh |
Note: By default, encoder operates with AQ_Mode 0(adaptive quantization off).
Type: Int32
Enable/disable spatial resampling, if supported by the codec.
Spatial resampling allows the codec to compress a lower resolution version of the frame, which is then upscaled by the encoder to the correct presentation resolution. This increases visual quality at low data rates, at the expense of CPU time on the encoder/decoder.
Supported in codecs: VP8, VP9
Type: UInt
Codec control function to set encoder screen content mode.
Value | Meaning |
---|---|
0 |
Off |
1 |
On |
2 |
On with more aggressive rate control. |
Supported in codecs : VP8
Type: Int32
Internal coded frame width.
If spatial resampling is enabled this specifies the width of the encoded frame.
Supported in codecs : VP8, VP9
Type: UInt
Spatial resampling up watermark.
This threshold is described as a percentage of the target data buffer. When the data buffer rises above this percentage of fullness, the encoder will step up to a higher resolution version of the frame.
Supported in codecs : VP8, VP9
Type: UInt
Codec control function to set max data rate for Inter frames.
This value controls additional clamping on the maximum size of an inter frame. It is expressed as a percentage of the average per-frame bitrate, with the special (and default) value 0 meaning unlimited, or no additional clamping beyond the codec’s built-in algorithm.
For example, to allow no more than 4.5 frames worth of bitrate to an inter frame, set this to 450.
Supported in codecs : VP9
Type: Int32
Specifies the rate control method.
Indicates whether the end usage of this stream is to be streamed over a bandwidth constrained link, indicating that Constant Bit Rate (CBR) mode should be used, or whether it will be played back on a high bandwidth link, as from a local disk, where higher variations in bitrate are acceptable.
Supported in codecs : VP8, VP9
Note: Valid range:
Value | Meaning |
---|---|
0 |
Variable Bit Rate (VBR) |
1 |
CBR, Bit Rate (CBR) |
2 |
Constrained Quality (CQ) |
3 |
Constant Quality (Q) |
Type: Int32
Codec control function to enable automatic set and use alf frames.
Supported in codecs: VP8, VP9
Type: Bool
Target bit rate in kilobits pr second.
Supported in codecs : VP8, VP9
Type: Int64
Length of the sequence defining frame temporal layer membership.
This value specifies the length of the sequence that defines the membership of frames to temporal layers.For example, if the ts_periodicity = 8, then the frames are assigned to coding layers with a repeated sequence of length 8.
Supported in codecs : VP8, VP9
Type: UInt
Minimum (Highest Quality) Quantizer (0-63)
The quantizer is the most direct control over the quality of the encoded image. The range of valid values for the quantizer is codec specific. Consult the documentation for the codec to determine the values to use.
Supported in codecs: VP8, VP9
Type: UInt
Maximum (Lowest Quality) Quantizer (0-63)
The quantizer is the most direct control over the quality of the encoded image. The range of valid values for the quantizer is codec specific. Consult the documentation for the codec to determine the values to use.
Supported in codecs: VP8, VP9
Type: UInt
Rate control adaptation undershoot control
This value, expressed as a percentage of the target bitrate, controls the maximum allowed adaptation speed of the codec. This factor controls the maximum amount of bits that can be subtracted from the target bitrate in order to compensate for prior overshoot.
Supported in codecs: VP8, VP9
Note: Valid range: 0..100.
Type: UInt
Rate control adaptation overshoot control
This value, expressed as a percentage of the target bitrate, controls the maximum allowed adaptation speed of the codec. This factor controls the maximum amount of bits that can be added to the target bitrate in order to compensate for prior undershoot.
Supported in codecs: VP8, VP9
Note: Valid range: 0..100.
Type: UInt
Specifies the maximum buffer size in milliseconds.
Example: a value of 5000 indicates that the client will buffer (at least) 5000ms worth of encoded data. Use the target bitrate to convert to bits / bytes, if necessary.
Supported in codecs : VP8, VP9
Type: UInt
Tunes the encoder based on the content type.
Supported in codecs: VP9
Note: Valid range:
Value | Meaning |
---|---|
0 |
Default |
1 |
Video |
2 |
Screen |
Type: Int32
Codec control function to enable/disable periodic Q boost.
One VP9 encoder speed feature is to enable quality boost by lowering frame level Q periodically. This control function provides a mean to turn on/off this feature.
Value | Meaning |
---|---|
0 |
off |
1 |
on |
By default, the encoder is allowed to use this feature for appropriate encoding modes.
Note: Supported in codecs: VP9
Type: Bool
Specifies the amount of data to buffer before playback begins in milliseconds.
Use the target bitrate to convert to bits / bytes, if necessary. Supported in codecs : VP8, VP9
Type: UInt
Two-pass mode CBR/VBR bias
Bias, expressed on a scale of 0 to 100, for determining target size for the current frame.The value 0 indicates the optimal CBR mode value should be used.The value 100 indicates the optimal VBR mode value should be used.Values in between indicate which way the encoder should ‘lean.’
Note: RC mode bias between CBR and VBR(0..100: 0->CBR, 100->VBR)
Supported in codecs : VP8, VP9
Type: UInt
Codec control function to set the temporal layer id.
For temporal scalability: this control allows the application to set the layer id for each frame to be encoded. Note this control must be set for every frame prior to encoding. The usage of this control function supersedes the internal temporal pattern counter, which is now deprecated.
Supported in codecs: VP8
Type: Int32
Two-pass mode per-GOP maximum bitrate
This value, expressed as a percentage of the target bitrate, indicates the maximum bitrate to be used for a single GOP (aka ‘section’)
Supported in codecs: VP8, VP9
Type: UInt
Minimum keyframe interval.
This value, expressed as a number of frames, prevents the encoder from placing a keyframe nearer than kf_min_dist to the previous keyframe. At least MinGopLength frames non-keyframes will be coded before the next keyframe. Set MinGopLength equal to MaxGopLength for a fixed interval.
Supported in codecs: VP8, VP9
Type: UInt
Minimum interval between GF and ARF frames.
Note: Default is 4. Supported in codecs : VP9
Type: Int32
Number of temporal coding layers.
This value specifies the number of temporal layers to be used.
Note: Valid range: 0..5
Type: UInt
Maximum keyframe interval.
This value, expressed as a number of frames, forces the encoder to code a keyframe if one has not been coded in the last kf_max_dist frames. A value of 0 implies all frames will be keyframes. Set MaxGopLength equal to MinGopLength for a fixed interval.
Supported in codecs: VP8, VP9
Type: UInt
Number of spatial coding layers.
This value specifies the number of spatial coding layers to be used.
Supported in codecs : VP8, VP9
Note: Valid range: 0..5
Type: UInt
Temporal layering mode indicating which temporal layering scheme to use.
Supported in codecs: VP9
Note: Valid range:
Value | Meaning |
---|---|
0 |
NOLAYERING |
1 |
BYPASS |
2 |
0101 |
3 |
0212 |
Type: Int
Time to spend encoding a single frame, in microseconds.
The encoder supports the notion of a soft real - time deadline. Given a non - zero value to the deadline parameter, the encoder will make a ‘best effort ' guarantee to return before the given time slice expires. It is implicit that limiting the available time to encode will degrade the output quality.The encoder can be given an unlimited time to produce the best possible frame by specifying a deadline of ‘0’.This deadline supercedes the VPx notion of ‘best quality, good quality, realtime’. Applications that wish to map these former settings to the new deadline based system can use the value REALTIME = 1, GOOD_QUALITY = 1000000, and BEST_QUALITY = 0.
Supported in codecs : VP8, VP9
Type: Int32
Specifies the constrained quality level (0 to 63).
Note: For this value to be used RateControlMode must be to CQ=2. Supported in codecs: VP8, VP9
Type: Int32
Codec control function to set encoder scaling mode.
Supported in codecs: VP8, VP9
Note: Valid range: 0..3, default is ‘0’.
Value | Meaning |
---|---|
0 |
NORMAL, |
1 |
FOURFIVE, |
2 |
THREEFIVE, |
3 |
ONETWO, |
Type: Int32
Codec control function to set encoder scaling mode.
Supported in codecs: VP8, VP9
Note: Valid range: 0..3, default is ‘0’.
Value | Meaning |
---|---|
0 |
NORMAL, |
1 |
FOURFIVE, |
2 |
THREEFIVE, |
3 |
ONETWO, |
Type: Int32
Codec control function to set encoder internal speed settings.
Changes in this value influences, among others, the encoder’s selection of motion estimation methods.Values greater than 0 will increase encoder speed at the expense of quality.
Supported in codecs : VP8, VP9
Note: Valid range for VP8: -16..16 Valid range for VP9: -8..8
Type: Int32
Specifies the number of image tile columns in log2(n)
units (VP9). Tiles are encoded on separate threads.
In encoding and decoding, VP9 allows an input image frame be partitioned into separated vertical tile columns, which can be encoded or decoded independently. This enables easy implementation of parallel encoding and decoding. This control requests the encoder to use column tiles in encoding an input frame, with number of tile columns (in Log2 unit) as the parameter:
Value | Meaning |
---|---|
0 |
1 tile column |
1 |
2 tile columns |
2 |
4 tile columns |
n |
2**n tile columns |
The requested tile columns will be capped by encoder based on image size limitation (The minimum width of a tile column is 256 pixel, the maximum is 4096).
Supported in codecs: VP9
Note: By default, the value is 0, i.e. one single column tile for entire image.
Type: Int32
Codec control function to set sharpness.
Supported in codecs: VP8, VP9
Type: Int32
Number of entropy encoder data partitions in log2(n)
units
Supported in codecs: VP8
Note: Valid range:
Value | Meaning |
---|---|
0 |
1 Partition |
1 |
2 Partitions |
2 |
4 Partitions |
3 |
8 Partitions |
Type: Int32
Codec control function to set the max number of frames to create arf.
Supported in codecs: VP8, VP9
Type: Int32
Enables or disables frame parallel decoding (VP9).
VP9 has a bitstream feature to reduce decoding dependency between frames by turning off backward update of probability context used in encoding and decoding. This allows staged parallel processing of more than one video frames in the decoder. This control function provides a mean to turn this feature on or off for bitstreams produced by encoder.
By default, this feature is off.
Supported in codecs: VP9
Type: Bool
Codec control function to set the filter strength for the arf.
Supported in codecs: VP8, VP9
Type: Int32
Tunes the encoder based on a specific characteristic.
Supported in codecs: VP8, VP9
Note: Valid values:
Value | Meaning |
---|---|
0 |
PSNR |
1 |
SSIM |
Type: Int32
Codec control function to set Max data rate for Intra frames.
Per-frame bitrate, with the special (and default) value 0 meaning unlimited, or no additional clamping beyond the codec’s built-in algorithm.
For example, to allocate no more than 4.5 frames worth of bitrate to a keyframe, set this to 450.
Supported in codecs : VP8, VP9
Type: Int32
Codec control function to set reference and update frame flags.
Supported in codecs: VP8
Type: Int32
Codec control function to set color range bit.
Supported in codecs: VP9
Video range:
Value | Meaning |
---|---|
0 |
Narrow (16..235 or HBD equivalent) |
1 |
Full (0..255 or HBD equivalent) |
Type: Int32
Boost percentage for Golden Frame in CBR mode.
This value controls the amount of boost given to Golden Frame in CBR mode. It is expressed as a percentage of the average per-frame bitrate, with the special (and default) value 0 meaning the feature is off, i.e., no golden frame boost in CBR mode and average bitrate target is used.
For example, to allow 100 % more bits, i.e, 2X, in a golden frame than average frame, set this to 100.
Supported in codecs : VP9
Type: Int32
Codec control function to set lossless encoding mode.
VP9 can operate in lossless encoding mode, in which the bitstream produced will be able to decode and reconstruct a perfect copy of input source.This control function provides a mean to switch encoder into lossless coding mode (1) or normal coding mode (0) that may be lossy.
Value | Meaning |
---|---|
0 |
lossy coding mode |
1 |
lossless coding mode |
By default, encoder operates in normal coding mode (maybe lossy).
Supported in codecs : VP9
Type: Int32
Maximum interval between GF and ARF frames
Note: Default is 16. Supported in codecs : VP9
Type: Int32
[mjpg]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Specifies quality for JPEG compression from 1-100
Type: Int32
[mf64]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Rate control mode.
Valid values:
Note: Default is eAVEncCommonRateControlMode_UnconstrainedVBR.
Type: UInt32
Sets the average bit rate for the encoded bit stream, in bits per second.
This property is ignored if the rate control mode is eAVEncCommonRateControlMode_Quality.
Note: The default value is 10000000.
Type: UInt32
Sets the quality level.
This property applies when the rate control mode is quality-based VBR (eAVEncCommonRateControlMode_Quality).
Note: The valid range is 1-100. The default value is 70.
Type: UInt32
Minimum quantization parameter (QP)
Valid range: 0-51. This property applies to all rate control modes. The encoder should not produce a QP value lower than what is specified by the this property.
Note: The default value is 0.
Type: UInt32
Sets the adaptive encoding mode.
The H.264 encoder supports the following modes in Windows 8:
Name | Description |
---|---|
eAVEncAdaptiveMode_None | No adaptive encoding. (Default.) |
eAVEncAdaptiveMode_FrameRate | Adaptively change the frame rate. |
Type: UInt32
H.264 encoding profile.
The supported values are:
Type: UInt32
Specifies the H.264 encoding level.
Valid values include those from the eAVEncH264VLevel DIB_PROPERTY_ENUM.
Note: The default value is �1, indicating the encoder will select the encoding level.
Type: UInt32
For constrained VBR encoding, specifies the rate at which the ‘leaky bucket’ is drained, in bits per second.
This property applies when the rate control mode is eAVEncCommonRateControlMode_PeakConstrainedVBR.
Type: UInt32
Sets the buffer (HRD) size, in bytes, for constant bit rate (CBR) encoding.
Note: Default value is 0 to let the encoder decide its buffer size.
Type: UInt32
Sets the quality / speed tradeoff.
Valid range :
Value | Meaning |
---|---|
0-33 | Low complexity |
34-66 | Medium complexity (default) |
67-100 | High complexity |
Note: This value affects how the encoder performs various encoding operations, such as motion compensation. At higher complexity levels, the encoder runs more slowly but produces better quality at the same bit rate.
Type: UInt32
Enables or disables CABAC (context - adaptive binary arithmetic coding) for H.264 entropy coding.
Note: The default value is false. CABAC is not used for Baseline profile.
Type: Bool
Sets the maximum number of consecutive B frames in the output bitstream.
Valid values are:
Value | Meaning |
---|---|
0 |
Do not use B frames (default). |
1 |
Use one B frame. |
2 |
Use two B frames. |
Type: UInt32
Sets the number of pictures from one GOP header to the next, including the leading anchor but not the following one.
The valid range is[0 … 2���1]. If zero, the encoder selects the GOP size.
Note: The default value is zero.
Type: UInt32
Sets the number of worker threads used by a encoder.
The valid range is 0-16. If zero, the encoder selects the number of threads.
Type: UInt32
Indicates the type of video content for a video encoder.
Type: UInt32
Specifies the quantization parameter (QP) for video encoding.
Valid range : 16-51. This property applies when the rate control mode is eAVEncCommonRateControlMode_Quality.
Note: The default value is 24.
Type: UInt8
Maximum quantization parameter (QP)
Valid range : 0-51. This property applies to all rate control modes. The encoder should not produce a QP value greater than what is specified by the this property.
Note: The default value is 51.
Type: UInt32
Enables or disables low-latency mode.
The encoder defaults to slice encoding, to minimize latency. To enable multi - frame encoding, set the this property to false. In Windows 7, the encoder always uses slice encoding.
Type: Bool
[png ]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
[appr]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Indicates whether the alpha channel should be preserved if supported by the output format.
This property is only meaningful for input formats with an alpha channel.
Type: Bool
The number of threads the filter should use
Type: Int
[sav1]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
The minimum (best) quantization.
Only applicable when rate control mode is set to VBR. It has to be less than or equal to MaxQp.
Note: Values range from [0 - 63]. Defaults to 10.
Type: UInt32
Target bitrate in bits per second when RateControlMode is set to VBR or CVBR.
Note: Defaults to 7000000.
Type: UInt32
Defined set of coding tools to create bitstream.
Note: Defaults to Main
Type: Profiles
The maximum (worst) quantization.
Only applicable when rate control mode is set to VBR. It has to be greater than or equal to MinQp.
Note: Values range from [0 - 63]. Defaults to 63.
Type: UInt32
The quantization parameter used when RateControlMode is set to CQP.
Initial quantization parameter for the Intra pictures used under constant qp rate control mode.
Note: Values range from [0 - 63]. Defaults to 50.
Type: UInt32
Enable high dynamic range input mode.
Signals the input is HDR10 BT.2020 using SMPTE ST.2048.
Note: Defaults to true if PQ; otherwise, false.
Type: Bool
Defined set of coding tools to create bitstream.
Note: Defaults to CQP.
Type: RateControlModes
The VBV Buffer Size (in bits) when RateControlMode is CVBR.
Note: Defaults to 1 second at the target bit rate.
Type: UInt32
The number of hierarchical layers used to construct the GOP.
5-Level Hierarchy Minigop Size = (2^HierarchicalLevels) (e.g. 3 == > 7B pyramid, 4 == > 15B Pyramid)
Note: Defaults to 3.
Type: UInt32
The prediction structure used to construct the GOP.
There are two main structures supported which are: Low Delay (P or B) and Random Access.
In Low Delay structure, pictures within a mini GOP refer to the previously encoded pictures in display order. In other words, pictures with display order N can only be referenced by pictures with display order greater than N, and it can only reference pictures with picture order lower than N. The Low Delay structure can be a flat structured (e.g. IPPPPPPP…) or hierarchically structured. B/b pictures can be used instead of P/p pictures. However, the reference picture list 0 and the reference picture list 1 will contain the same reference picture.
In Random Access structure, the B/b pictures can refer to reference pictures from both directions (past and future).
Note: Defaults to RandomAccess.
Type: PredictionStructures
The intra period defines the interval of frames after which the encoder inserts an intra refresh.
It is strongly recommended to set the value to multiple of 8 minus 1 closest to 1 second (e.g. 55, 47, 31, 23 should be used for 60, 50, 30, (24 or 25) respectively.
Note: Valid values: [-2 - 2^31-2]; -2 = auto, -1 = no intra period. If RateControlMode is VBR or CVBR, IntraPeriod is limited to [-2, 255]. Defaults to -2.
Type: Int32
The intra refresh type.
Type: IntraRefreshTypes
Encoder quality vs. speed preset.
Note: Valid values: [0 - 8]; 0 = highest quality, 8 = highest speed. Defaults to 8.
Type: Int8
the look ahead distance in frames.
When RateControlMode is set to VBR or CVBR it’s best to set this parameter to be equal to the IntraPeriod value (such is the default set by the encoder). When CQP is chosen, then a (2 * minigopsize + 1) look ahead is recommended.
Note: Valid values: [0 - 120]
Type: UInt32
Valid values for the Profile property.
Value | Name | Description |
---|---|---|
0 |
Main | 4:2:0, allows bit depth of 8 or 10. |
1 |
High | 4:4:4, allows bit depths of 8 or 10. |
2 |
Professional | 4:2:0, 4:2:2, 4:4:4, allows bit depths of 8, 10, or 12. |
Valid values for the IntraRefreshType property.
Value | Name | Description |
---|---|---|
1 |
CRA | Open GOP. |
2 |
IDR | Closed GOP. |
Valid values for the PredictionStructure property.
Value | Name | Description |
---|---|---|
2 |
RandomAccess | Random Access |
0 |
LowDelayP | Low Delay P |
1 |
LowDelayB | Low Delay B |
Valid values for the RateControlMode property.
Value | Name | Description |
---|---|---|
0 |
CQP | Constant QP. |
1 |
VBR | Variable Bit Rate, achieve the target bitrate at entire stream. |
2 |
CVBR | Constrained Variable Bit Rate, achieve the target bitrate at each gop. |
[h262]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Desired log level of x264 api.
Note: Defaults to the current Dib Console log level.
Type: LogLevels
Encoding bitrate in bits per second.
Type: Int32
Log levels for the LogLevel property.
Value | Name | Description |
---|---|---|
-1 |
LL_NONE | None |
0 |
LL_ERROR | Error |
1 |
LL_WARNING | Warning |
2 |
LL_INFO | Info |
3 |
LL_DEBUG | Debug |
[h264]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
VBV fine tuning to avoid underflows when buffer size is signifcantly smaller than bitrate
Type: Float
Specifies the maximum allowable quantizer.
The opposite of QpMin, above. Defines the maximum quantizer that x264 can use. The default of 51 is the highest quantizer available for use in the H.264 spec, and is extremely low quality. This default effectively disables QpMax. You may want to set this lower (values in the 30-40 range are generally as low as you’d go) if you want to cap the minimum quality x264 can output, but adjusting it is generally not recommended.
Note: Default is 51 (8 bit)
Type: Int
Specifies a fixed interval between IDR frames.
Type: Int32
Specifies the encoding profile.
Type: ProfileType
Specifies the decoder level.
The value represents the Annex A level multiplied by 10. For example, the value 41 represents level ‘4.1’. The default value of -1 instructs the encoder to auto detect the level. This detection is not perfect and may underestimate the level if you are not using VBV. x264 will also automatically limit the DPB size to remain in compliance with the level you select (unless you also manually specify the DPB size).
Type: Levels
Specifies an encoding preset.
Type: Presets
Blu-ray Compatibility
Type: Int
SMPTE ST 2086 mastering display color volume SEI info.
Specified as a string which is parsed when the stream header SEI are emitted. The string format is ‘G(%hu,%hu)B(%hu,%hu)R(%hu,%hu)WP(%hu,%hu)L(%u,%u)’ where %hu are unsigned 16bit integers [0-50,000] and %u are unsigned 32bit integers [0-10,000]. The SEI includes X, Y display primaries for RGB channels and white point (WP) in units of 0.00002 and max, min luminance (L) values in units of 0.0001 candela per meter square. Applicable for HDR content.
For example, a P3D65 1000-nits monitor, where G(x=0.265,y=0.690),B(x=0.150,y=0.060),R(x=0.680,y=0.320),WP(x=0.3127,y=0.3290),L(max=1000,min=0.0001): G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)
Type: String
Specifies the minimum interval between IDR frames.
Type: Int
Average bit rate in bits/second.
Type: Int64
Tunes the encoder based on the input content.
Type: Tunings
Specifies the name of the input statistics file.
Type: String
Specifies the B frame placement algorithm.
Value | Meaning |
---|---|
0 |
Disables |
1 |
Fast |
2 |
Optimal |
Type: Int32
Specifies the maximum interval between IDR frames.
Type: Int32
Specifies the minimum allowable quantizer.
Defines the minimum quantizer that x264 will ever use. The lower the quantizer, the closer the output is to the input. At some point, the output of x264 will look the same as the input, even though it is not exactly the same. Usually there is no reason to allow x264 to spend more bits than this on any particular macroblock.
With adaptive quantization enabled (the default), raising QpMin is discouraged because this could reduce the quality of flat background areas of the frame.
Note: Default is 0.
Type: Int
Specifies the encoder options as an x264 command line.
Type: String
Maximum Frame Average Light Level (MaxFALL).
Specified as an integer that indicates the maximum frame average intensity level in units of 1 candela per square metre of the bitstream. x265 will also calculate MaxFALL programmatically from the input pixel values and set in the Content light level info SEI.
Type: Int
Sets the threshold for I/IDR frame placement.
x264 calculates a metric for every frame to estimate how different it is from the previous frame. If the value is lower than scenecut, a ‘scenecut’ is detected. An I-frame is placed if it has been less than MinKeyFrameInterval frames since the last IDR-frame, otherwise an IDR-frame is placed. Higher values of scenecut increase the number of scenecuts detected. Setting to 0 is disables scene cut detection.
Type: Int32
Specifies the adaptive quantizer bias towards low detail macro blocks.
Note: Default is 1.0.
Type: Float
Enables or disables open GOP encoding.
Type: Bool
Deblocking Filter
Type: Int32
Specifies the maximum number of consecutive B frames.
Type: Int32
Allows the use of B frames as references for other frames.
Value | Meaning |
---|---|
0 |
No B references |
1 |
One B frame reference |
2 |
Multiple B references |
Type: Int32
Specifies the maximum number of previous frames referenced by a P frame.
Note: The range is 0 - 16 where the default is 3.
Type: Int32
Enables writing the statistics file during the current encode pass.
Type: Bool
Specifies the constant rate factor.
Note: Default is 23.
Type: Float
Specifies the number of rectangular slices per frame.
Note: Default is 0.
Type: Int32
Deblocking Beta
Type: Int32
Specifies the rate control method
Value | Method |
---|---|
0 |
Constant quantizer |
1 |
Constant rate factor |
2 |
Average bitrate |
Type: Int32
Lib Path
Type: String
Specifies the number of look ahead frames use for rate control.
Note: Default is 40.
Type: Int32
Specifies the constant quantizer in the range 0 (lossless) to 51 (8 bit) or 63 (10 bit).
Note: Default is 10.
Type: Int32
Specifies the quantizer ratio of I frames relative to P frames.
Note: Default is 1.4.
Type: Float
Removes the SEI message containing the x265 command line options.
By default x264 adds an unregistered user data sei message containing the compressor’s command line options. Setting this property to true will remove the sei message.
Note: Defaults to false.
Type: Bool
Specifies the quantizer ratio of P frames relative to B frames.
Note: Default is 1.3.
Type: Double
Sets the VBV Buffer fullness before playback starts.
If it is less than 1, the the initial fill is: VbvBufferInit * VbvSize. Otherwise it is interpreted as the initial fill in kbits.
Note: Default is 0.9.
Type: Int32
Specifies the maximum change in the quantizer between frames.
Note: Default is 4.
Type: Int
Specifies the maximum fill rate for the VBV buffer.
Type: Int32
Emits an AUD NAL unit for each access unit.
Type: Bool
Specifies the size of the VBV buffer in bits.
Type: Int32
Enables the use of weighted prediction to improve compression in P-frames.
Value | Meaning |
---|---|
0 |
Disabled |
1 |
Blind Offset |
2 |
Smart analysis |
Type: Int32
Indicates the souce content type
Value | Meaning |
---|---|
0 |
Component |
1 |
PAL |
2 |
NTS |
3 |
SECAM |
4 |
MAC |
5 |
Unspecified |
Type: Int32
Performs fast noise reduction.
Estimates film noise based on this value and attempts to remove it by dropping small details before quantization. This may not match the quality of a good external noise reduction filter, but it performs very fast.
Type: Int32
Variable Framerate
Type: Int32
Repeats the VPS, SPS and PPS NAL units in each I frame.
Type: Bool
Indicates whether to signal HRD information:
Value | Method |
---|---|
0 |
None |
1 |
VBR |
2 |
CBR |
Type: Bool
Forces the insertion of pic_struct in SEI Picture Timing messages.
Type: Bool
Maximum Content light level (MaxCLL).
Specified as an integer that indicates the maximum pixel intensity level in units of 1 candela per square metre of the bitstream. x265 will also calculate MaxCLL programmatically from the input pixel values and set in the Content light level info SEI.
Type: Int
Desired log level of x264 api.
Note: Defaults to the current Dib Console log level.
Type: LOG_LEVEL
Specifies the name of the output statistics file
Type: String
Enables reading the statistics file from a previous encode pass.
Type: Bool
Use Cabac
Type: Int32
Sets the subpixel estimation complexity.
Set the subpixel estimation complexity. Higher numbers are better. Levels 1-5 simply control the subpixel refinement strength. Level 6 enables RDO for mode decision, and level 8 enables RDO for motion vectors and intra prediction modes. RDO levels are significantly slower than the previous levels. Using a value less than 2 will enable a faster, and lower quality lookahead mode, as well as cause poorer –scenecut decisions to be made, and thus it is not recommended.
Possible Values:
Value | Meaning |
---|---|
0 | fullpel only |
1 | QPel SAD 1 iteration |
2 | QPel SATD 2 iterations |
3 | HPel on MB then QPel |
4 | Always QPel |
5 | Multi QPel + bi-directional motion estimation |
6 | RD on I/P frames |
7 | RD on all frames |
8 | RD refinement on I/P frames |
9 | RD refinement on all frames |
10 | QP-RD (requires –trellis=2, –aq-mode > 0) |
Note: Default is 7
Type: Int
Sets the maximum (vertical) range of any one motion vector in pixels.
Level | Value |
---|---|
Level 1/1b | 64 |
Level 1.1-2.0 | 128 |
Level 2.1-3.0 | 256 |
Level 3.1+ | 512 |
Note: If you want to manually override the mvrange, subtract 0.25 from the above values when setting (eg –mvrange 127.75). Default is -1.
Type: Int32
Deblocking Alpha
Type: Int32
Controls the max range of the motion search in pixels.
For hex and dia, the range is clamped to 4-16, with a default of 16. For umh and esa, it can be increased beyond the default 16 to allow for a wider-range motion search, which is useful on HD footage and for high-motion footage.
Note: For umh, esa, and tesa, increasing merange will significantly slow down encoding. Default is 16.
Type: Int32
Set the full-pixel motion estimation method.
Valid methods include:
Type: Int32
Marks a stream as interlaced even when not encoding as interlaced.
Allows encoding of 25p and 30p Blu-ray compliant videos.
Type: Int32
Flag indicating whether the encoder should emit an End of Bitstream NAL at the end of bitstream.
Note: Default is false.
Type: Bool
Flag indicating whether the encoder should emit an End of Sequence NAL at the end of every Coded Video Sequence.
Note: Default is false.
Type: Bool
Valid values for the Level property
Value | Name | Description |
---|---|---|
22 |
Level_2_2 | Level 2.2 |
-1 |
Level_Auto | Auto detect |
10 |
Level_1_0 | Level 1.0 |
11 |
Level_1_1 | Level 1.1 |
12 |
Level_1_2 | Level 1.2 |
13 |
Level_1_3 | Level 1.3 |
20 |
Level_2_0 | Level 2.0 |
21 |
Level_2_1 | Level 2.1 |
30 |
Level_3_0 | Level 3.0 |
31 |
Level_3_1 | Level 3.1 |
32 |
Level_3_2 | Level 3.2 |
40 |
Level_4_0 | Level 4.0 |
41 |
Level_4_1 | Level 4.1 |
42 |
Level_4_2 | Level 4.2 |
50 |
Level_5_0 | Level 5.0 |
51 |
Level_5_1 | Level 5.1 |
Log levels for the LogLevel property.
Value | Name | Description |
---|---|---|
-1 |
LL_NONE | None |
0 |
LL_ERROR | Error |
1 |
LL_WARNING | Warning |
2 |
LL_INFO | Info |
3 |
LL_DEBUG | Debug |
[h265]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Specifies the minimum interval between IDR frames.
Type: Int
Specifies an encoding preset
Type: Presets
Specifies the encoding profile
Type: Profiles
Specifies the decoder level. The value represents the level multiplied by 10 for example a value of 51 represents level ‘5.1’.
Note: The default value 0 instructs the encoder to auto detect the level.
Type: Int
Repeats the VPS, SPS and PPS NAL units in each I frame.
Note: Default true for AnnexB.
Type: Bool
Tunes the encoder based on a specific characteristic.
Type: Tunings
Specifies the constant quantizer in the range 0 (lossless) to 51 (8 bit) or 63 (10 bit).
Note: The default is 10.
Type: Int
Specifies the maximum interval between IDR frames.
If 0 or 1, all frames are I frames. A negative value is casted to MAX_INT internally which effectively makes frame 0 the only I frame.
Note: Default is 250.
Type: Int
Specifies the encoder options as an x265 command line.
Type: String
Enables a more detailed first pass encode.
Type: Bool
Specifies a fixed interval between IDR frames.
Type: Int32
Sets the threshold for I/IDR frame placement.
x265 calculates a metric for every frame to estimate how different it is from the previous frame. If the value is lower than scenecut, a ‘scenecut’ is detected. An I-frame is placed if it has been less than MinKeyFrameInterval frames since the last IDR-frame, otherwise an IDR-frame is placed. Higher values of scenecut increase the number of scenecuts detected. Setting to 0 is disables scene cut detection.
Type: Int32
Specifies the file name for the multiple pass statistics file.
Input can be encoded multiple times, storing the encoded information of each pass in a stats file from which the consecutive pass tunes the qp of each frame to improve the quality of the output.
Note: If unspecified the encoder will default to using ‘x265_2pass.log’.
Type: String
Enables or disables open GOP encoding.
Type: Bool
Specifies the maximum number off consecutive B frames.
Type: Int
Emits Buffering Period and Picture Timing SEI messages.
Type: Bool
Specifies the B frame placement algorithm.
Value | Meaning |
---|---|
0 |
Disables |
1 |
Fast |
2 |
Optimal |
Type: Int
Allows the use of B frames as references for other frames.
Value | Meaning |
---|---|
0 |
No B references |
1 |
One B frame reference |
2 |
Multiple B references |
Type: Int
Removes the SEI message containing the x265 command line options.
By default x265 adds an unregistered user data sei message containing the compressor’s command line options. Setting this property to true will remove the sei message.
Note: Defaults to false.
Type: Bool
Enables stricter conditions to control bitrate deviance from the target bitrate in ABR mode.
This option is for use-cases which require the final average bitrate to be within very strict limits of the target; preventing overshoots, while keeping the bit rate within 5% of the target setting, especially in short segment encodes. Typically, the encoder stays conservative, waiting until there is enough feedback in terms of encoded frames to control QP. strict-cbr allows the encoder to be more aggressive in hitting the target bitrate even for short segment videos.
Note: Bit rate adherence is prioritized over quality. Rate tolerance is reduced to 50%. Default disabled. Experimental.
Type: Bool
Specifies the maximum number of previous frames referenced by a P frame.
Note: The range 0-16 where the default is 3.
Type: Int
Enables writing the statistics file during the current encode pass.
Type: Bool
Specifies the number of rectangular slices per frame.
Maximum count of Slices of picture, the value range is [1, maximum rows].
Note: Default is 0.
Type: Int
Specifies the rate control method.
Type: RateControlMethods
Emits default mastering display and content light level HDR SEI messages.
Enables the emitting of HDR SEI packets which contains HDR-specific params. Auto-enabled when max-cll, max-fall, or mastering display info is specified.
Note: Default is disabled.
Type: Bool
Specifies the number of look ahead frames used for rate control.
Note: Default is 40.
Type: Int
Enables reading the statistics file from a previous encode pass.
Type: Bool
Specifies the quantizer ratio of I frames relative to P frames.
Note: Default is 1.4.
Type: Double
Specifies the quantizer ratio of P frames relative to B frames.
Note: Default is 1.3.
Type: Double
Specifies the rate factore.
Targets a certain constant ‘quality’. Acceptable values between 0 and 51.
Note: Default value: 28
Type: Double
Optimize L0 and L1 ref list length in PPS (instead of default value of 0) based on the lengths observed in the last GOP.
With this enabled the L0 and L1 ref list lengths will be adjusted in a new PPS on each GOP.
Note: Default true.
Type: Bool
Specifies the adaptive quantizer bias towards low detail macro blocks.
Note: Default is 23.
Type: Double
Specifies the average (or constant) bit rate in bits/second.
Type: Int64
Specify the size of the VBV buffer (kbits). Enables VBV in ABR mode.
In CRF mode, vbv-maxrate must also be specified.
Note: Default 0 (vbv disabled)
Type: Int
Initial buffer occupancy. Determines absolute maximum frame size.
The portion of the decode buffer which must be full before the decoder will begin decoding.
Note: Specified as a percentage, 0-100. Default 90.
Type: Double
Maximum local bitrate (kbits/sec).
Will be used only if vbv-bufsize is also non-zero. Both vbv-bufsize and vbv-maxrate are required to enable VBV in CRF mode. Note when VBV is enabled (with a valid vbv-bufsize), VBV emergency denoising is turned on. This will turn on aggressive denoising at the frame level when frame QP > QP_MAX_SPEC (51), drastically reducing bitrate and allowing ratecontrol to assign lower QPs for the following frames. The visual effect is blurring, but removes significant blocking / displacement artifacts.
Note: Default 0 (disabled)
Type: Int
Indicates the souce content type
Value | Meaning |
---|---|
0 |
Component |
1 |
PAL |
2 |
NTS |
3 |
SECAM |
4 |
MAC |
5 |
Unspecified |
Type: Int32
Emits an AUD NAL unit for each access unit.
Note: Default true for AnnexB.
Type: Bool
Specifies the HDR10 maximum content light level in candelas per square meter.
Specified as an integer that indicates the maximum pixel intensity level in units of 1 candela per square metre of the bitstream. x265 will also calculate MaxCLL programmatically from the input pixel values and set in the Content light level info SEI.
Type: UInt16
Specifies the HDR10 maximum frame average light level in candelas per square meter.
Specified as an integer that indicates the maximum frame average intensity level in units of 1 candela per square metre of the bitstream. x265 will also calculate MaxFALL programmatically from the input pixel values and set in the Content light level info SEI.
Type: UInt16
Specifies the ST2086 display information.
Specified as a string which is parsed when the stream header SEI are emitted. The string format is �G(%hu,%hu)B(%hu,%hu)R(%hu,%hu)WP(%hu,%hu)L(%u,%u)� where %hu are unsigned 16bit integers [0-50,000] and %u are unsigned 32bit integers [0-10,000]. The SEI includes X, Y display primaries for RGB channels and white point (WP) in units of 0.00002 and max, min luminance (L) values in units of 0.0001 candela per meter square. Applicable for HDR content.
For example, a P3D65 1000-nits monitor, where G(x=0.265,y=0.690),B(x=0.150,y=0.060),R(x=0.680,y=0.320),WP(x=0.3127,y=0.3290),L(max=1000,min=0.0001): G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)
Type: String
Desired log level of x265 api.
Values can be:
Value | Meaning |
---|---|
0 |
X265_LOG_ERROR |
1 |
X265_LOG_WARNING |
2 |
X265_LOG_INFO |
3 |
X265_LOG_DEBUG |
4 |
X265_LOG_FULL |
Note: Defaults to the current Dib Console log level.
Type: Int
Emits an alternative transfer characteristics SEI message.
Adds the alternative transfercharacteristics SEI message to the h265 bit stream.
Note: Default is disabled (TransferCharacteristics::Unspecified=2), which indicates the message should not be added.
See Also: TransferCharacteristics
Type: Int
Optimize QP in PPS (instead of default value of 26) based on the QP values observed in last GOP.
With this enabled the QP will be adjusted in a new PPS on each GOP.
Note: Default true.
Type: Bool
Indicates whether to insert A72 captions into the encoded stream.
Type: Bool
Add luma and chroma offsets for HDR/WCG content.
Input video should be 10 bit 4:2:0. Applicable for HDR content.
Note: Default false
Type: Bool
Preset enumeration
Value | Name | Description |
---|---|---|
7 |
Slower | slower |
4 |
Fast | fast |
0 |
UltraFast | ultrafast |
1 |
SuperFast | superfast |
2 |
VeryFast | veryfast |
3 |
Faster | faster |
5 |
Medium | medium (Default) |
6 |
Slow | slow |
8 |
VerySlow | veryslow |
Profile enumeration
Value | Name | Description |
---|---|---|
4 |
MainIntra | Main Intra |
2 |
MainStillPicture | Main Still Picture |
0 |
Main | Main |
1 |
Main10 | Main 10 bit |
3 |
MSP | MainStillPicture alias |
6 |
Main444_8 | Main 4:4:4 |
5 |
Main10Intra | Main 10 bit Intra |
7 |
Main444_8_Intra | Main 4:4:4 Intra |
9 |
Main422_10 | Main 4:2:2 10 bit |
10 |
Main422_10_Intra | Main 4:2:2 10 bit Intra |
11 |
Main444_10 | Main 4:4:4 10 bit |
12 |
Main444_10_Intra | Main 4:4:4 10 bit Intra |
13 |
Main12 | Main 12 bit |
14 |
Main12Intra | Main 12 bit Intra |
15 |
Main422_12 | Main 4:2:2 12 bit |
16 |
Main422_12_Intra | Main 4:2:2 12 bit Intra |
17 |
Main444_12 | Main 4:4:4 12 bit |
18 |
Main444_12_Intra | Main 4:4:4 12 bit Intra |
Tuning enumeration
Value | Name | Description |
---|---|---|
2 |
Grain | Grain |
0 |
Psnr | PSNR |
4 |
FastDecode | Fast Decode |
1 |
SSIM | SSIM |
3 |
ZeroLatency | Zero Latency |
RateControlMode enumeration
Value | Name | Description |
---|---|---|
0 |
ABR | Average bitrate |
1 |
CQP | Constant quantizer (CQP) |
2 |
CRF | Constant rate factor (CRF) |
3 |
CBR | Constant bit rate (CBR) |
[a264]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Read only property to determine which adapter is the Intel QuickSync adapter for D3D11.
Type: Int32
Read only property to determine which adapter is the Intel QuickSync adapter for D3D9.
Type: Int32
Specifies Encoder usage type.
Type: UsageType
Enable High motion quality boost mode
Note: Default = depends on USAGE
Type: Bool
Enables low latency mode and POC mode 2 in the encoder
Type: Bool
Max number of LTR frames
Type: Int
Specifies the H.264 encoding profile.
Type: ProfileType
Indicates the level (ten times) to which the coded video sequence conforms
Depending on level_id, there are several limits, e.g. maximum frame size, bitrate, or motion vector range.
Type: Int
CABAC enable
Note: Default = AMF_VIDEO_ENCODER_UNDEFINED
Type: CodingType
Maximum number of reference frames
Type: Int
Rate Control Method
Note: Default = depends on USAGE
Type: RateControlMethod
Enables the pre-analysis module.
Currently only works in AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD_PEAK_CONSTRAINED_VBR mode. Refer to AMF Video PreAnalysis API reference for more details.
Note: Default is false
Type: Bool
Enables pre-encode assisted rate control
Note: Default = AMF_VIDEO_ENCODER_PREENCODE_DISABLED;
Type: PreencodeMode
Quality Preset
Note: Default = depends on USAGE
Type: QualityPreset
B-picture Delta
Note: Default = depends on USAGE
Type: Int
Reference B-picture Delta
Note: Default = depends on USAGE
Type: Int
Enforce HRD
Note: Default = depends on USAGE
Type: Bool
B-frame QP; range = 0-51
Note: Default = 22
Type: Int
Filler Data Enable
Note: Default = false
Type: Bool
Enable VBAQ
Note: Default = depends on USAGE
Type: Bool
Max AU Size in bits
Note: Default = 0
Type: Int
VBV Buffer Size in bits
Note: Default = depends on USAGE
Type: Int
Initial VBV Buffer Fullness 0=0% 64=100%
Note: Default = 64
Type: Int
Min QP; range = 0-51
Note: Default = depends on USAGE
Type: Int
Max QP; range = 0-51
Note: Default = depends on USAGE
Type: Int
IDR Period in frames
Note: Default = depends on USAGE;
Type: Int32
I-frame QP; range = 0-51
Note: Default = 22
Type: Int
P-frame QP; range = 0-51
Note: Default = 22
Type: Int
Specifies the requested average bitrate of encoded stream in bits-per-seconds.
Note: Default = depends on USAGE
Type: Int
Enable Reference to B-frames
Note: Default = true
Type: Bool
Peak bit rate in bits
Note: Default = depends on USAGE
Type: Int
Rate Control Based Frame Skip
Note: Default = depends on USAGE
Type: Bool
Number of slices Per Frame
Note: Default = 1
Type: Int
Header Insertion Spacing; range 0-1000
Note: Default = depends on USAGE
Type: Int
B-picture Pattern (number of B-Frames)
Note: Default = 3
Type: Int
De-blocking Filter
Note: Default = depends on USAGE
Type: Bool
Intra Refresh MBs Number Per Slot in Macroblocks
Note: Default = depends on USAGE
Type: Int32
Half Pixel
Note: Default= true
Type: Bool
Quarter Pixel
Note: Default= true
Type: Bool
Property values.
Value | Name | Description |
---|---|---|
0 |
Progressive | Progressive |
1 |
Interlaced | Interlaced |
Property values for Usage.
Value | Name | Description |
---|---|---|
0 |
Transcoding | Transcoding |
2 |
LowLatency | Low latency |
1 |
UltraLowLatency | Ultra low latency |
3 |
Webcam | Webcam |
Property values for Profile.
Value | Name | Description |
---|---|---|
256 |
ContrainedBaseline | Contrained baseline |
100 |
High | High |
0 |
Unknow | Unknown |
257 |
ContrainedHigh | Contrained high |
66 |
Baseline | Baseline |
77 |
Main | Main |
Property values for RateControlMethod
Value | Name | Description |
---|---|---|
-1 |
Unknown | Unknown |
2 |
PeakConstrainedVbr | Peak constrained Vbr |
0 |
ConstantQp | Constant Qp |
1 |
Cbr | Cbr |
3 |
LatencyConstrainedVbr | Latency constrained Vbr |
Property values for QualityPreset.
Value | Name | Description |
---|---|---|
0 |
Balanced | Balanced |
1 |
Speed | Speed |
2 |
Quality | Quality |
Property values for CodingType.
Value | Name | Description |
---|---|---|
2 |
Calv | Calv (baseline) |
0 |
Undefined | Undefined |
1 |
Cabac | Cabac (high) |
Property values for RateControlPreanalysisEnable.
Value | Name | Description |
---|---|---|
0 |
Disabled | Disabled |
1 |
Enabled | Enabled |
[n264]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Defines the frame size in bytes for B-frames.
Type: Int
Enables the specific 8x8 intra prediction mode for intra frames.
Note: 8x8 needs high profile.
Type: Bool
Used to mark I-pictures as an instantaneous decoding refresh (IDR) access unit.
Value | Meaning |
---|---|
0 |
only first picture will be IDR |
1 |
every I-picture will be IDR |
2 |
every second I-picture will be IDR |
n |
every nth I-picture will be IDR |
Type: Int
Specifies a standard or manufacturer defined encoding constraint.
Type: ContstraintType
Quantization parameter for P-slices.
Note: Used whem RateControlMethod is TQM.
Type: Int
Completely disables the H.264 loop filter.
Type: Bool
Specifies the H.264 encoding profile.
Type: ProfileType
Guarantees there is always an IDR frame at each multiple of a GOP length.
Note: The value specified by MaximumIDRInterval will determine the fixed GOP length.
Type: Bool
Specifies the bitrate control method.
Type: RateControlMethodType
Indicates the level (ten times) to which the coded video sequence conforms
Depending on level_id, there are several limits, e.g. maximum frame size, bitrate, or motion vector range.
Type: Int
Specifies the number of B frames between consecutive anchor frames.
Note: If this value is set to 0, there will be no B frames generated.
Type: Int
Defines the frame size in bytes for I-frames.
Type: Int
Enables the scene change detection algorithm.
The encoder inserts an IDR frame in case of a detected scene change.
Type: Bool
Sets the buffer size of the hypothetical reference decoder (HRD).
Type: Int
Sets the number of frames before a key frame has to be inserted.
If this field is 1 only I frames are generated (Range is 1…300).
Type: Int
Defines the maximum frame size in bytes for I-frames.
Type: Int
Turns on adaptive B-frames, which allows the encoder to determine the number of B-frames to use, depending on sequence complexity.
Type: Bool
Allows the encoder to use B-slices as a reference frame for P-frames.
Type: Bool
Allows usage of pyramid B-pictures coding.
Type: Bool
Sets the entropy coding mode.
CABAC is offers 10-15 % improved compression, especially at low bitrates. Using CAVLC results in an improved decoding performance, especially at high bitrates. CABAC is not allowed in Baseline Profile.
Type: EntropyCodingType
Specifies whether video is encoded frame-based or field-based.
MBAFF, or Macroblock-Adaptive Frame/Field Coding, is a video encoding feature of MPEG-4 AVC that allows a single frame to be encoded partly progressive and partly interlaced.
Note: Defaults to Frame when progressive and Field when interlaced.
Type: InterlaceModeType
Defines the frame size in bytes for P-frames.
Type: Int
Sets the maximum number of reference frames that can be used.
Referenced frames are frames that refer to other frames (e.g. if both frames are similar). Having a high number of reference frames will improve quality but slow up encoding. For typical content, 3 to 5 reference frames is recommended.
Type: Int
Specifies the number of frames to encode simultaneously for intra-only constraints.
Best utilized for intra only compression.
Note: Defaults to 1.
Type: Int
Enables writing a single NALU for each SEI message.
Type: Int
Enables the specific 4x4 intra prediction mode for intra frames.
Type: Bool
Sets the maximum range of the motion search in pixel units.
Type: Int
Sets the range for macroblock adaptive quantization.
Positive values denote coarser quantization for complexity higher than the average frame complexity for the current picture and vice versa. Available range for every element is -100 to +100.
Note: Default value is 0 (disabled).
Type: Int
Sets the maximum slice size in bytes, including estimated NAL overhead.
Note: Default value is 0 (disabled).
Type: Int
Specifies the requested average bitrate of encoded stream in bits-per-seconds.
Type: Int
Quantization parameter for B-slices.
Note: Used whem RateControlMethod is TQM.
Type: Int
Specifies the maximum bitrate of encoded stream in bits-per-seconds.
Only used for VBR.
Note: This is the hypothetical stream scheduler (HSS) delivery rate and not real maximum bitrate.
Type: Int
Sets the representation of the pictures.
Type: VideoFormatType
Disables or enables the HRD buffer model conformance.
Type: Bool
Defines the maximum frame size in bytes for B-frames.
Type: Int
Specifies the offset used for the deblocking filtering operations.
Note: The value shall be in the range of -6 to +6, inclusive.
Type: Int
Enables the specific 16x16 intra prediction mode for intra frames.
Type: Bool
Specifies the offset used for the deblocking filtering operations.
Note: The value shall be in the range of -6 to +6, inclusive.
Type: Int
Defines the CPU acceleration to be used during encoding.
Type: CpuModeType
Sets the number of slices per frame.
Type: Int
Specifies the sequence parameter set (SPS) value of frame_mbs_only_flag.
Type: Bool
Enables the specific 16x16 intra prediction mode for inter frames (P or B).
Type: Bool
Enables the specific 4x4 intra prediction mode for inter frames (P or B).
Type: Bool
Enables the specific 8x8 intra prediction mode for inter frames (P or B).
Note: 8x8 needs high profile.
Type: Bool
Enables statistics like PSNR and FPS.
Note: Slows down the performance due some additional encoder calculations.
Type: Bool
Defines the number of threads to be used during encoding.
Note: A value of 0 indicates the encoder should choose the most appropriate value.
Type: Int
Controls when to write the sequence parameter set.
Type: WriteParameterSetType
Controls when to write the picture parameter set.
Type: WriteParameterSetType
Defines the maximum frame size in bytes for P-frames.
Type: Int
Defines the maximum frame size in bytes for reference B-frames.
Type: Int
Defines the frame size in bytes for reference B-frames.
Type: Int
Quantization parameter for I-slices.
Note: Used whem RateControlMethod is TQM.
Type: Int
Property values for Constraint.
Value | Name | Description |
---|---|---|
110 |
XAVC_HD_Intra_50_CBG | Sony XAVC HD Intra CBG Profile Class 50 XD Style |
3 |
Intra_200 | AVC Intra Class 200 |
0 |
Unconstrained | Unconstrained |
1 |
Intra_50 | AVC Intra Class 50 |
2 |
Intra_100 | AVC Intra Class 100 |
10 |
Intra_4K_422 | Panasonic AVC Intra 4K 4:2:2 |
11 |
Intra_2K_422 | Panasonic AVC Intra 2K 4:2:2 |
20 |
LongGOP_422_G50 | Panasonic AVC-LongGOP 4:2:2 Class G50 (50 Mbps) |
21 |
LongGOP_422_G25 | Panasonic AVC-LongGOP 4:2:2 Class G25 (25 Mbps) |
12 |
Intra_HD_422 | Panasonic AVC Intra HD 4:2:2 |
22 |
LongGOP_420_G12 | Panasonic AVC-LongGOP 4:2:0 Class G12 (12 Mbps) |
23 |
LongGOP_420_G6 | Panasonic AVC-LongGOP 4:2:0 Class G6 (6 Mbps) |
112 |
XAVC_HD_Intra_200_CBG | Sony XAVC HD Intra CBG Profile Class 200 XD Style |
40 |
Intra_50_RP2027 | RP2027 Intra Class 50 |
41 |
Intra_100_RP2027 | RP2027 Intra Class 100 |
42 |
Intra_200_RP2027 | RP2027 Intra Class 200 |
50 |
XAVC_HD_LongGOP_422_XD_25 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (25 Mbps) for XD Style |
51 |
XAVC_HD_LongGOP_422_XD_35 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (35 Mbps) for XD Style |
52 |
XAVC_HD_LongGOP_422_XD_50 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (50 Mbps) for XD Style |
60 |
XAVC_HD_LongGOP_420_M4_40 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (40 Mbps) for M4 Style |
61 |
XAVC_HD_LongGOP_420_M4_80 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (80 Mbps) for M4 Style |
62 |
XAVC_HD_LongGOP_420_M4_126 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (126 Mbps) for M4 Style |
63 |
XAVC_HD_LongGOP_420_M4_156 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (156 Mbps) for M4 Style |
113 |
XAVC_HD_Intra_100_VBR | Sony XAVC HD Intra VBR Profile Class 100 M4 Style |
64 |
XAVC_HD_LongGOP_420_M4_188 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (188 Mbps) for M4 Style |
70 |
XAVC_4K_LongGOP_420_XD_188 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (188 Mbps) for XD Style |
71 |
XAVC_4K_LongGOP_420_XD_300 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (300 Mbps) for XD Style |
80 |
XAVC_4K_LongGOP_422_XD_100 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (100 Mbps) for XD Style |
81 |
XAVC_4K_LongGOP_422_XD_140 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (140 Mbps) for XD Style |
82 |
XAVC_4K_LongGOP_422_XD_200 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (200 Mbps) for XD Style |
90 |
XAVC_4K_LongGOP_420_M4_188 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (188 Mbps) for M4 Style |
91 |
XAVC_4K_LongGOP_420_M4_300 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (300 Mbps) for M4 Style |
111 |
XAVC_HD_Intra_100_CBG | Sony XAVC HD Intra CBG Profile Class 100 XD Style |
114 |
XAVC_2K_Intra_100_CBG | Sony XAVC 2K Intra CBG Class 100 XD Style |
115 |
XAVC_4K_Intra_300_CBG | Sony XAVC 4K Intra CBG Class 300 XD Style |
116 |
XAVC_4K_Intra_480_CBG | Sony XAVC 4K Intra CBG Class 480 XD Style |
117 |
XAVC_2K_Intra_100_VBR | Sony XAVC 2K Intra VBR Class 100 XD Style |
118 |
XAVC_4K_Intra_300_VBR | Sony XAVC 4K Intra VBR Class 300 XD Style |
119 |
XAVC_4K_Intra_480_VBR | Sony XAVC 4K Intra VBR Class 480 XD Style |
Property values for CpuMode.
Value | Name | Description |
---|---|---|
0 |
Auto | Auto |
6 |
SSE3 | SSE3 |
1 |
None | None (No optimization, just plain C) |
5 |
SSE2 | SSE2 |
8 |
AVX | AVX |
7 |
SSE4 | SSE4 (4.1 and 4.2) |
H.264 encoding profiles.
Value | Name | Description |
---|---|---|
5 |
High_422 | 4:2:2 10-bit high |
0 |
Baseline | Baseline |
2 |
Extended | Extended |
1 |
Main | Main |
3 |
High | High |
4 |
High_10 | 4:2:0 10-bit high |
6 |
High_444 | 4:4:4 10-bit high, not yet supported |
Property values for AdaptiveBSlices.
Value | Name | Description |
---|---|---|
0 |
CAVLC | Context Adaptive Varaible Length Coding |
1 |
CABAC | Context Adaptive Binary Arithmetic Coding |
Property values for RateControlMethod
Value | Name | Description |
---|---|---|
0 |
CBR | Constant BitRate |
3 |
TQM | Target quality mode |
1 |
VBR | Variable BitRate |
2 |
Intra | Intra Only |
Property values for WritePPS and WriteSPS.
Value | Name | Description |
---|---|---|
0 |
IDR | For each IDR frame |
1 |
I | For each I frame |
Property values for InterlaceMode
Value | Name | Description |
---|---|---|
0 |
Frame | Frame-based encoding |
1 |
Field | Field-based encoding, encode every frame as 2 field pictures. |
2 |
MBAFF | Macroblock adaptive frame / field encoding (use for interlaced Intra profiles only) |
Property values for VideoFormat.
Value | Name | Description |
---|---|---|
1 |
PAL | PAL |
2 |
NTSC | NTSC |
[cano]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Indicates whether the alpha channel should be preserved if supported by the output format.
This property is only meaningful for input formats with an alpha channel.
Type: Bool
Specifies the quantization factor in the range of 4 to 19 for HQ and 0 to 18 for HQX. A smaller value results in higher image quality.
Note: Defaults to 4.
Quality | CompressionRatio | QuantizationScale |
---|---|---|
Fine | 40 |
4 |
Standard | 30 |
5 |
Type: Int32
Configures the maximum number of threads to use for encoding.
Note: Defaults to 0 (automatic).
Type: Int32
Specifies the maximum compressed bit rate as a percentage (4 - 100) of the uncompressed rate.
Example of percentages as ratios:
Percentage | Ratio |
---|---|
4 |
25:1 |
10 |
10:1 |
20 |
5:1 |
100 |
1:1 |
You can set this to limit the frame size which increases inadvertently as a result of excessive noise in the video. Setting a value of 100 means the same bitrate before codec compression. Set within the range 4 to 100.
Quality | CompressionRatio | QuantizationScale |
---|---|---|
Fine | 40 |
4 |
Standard | 30 |
5 |
Note: Defaults to 40.
Type: Int32
[cfhd]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
The encoding quality level.
Type: QUALITY
Quality enumeration.
Value | Name | Description |
---|---|---|
1792 |
QUALITY_SEVEN_EIGHTH_UNCOMPRESSED | Quality 7/8 uncompressed |
3 |
QUALITY_HIGH | Quality high |
0 |
QUALITY_FIXED | Quality fixed: also interpreted as unset as there is no CBR mode. |
4 |
QUALITY_FILMSCAN1 | Quality FilmScan1 |
1 |
QUALITY_LOW | Quality low |
2 |
QUALITY_MEDIUM | Quality medium |
256 |
QUALITY_ONE_EIGHTH_UNCOMPRESSED | Quality 1/8 uncompressed |
5 |
QUALITY_FILMSCAN2 | Quality FilmScan2 |
6 |
QUALITY_FILMSCAN3 | Quality FilmScan3: overkill but useful for get higher data-rates from animation or extremely clean sources |
512 |
QUALITY_QUARTER_UNCOMPRESSED | Quality 1/4 uncompressed |
768 |
QUALITY_THREE_EIGHTH_UNCOMPRESSED | Quality 3/8 uncompressed |
1024 |
QUALITY_HALF_UNCOMPRESSED | Quality 1/2 uncompressed |
1280 |
QUALITY_FIVE_EIGHTH_UNCOMPRESSED | Quality 5/8 uncompressed |
1536 |
QUALITY_THREE_QUARTER_UNCOMPRESSED | Quality 3/4 uncompressed |
4096 |
QUALITY_UNCOMPRESSED | Quality uncompressed |
4 |
QUALITY_DEFAULT | Quality default is Quality FilmScan1 |
[mc64]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Specifies the requested average bitrate of encoded stream in bits-per-seconds.
Type: Int
Specifies a standard or manufacturer defined encoding constraint.
Type: ContstraintType
Configuration file name as a string.
Type: String
Enforce Max Frame Sizes
Frame sizes are included in an array that defines values which limit the maximum number of frame bits for each frame type. [0] = I frame, [1] = P frame, [2] = B frame and [3]= B frames used as reference.
Type: Bool
Key Frame Interval
Type: Int32
Video Type
Type | Value |
---|---|
H264_BASELINE | 0 |
H264_MAIN | 2 |
H264_HIGH | 5 |
H264_HIGH_10 | 6 |
H264_HIGH_422 | 7 |
Type: Int32
Metadata file name as a string.
Type: String
Speed/quality encoding preset.
Valid range: 0 (the fastest encoding speed) to 15 (the best quality)
Note: Recommended value is 9
Type: Int32
Sets the analysis pass.
Note: True for quick first encoding pass performing only analysis. False for the real encoding pass.
Type: Bool
Property values for Constraint.
Value | Name | Description |
---|---|---|
110 |
XAVC_HD_Intra_50_CBG | Sony XAVC HD Intra CBG Profile Class 50 XD Style |
3 |
Intra_200 | AVC Intra Class 200 |
0 |
Unconstrained | Unconstrained |
1 |
Intra_50 | AVC Intra Class 50 |
2 |
Intra_100 | AVC Intra Class 100 |
10 |
Intra_4K_422 | Panasonic AVC Intra 4K 4:2:2 |
11 |
Intra_2K_422 | Panasonic AVC Intra 2K 4:2:2 |
20 |
LongGOP_422_G50 | Panasonic AVC-LongGOP 4:2:2 Class G50 (50 Mbps) |
21 |
LongGOP_422_G25 | Panasonic AVC-LongGOP 4:2:2 Class G25 (25 Mbps) |
12 |
Intra_HD_422 | Panasonic AVC Intra HD 4:2:2 |
22 |
LongGOP_420_G12 | Panasonic AVC-LongGOP 4:2:0 Class G12 (12 Mbps) |
23 |
LongGOP_420_G6 | Panasonic AVC-LongGOP 4:2:0 Class G6 (6 Mbps) |
112 |
XAVC_HD_Intra_200_CBG | Sony XAVC HD Intra CBG Profile Class 200 XD Style |
40 |
Intra_50_RP2027 | RP2027 Intra Class 50 |
41 |
Intra_100_RP2027 | RP2027 Intra Class 100 |
42 |
Intra_200_RP2027 | RP2027 Intra Class 200 |
50 |
XAVC_HD_LongGOP_422_XD_25 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (25 Mbps) for XD Style |
51 |
XAVC_HD_LongGOP_422_XD_35 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (35 Mbps) for XD Style |
52 |
XAVC_HD_LongGOP_422_XD_50 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (50 Mbps) for XD Style |
60 |
XAVC_HD_LongGOP_420_M4_40 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (40 Mbps) for M4 Style |
61 |
XAVC_HD_LongGOP_420_M4_80 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (80 Mbps) for M4 Style |
62 |
XAVC_HD_LongGOP_420_M4_126 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (126 Mbps) for M4 Style |
63 |
XAVC_HD_LongGOP_420_M4_156 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (156 Mbps) for M4 Style |
113 |
XAVC_HD_Intra_100_VBR | Sony XAVC HD Intra VBR Profile Class 100 M4 Style |
64 |
XAVC_HD_LongGOP_420_M4_188 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (188 Mbps) for M4 Style |
70 |
XAVC_4K_LongGOP_420_XD_188 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (188 Mbps) for XD Style |
71 |
XAVC_4K_LongGOP_420_XD_300 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (300 Mbps) for XD Style |
80 |
XAVC_4K_LongGOP_422_XD_100 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (100 Mbps) for XD Style |
81 |
XAVC_4K_LongGOP_422_XD_140 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (140 Mbps) for XD Style |
82 |
XAVC_4K_LongGOP_422_XD_200 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (200 Mbps) for XD Style |
90 |
XAVC_4K_LongGOP_420_M4_188 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (188 Mbps) for M4 Style |
91 |
XAVC_4K_LongGOP_420_M4_300 | Sony XAVC Long GOP HD 4:2:0 8-bit Profile (300 Mbps) for M4 Style |
111 |
XAVC_HD_Intra_100_CBG | Sony XAVC HD Intra CBG Profile Class 100 XD Style |
114 |
XAVC_2K_Intra_100_CBG | Sony XAVC 2K Intra CBG Class 100 XD Style |
115 |
XAVC_4K_Intra_300_CBG | Sony XAVC 4K Intra CBG Class 300 XD Style |
116 |
XAVC_4K_Intra_480_CBG | Sony XAVC 4K Intra CBG Class 480 XD Style |
117 |
XAVC_2K_Intra_100_VBR | Sony XAVC 2K Intra VBR Class 100 XD Style |
118 |
XAVC_4K_Intra_300_VBR | Sony XAVC 4K Intra VBR Class 300 XD Style |
119 |
XAVC_4K_Intra_480_VBR | Sony XAVC 4K Intra VBR Class 480 XD Style |
[mcm2]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Average bit rate in bits/second.
Type: Int64
Sets the mode of two-pass encoding.
If true; Analyze mode. If false; encoding mode.
Type: Bool
Configuration file name as a string.
Type: String
Enable Key Frame Adjustment
Type: Bool
Key Frame Adjustment
Type: Int32
Padded Duration
Type: Int32
Key Frame Padded Duration
Type: Int32
Indicates that each GOP should be closed (no reference to frames in a previous GOP).
Type: Bool
Specifies the encoding profile.
Type: ProfileType
Format A53 To C708
Type: Bool
This field specifies whether the timecode in the GOP is drop-frame or non drop-frame and how the PTS values are computed.
It is only used if the frame rate is 29.97, and if set the input video must be 30fps to work correctly. If set, the timecode in the GOP is drop-frame and the PTS’s generated for the multiplexer are for 30fps video.
Value | Meaning |
---|---|
0 | non drop-frame |
1 | drop-frame |
Type: Bool
Format Scte To C608 Field 1
Type: Bool
Format Scte21 To C608 Field 1
Type: Bool
Number of frames in the GOP (distance between successive I frames).
Type: Int32
Int32
The value is the number of frames to be considered as the starting time of this stream. If the desired start time is 1 minute and the frame rate is 30fps, the value to set here would be 1 * 60 seconds/min * 30 frames/sec = 1800.
Note: Range is 0-5399999 (default is 0)
Distance between I and P frames. For example, M=3 produces 2 B frames.
Type: Int32
This field specifies the distance of closed GOPs
Value | Meaning |
---|---|
0 | no closed GOP |
1 | every GOP is closed |
2 | every second GOP is closed |
3 | every third GOP is closed |
n | every n-th GOP is closed |
Type: Int32
Indicates that the first frame (in coded order) must be an I frame.
Type: Bool
This field specifies the motion search type used.
The low bit 0 is used to enable half pel motion search, bit 1..4 are the motion search mode.
Bit | Value | Meaning |
---|---|---|
0 | 0 | Don’t use half pel motion searching |
0 | SEARCH_HALF_PEL | Use half pel motion searching |
1..4 | 0.. | No motion search (fast) |
1..4 | ..7.. | Middle motion search method, medium quality |
1..4 | ..15.. | Best motion search method, high quality |
1..4 | SEARCH_DIAMOND | Faster than 4 and better quality than 6 |
Type: UInt8
Optimize For Low Bitrates
Type: Bool
Specifies the endowing level.
Type: LevelType
Specifies the chroma subsampling.
Valid values include:
Value | Meaning |
---|---|
0 |
4:2:0 |
1 |
4:2:2 |
Type: Int32
This field specifies the effective precision of the DC coefficient in MPEG-2 intra coded macroblocks.
10-bits usually achieves quality saturation. This field must be 0 for MPEG-1 video.
Value | Meaning |
---|---|
0 | 8 bit (must be zero for MPEG-1, default for SVCD) |
1 | 9 bit (default in all other MPEG-2 presets) |
2 | 10 bit |
3 | 11 bit (only valid with high profile) |
Type: Int32
Vbv Delay
Type: Int32
This field specifies the size of the virtual buffer verifier in 2K byte (2048) units.
If set to 0, the encoder will compute an appropriate value. For MPEG-1 the range is 10 .. 1023, for MPEG-2 the maximum values depend on the profile/level selected (minimum = 10). ATSC specifies a maximum VBV size of 488.
Profile | Value | Meaning |
---|---|---|
High Profile | 746 | High Level |
597 | High Level 1440 | |
149 | Main Level | |
Main Profile | 597 | High Level |
448 | High Level 1440 | |
112 | Main Level | |
29 | Low Level | |
Simple Profile | 112 | Main Level |
4:2:2 Profile | 2880 | High Level |
576 | Main Level |
Type: Int32
Type: Int32
This field indicates whether the encoder should encode in constant or variable bitrate mode.
Value | Meaning |
---|---|
VBR_CONSTANT | constant bitrate (default) |
VBR_VARIABLE1 | variable bitrate |
VBR_CQT | constant quantization |
VBR_CQT_STRICT | strict constant quantization |
Type: BitrateModeType
Minimum instant bit rate for variable bitrate mode.
Type: Int64
Maximum instant bit rate for variable bitrate mode.
Type: Int64
This field specifies whether the encoder writes a sequence end code at the end of the stream.
Type: Bool
Enables user-defined quantisation matrices for intra and non-intra macroblocks.
Type: Bool
Metadata file name as a string.
Type: String
Profile values.
Value | Name | Description |
---|---|---|
7 |
PROFILE_422 | 4:2:2 |
5 |
PROFILE_SIMPLE | Simple |
4 |
PROFILE_MAIN | Main |
1 |
PROFILE_HIGH | High |
Level values.
Value | Name | Description |
---|---|---|
10 |
LEVEL_LOW | Low |
6 |
LEVEL_HIGH1440 | High 1440 (this raster) |
8 |
LEVEL_MAIN | Main |
4 |
LEVEL_HIGH | High |
BitrateMode values.
Value | Name | Description |
---|---|---|
0 |
VBR_VARIABLE1 | variable bitrate |
1 |
VBR_CONSTANT | constant bitrate |
3 |
VBR_CQT_STRICT | strict constant quantization |
2 |
VBR_CQT | constant quantization |
[mcdv]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
[b264]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Sets the configuration file name.
The encoder may be fully configured through the configuration file.
Type: String
[nven]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Set to 1 to enable gradual decoder refresh or intra refresh.
If the GOP structure uses B frames this will be ignored
Type: UInt32
@brief Determines the mode of computation.
@details This property is used to select which mode of computation to use.
@note Defaults to Auto.
@note type: ComputeModes
Specifies the codec profile.
If client specifies NV_ENC_CODEC_PROFILE_AUTOSELECT_GUID the NvEncodeAPI interface will select the appropriate codec profile.
Value | Meaning |
---|---|
0 |
NV_ENC_CODEC_PROFILE_AUTOSELECT_GUID |
1 |
NV_ENC_H264_PROFILE_BASELINE_GUID |
2 |
NV_ENC_H264_PROFILE_MAIN_GUID |
3 |
NV_ENC_H264_PROFILE_HIGH_GUID |
4 |
NV_ENC_HEVC_PROFILE_MAIN_GUID |
5 |
NV_ENC_HEVC_PROFILE_MAIN10_GUID |
Type: UInt32
Specifies the performance presets. Performance degrades and quality improves as we move from P1 to P7.
If the preset is set then the preset configuration will be applied before any other parameter.
Value | Meaning |
---|---|
1 |
NV_ENC_PRESET_P1_GUID |
2 |
NV_ENC_PRESET_P2_GUID |
3 |
NV_ENC_PRESET_P3_GUID |
4 |
NV_ENC_PRESET_P4_GUID |
5 |
NV_ENC_PRESET_P5_GUID |
6 |
NV_ENC_PRESET_P6_GUID |
7 |
NV_ENC_PRESET_P7_GUID |
Type: UInt32
If true not emit SPS or PPS in bitStream and do not add them for every keyframe
Type: Bool
Specifies the requested average bitrate of encoded stream in bits-per-seconds.
Type: Int
Tuning information of NVENC encoding.
Value | Meaning |
---|---|
1 |
NV_ENC_TUNING_INFO_HIGH_QUALITY |
2 |
NV_ENC_TUNING_INFO_LOW_LATENCY |
3 |
NV_ENC_TUNING_INFO_ULTRA_LOW_LATENCY |
4 |
NV_ENC_TUNING_INFO_LOSSLESS |
Type: UInt32
If true force the insertion of picture timing SEI messages
Type: Bool
Specifies the GOP pattern as follows: FrameIntervalP = NumBFrames + 1 FrameIntervalP = 0: I, 1: IPP, 2: IBP, 3: IBBP
Type: UInt32
Specifies the target Constant Quality level for VBR mode (range 0-51 with 0-automatic).
Note: The encoder tries to maintain constant quality for each frame, by allowing the bitrate to vary subject to the bitrate parameter specified in maxBitRate. The resulting average bitrate can, therefore, vary significantly depending on the video content being encoded. If MaxBitRate is not specified, the encoder will use as many bits as needed to achieve the target quality. However, if MaxBitRate is set, it will form an upper bound on the actual bitrate. If maxBitRate is set too low in this mode, the bitrate may become constrained, resulting in the desired target quality possibly not being achieved
Type: Double
Specifies the number of pictures in one GOP.
Low latency application client can set goplength to NVENC_INFINITE_GOPLENGTH so that keyframes are not inserted automatically.
Type: UInt32
Specifies encoding level
Value | Meaning |
---|---|
0 |
NV_ENC_LEVEL_AUTOSELECT |
30 |
NV_ENC_LEVEL_H264_3 |
31 |
NV_ENC_LEVEL_H264_31 |
32 |
NV_ENC_LEVEL_H264_32 |
40 |
NV_ENC_LEVEL_H264_4 |
41 |
NV_ENC_LEVEL_H264_41 |
42 |
NV_ENC_LEVEL_H264_42 |
50 |
NV_ENC_LEVEL_H264_5 |
51 |
NV_ENC_LEVEL_H264_51 |
150 |
NV_ENC_LEVEL_HEVC_5 |
153 |
NV_ENC_LEVEL_HEVC_51 |
156 |
NV_ENC_LEVEL_HEVC_52 |
180 |
NV_ENC_LEVEL_HEVC_6 |
183 |
NV_ENC_LEVEL_HEVC_61 |
186 |
NV_ENC_LEVEL_HEVC_62 |
Type: UInt32
Specifies H264/H265 IDR interval
Type: UInt32
The number of frames to be looked ahead (the current max value is 32).
Note: Only used if EnableLookahead is set to true
Type: UInt32
Enables adaptive I-frame insertion at scene cuts
Type: UInt32
Specifies the DPB size used for encoding.
Type: UInt32
Specifies whether video is encoded frame-based or field-based.
MBAFF, or Macroblock-Adaptive Frame/Field Coding, is a video encoding feature of MPEG-4 AVC that allows a single frame to be encoded partly progressive and partly interlaced.
NV_ENC_PARAMS_FRAME_FIELD_MODE_FRAME = 0x01, /< Frame mode */ NV_ENC_PARAMS_FRAME_FIELD_MODE_FIELD = 0x02, /< Field mode */ NV_ENC_PARAMS_FRAME_FIELD_MODE_MBAFF = 0x03 /**< MB adaptive frame/field */
Note: Defaults to Frame when progressive and Field when interlaced.
Type: UInt32
Specifies rate control mode.
Value | Name | Description |
---|---|---|
0x0 |
NV_ENC_PARAMS_RC_CONSTQP | |
0x1 |
NV_ENC_PARAMS_RC_VBR | |
0x2 |
NV_ENC_PARAMS_RC_CBR |
Type: Int32
Multi Pass encoding mode.
Value | Name | Description |
---|---|---|
0x0 |
NV_ENC_MULTI_PASS_DISABLED | Single Pass |
0x1 |
NV_ENC_TWO_PASS_QUARTER_RESOLUTION | Two Pass encoding is enabled where first Pass is quarter resolution |
0x2 |
NV_ENC_TWO_PASS_FULL_RESOLUTION | Two Pass encoding is enabled where first Pass is full resolution |
Type: UInt32
Specifies the VBV(HRD) buffer size in bits.
Note: Set 0 to use the default VBV buffer size.
Type: UInt32
Specifies the VBV(HRD) initial delay in bits.
Note: Set to 0 to use the default VBV initial delay. Reasonable default 9/10 VbvBufferSize.
Type: UInt32
HRD compliance on/off for CBR encodes.
Type: Bool
Enables spatial adaptive quantization
Type: Bool
Quantization parameter, range [0, 63]
Note: Reasonable default 28, 0 == lossless, same for I,P,B frames.
Type: UInt32
Enables spatial adaptive quantization
Note: When is enabled, used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive). If set to 0, strength is auto selected by driver..
Type: UInt32
Enables lookahead
Type: Bool
Enables temporal adaptive quantization
Type: Bool
Specifies the number of frames between successive intra refresh.
Type: UInt32
Specifies the length of intra refresh in number of frames for periodic intra refresh.
Note: This value should be smaller than IntraRefreshPeriod
Type: UInt32
This dynamic property will check whether the input properties specify CGraphicsContextExtension that is compatible with nvenc.
Wirecast will query this compressor when beginning output to decide whether to pass the compressor video samples backed by GPU memory (Direct3D9Surface) or CPU host memory,
Type: Bool
This dynamic property will check whether the input properties specify CGraphicsContextExtension that is compatible with nvenc.
Wirecast will query this compressor when beginning output to decide whether to pass the compressor video samples backed by GPU memory (Direct3D11Surface) or CPU host memory,
Type: Bool
If true do not use variable frame rate
Type: Bool
@type Int32
Display aspect ratio width
Type: UInt32
Display aspect ratio height
Type: UInt32
Release initial encode buffers (for Capture)
Type: Bool
Maximum Content light level (MaxCLL).
Specified as an integer that indicates the maximum pixel intensity level in units of 1 candela per square metre of the bitstream. x265 will also calculate MaxCLL programmatically from the input pixel values and set in the Content light level info SEI.
Type: Int
Color primaries
Type: UInt32
Maximum Frame Average Light Level (MaxFALL).
Specified as an integer that indicates the maximum frame average intensity level in units of 1 candela per square metre of the bitstream. x265 will also calculate MaxFALL programmatically from the input pixel values and set in the Content light level info SEI.
Type: Int
Transfer characteristics
Type: UInt32
Matrix coefficients
Type: UInt32
SMPTE ST 2086 mastering display color volume SEI info.
Specified as a string which is parsed when the stream header SEI are emitted. The string format is �G(%hu,%hu)B(%hu,%hu)R(%hu,%hu)WP(%hu,%hu)L(%u,%u)� where %hu are unsigned 16bit integers [0-50,000] and %u are unsigned 32bit integers [0-10,000]. The SEI includes X, Y display primaries for RGB channels and white point (WP) in units of 0.00002 and max, min luminance (L) values in units of 0.0001 candela per meter square. Applicable for HDR content.
For example, a P3D65 1000-nits monitor, where G(x=0.265,y=0.690),B(x=0.150,y=0.060),R(x=0.680,y=0.320),WP(x=0.3127,y=0.3290),L(max=1000,min=0.0001): G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)
Type: String
Specifies the preferred Nvidia device ID.
If the GPU with the specified device ID supports all the required features, it will be used; otherwise, the first GPU that meets the requirements will be used by default.
Type: UInt32
Emits an AUD NAL unit for each access unit.
Type: Bool
@brief Determines the internal Nvenc api command line parameters.
@details This property is used to configure the internal Nvenc api.
@type String
Valid values for the ComputeMode property.
Value | Name | Description |
---|
[wmv ]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Rate control method.
Note: Default is OnePassVBR. Currently, two pass encoding is not supported.
Type: CodingMethodType
Key frame interval in ms.
Note: Default is 3000.
Type: Int32
Encoding profile.
Note: Default is Main.
Type: ProfileType
Encoding complexity.
Note: Default is LiveFast.
Type: ComplexityType
Number of consecutive b-frames between two anchor frames.
Valid values range from 0 - 7.
Note: Default is 0. Currently b-frames are not supported.
Type: Int32
Size of encoder buffer in ms.
Note: Default is 5000.
Type: Int32
Encoding bitrate in bits per second.
Note: Default is 10000000.
Type: Int32
Encoding quality.
Valid values range from 0 - 100.
Note: Default is 80.
Type: Int32
Constraint bitrate in bits per second.
Note: Default is 0.
Type: Int32
If true start codes are inserted.
Note: Default is false.
Type: Bool
Valid values for the Profile property.
Value | Name | Description |
---|---|---|
0 |
Simple | Simple |
1 |
Main | Main (default) |
2 |
Broadcast | Broadcast |
Valid values for the CodingMethod property.
Value | Name | Description |
---|---|---|
0 |
OnePassCBR | OnePassCBR |
1 |
TwoPassCBR | TwoPassCBR |
2 |
OnePassVBR | OnePassVBR |
4 |
TwoPassConstrainedVBR | TwoPassConstrainedVBR |
3 |
TwoPassVBR | TwoPassVBR |
Valid values for the Complexity property.
Value | Name | Description |
---|---|---|
0 |
LiveFast | Live fast (default) |
1 |
LiveNormal | Live normal |
2 |
OfflineFast | Offline fast |
3 |
OfflineNormal | Offline normal |
4 |
OfflineSlow | Offline slow |
[xpvc]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Compression qualtiy.
Valid values range from [0, 10000].
Note: Default is 8000.
Type: Int32
[cj2k]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Represents the availablilty of the device.
Determines if the devices in the Devices array is supported.
Note: Read only.
Type: Bool
Configures the level of logging.
Valid values are enumerated by the LOG_LEVEL DIB_PROPERTY_ENUM.
Note: Defaults to the current Dib Console log level.
Type: LOG_LEVEL
Configures encoder to use MCT (multi-component transformation).
Note: Defaults to false.
Type: Bool
Configures the number of CPU threads to use.
Note: Defaults to 0 (use all available cores).
Type: Int32
Configures encoder to use TLM marker segments (describes the length of the tile-parts).
Note: Defaults to false.
Type: Bool
Configures encoder to use EPH marker segments (end of packet header).
Note: Defaults to false.
Type: Bool
Specifies the maximum encode bit rate.
Note: Defaults to 1 Mbit/second.
Type: Int32
Configures encoder to use SOP marker segments (start of packet header).
Note: Defaults to false.
Type: Bool
Selects mode that can speed up the encoding, with some precision trade-off.
Note: Defaults to EM_DEFAULT, full precision.
Type: ENCODING_MODE
Configures encoder to use lossless or lossy compression.
A value of false implies a 9-7 irreversible transform filter while true implies a 5-3 reversible transform. This property determines the value of SPcod.H in the COD marker. See ISO/IEC 15444-1:2016 table A.20.
Note: Defaults to false, lossy compression (9-7 irreversible transform).
Type: Bool
Adds a comment marker segment to the codestream.
For interlaced codestream, the comment will be added to both fields.
Type: Sring
Specifies the encoding profile.
This property is used to select which encoding profile to use. Valid values are enumerated by the PROFILE DIB_PROPERTY_ENUM.
Note: Defaults to PRF_NONE.
Type: Int32 PROFILE
Limits overall memory usage of specified device (in mega-bytes).
Use 0 for no limit.
Note: Defaults to 0.
Type: Int32
Limits maximum bitrate and sampling rate.
Used only in broadcast or IMF profiles.
If Profile is any of the IMF profiles, possible values for this property range from 0 - 11, 0 for no control.
Note: Defaults to 0, for no control.
Type: Int32
Specifies the minimum compressed frame size.
Frames are null padded to meet the minimum size specified. Each field in an interlaced frame will be padded by half the required size.
Note: Defaults to 0.
Type: Int32
Limits maximum bitrate and sampling rate.
Used only in IMF profiles.
If Profile is any of the IMF profiles, possible values for this property range from 0 - 9, 0 for no control.
Note: Defaults to 0, for no control.
Type: Int32
Configures the number of guard bits.
Valid values range from 0-7.
Note: Defaults to 2.
Type: Int32
Configures the number of decomposition levels to be applied.
Valid values range from 1-min (ceil (log (width)), 32).
Note: Defaults to ceil (log2 (width))) - 5.
Type: Int32
Configures encoder to divide all encoded images into tiles of given width.
To disable division into tiles use 0 for both TileWidth and TileHeight.
Note: Defaults to 0.
Type: Int32
Configures encoder to divide all encoded images into tiles of given height.
To disable division into tiles, use 0 for both TileWidth and TileHeight.
Note: Defaults to 0.
Type: Int32
Configures encoder to use codeblocks of given width.
The packets are further divided into non-overlapping rectangular code-blocks, which are the fundamental entities in the entropy coding operation. By operating the entropy coder on relatively small code-blocks, the original and working data of the entire code-blocks can reside in the cache of the CPU during the entropy coding operation, thus greatly improves the encoding and decoding speed. In JPEG 2000, the default size of a code-block is 32x32.
Note: Defaults to 32.
Type: Int32
Configures encoder to use codeblocks of given height.
The packets are further divided into non-overlapping rectangular code-blocks, which are the fundamental entities in the entropy coding operation. By operating the entropy coder on relatively small code-blocks, the original and working data of the entire code-blocks can reside in the cache of the CPU during the entropy coding operation, thus greatly improves the encoding and decoding speed. In JPEG 2000, the default size of a code-block is 32x32.
Note: Defaults to 32.
Type: Int32
Configures encoder to use precincts of given width.
Must be a power of 2.
Note: Defaults to 256.
Type: Int32
Configures encoder to use precincts of given height.
Must be a power of 2.
Note: Defaults to 256.
Type: Int32
Configures encoder to use given quantization coefficient.
Valid values range from 0-1.
The quantization process converts the wavelet coefficients from a floating point number into an integer number. In a non-embedded image coding scheme such as JPEG, the quantization process determines the allowable distortion of the transform coefficients, as the quantization result is losslessly encoded. However, in JPEG 2000, the quantized coefficients are embedded coded, thus additional distortion can be introduced in the following entropy coding steps. The main function of the quantization module is thus to map the coefficients into an integer so that they can be more efficiently processed by the entropy coding module. The image coding quality is not solely determined by the quantization step size, but by the subsequent bitstream assembler. The default quantization step size is thus rather fine, e.g., 1/2.
Note: Defaults to 1/2.
Type: Float
Specifies the bit depth of each color component.
Note: Defaults to input sample bit depth.
Type: Int32
Determines the number of devices and their capabilities.
This property is used to determine the available devices.
Each item in the array contains two or three properties used to indicate the device index, if it is supported, and optionally the open cl platform index. Use the DeviceIndex, Supported, and PlatformIndex properties to obtain this information.
Note: Defaults to null.
Type: VariantArray
Configures encoder to use given progression.
Note: Defaults to PRG_LRCP.
Type: PROGRESSION
Configures encoder to signal given capabilities in encoded codestreams for decoder.
Note: Defaults to capabilities determined by profile.
Type: UInt16
Limits number of tiles to be decoded at one moment.
Use 0 for no limit.
Note: Defaults to 0.
Type: Int32
Configures the decoder to limit the number concurrent encoders.
Limits number of images to be encoded at one moment.
Note: Defaults to 30.
Type: Int32
Determines the mode of computation.
This property is used to select which mode of computation to use.
If either CM_CUDA or CM_OPEN_CL compute mode is specified, use the DeviceIndex/PlatformIndex properties to determine which device to use when more than one is pressent. If CM_CPU mode is selected use the Threads property to determine the number of threads to use.
If either CM_CUDA or CM_OPEN_CL are specified and unavailable, then the compressor will fallback to CM_CPU. After Begin has been called, this property may be updated to indicate the which compute mode was actually selected.
Note: Defaults to CM_CPU.
Type: COMPUTE_MODE
Represents the platform index to use.
If the compute mode indicates OpenCL, this determines the platform to use.
Note: Defaults to the first valid platform.
Type: Int32
Represents the device index to use.
If the compute mode indicates either OpenCL or Cuda, this determines the device to use.
Note: Defaults to the first valid device.
Type: Int32
Valid values for the Progression property.
Value | Name | Description |
---|---|---|
4 |
PRG_CPRL | Component-Position-Resolution-Layer |
2 |
PRG_RPCL | Resolution-Position-Component-Layer |
1 |
PRG_RLCP | Resolution-Layer-Component-Position |
0 |
PRG_LRCP | Layer-Resolution-Component-Position |
3 |
PRG_PCRL | Position-Component-Resolution-Layer |
Valid values for the LogLevel property.
Value | Name | Description |
---|---|---|
0 |
LL_SILENT | Disable logging |
10 |
LL_ERROR | Log only error messages |
20 |
LL_WARNING | Log only warning and error messages |
40 |
LL_INFO | Log only informative, warning and error messages |
100 |
LL_DEBUG | Log all possible messages |
Valid values for the ComputeMode property.
Value | Name | Description |
---|---|---|
1 |
CM_CPU | Cpu computation mode |
2 |
CM_CUDA | Cuda computation mode |
3 |
CM_OPEN_CL | OpenCL computation mode |
Valid values for the EncodingMode property.
Value | Name | Description |
---|---|---|
0 |
EM_DEFAULT | Default encoding mode, with full precision |
1 |
EM_RATE_HINT | Encoder uses selected rate limit as a hint. (Has no effect without rate.) |
Precision loss should be very low in this mode. |
Valid values for the Profile property.
Value | Name | Description |
---|---|---|
1 |
PRF_BROADCAST_IRREVERSIBLE_SINGLE_TILE | Broadcast, lossy, single tile. |
0 |
PRF_NONE | No profile constraints will be applied. |
2 |
PRF_BROADCAST_IRREVERSIBLE_MULTI_GRID | Broadcast, lossy, multi-tile grid. |
3 |
PRF_BROADCAST_IRREVERSIBLE_MULTI_STRIPES | Broadcast, lossy, multi-tile stripes. |
211 |
PRF_IMF_8K_REVERSIBLE_MULTI_TILE_4096 | IMF 8K, lossless, 4096 tile size. |
4 |
PRF_BROADCAST_REVERSIBLE_SINGLE_TILE | Broadcast, lossless, single tile. |
100 |
PRF_DCI_2K | DCI 2K |
5 |
PRF_BROADCAST_REVERSIBLE_MULTI_GRID | Broadcast, lossless, multi-tile grid. |
205 |
PRF_IMF_4K_REVERSIBLE_SINGLE_TILE | IMF 4K, lossless, single tile. |
6 |
PRF_BROADCAST_REVERSIBLE_MULTI_STRIPES | Broadcast, lossless, multi-tile stripes. |
101 |
PRF_DCI_4K | DCI 4K |
200 |
PRF_IMF_2K_IRREVERSIBLE_SINGLE_TILE | IMF 2K, lossy, single tile. |
201 |
PRF_IMF_4K_IRREVERSIBLE_SINGLE_TILE | IMF 4K, lossy, single tile. |
202 |
PRF_IMF_8K_IRREVERSIBLE_SINGLE_TILE | IMF 8K, lossy, single tile. |
203 |
PRF_IMF_2K_REVERSIBLE_SINGLE_TILE | IMF 2K, lossless, single tile. |
204 |
PRF_IMF_2K_REVERSIBLE_MULTI_TILE_1024 | IMF 2K, lossless, 1024 tile size. |
206 |
PRF_IMF_4K_REVERSIBLE_MULTI_TILE_1024 | IMF 4K, lossless, 1024 tile size. |
207 |
PRF_IMF_4K_REVERSIBLE_MULTI_TILE_2048 | IMF 4K, lossless, 2048 tile size. |
210 |
PRF_IMF_8K_REVERSIBLE_MULTI_TILE_2048 | IMF 8K, lossless, 2048 tile size. |
208 |
PRF_IMF_8K_REVERSIBLE_SINGLE_TILE | IMF 8K, lossless, single tile. |
209 |
PRF_IMF_8K_REVERSIBLE_MULTI_TILE_1024 | IMF 8K, lossless, 1024 tile size. |
[adnh]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
The number of threads the filter should use
Type: Int
Avid compression identifier.
Type: UInt32
Indicates whether the alpha channel should be preserved if supported by the output format.
This property is only meaningful for input formats with an alpha channel.
Type: Bool
Determines the desired bit depth of the compression.
For 16 bit input formats this property determines the desired compression bit depth.
Note: This value can be either be 10 or 12.
Type: Int32
[q264]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Target usage model that guides the encoding process
Valid values include:
Value | Meaning | Description |
---|---|---|
0 |
MFX_TARGETUSAGE_UNKNOWN | |
1 |
MFX_TARGETUSAGE_1 | Best quality |
2 |
MFX_TARGETUSAGE_2 | |
3 |
MFX_TARGETUSAGE_3 | |
4 |
MFX_TARGETUSAGE_4 | Balanced quality and speed |
5 |
MFX_TARGETUSAGE_5 | |
6 |
MFX_TARGETUSAGE_6 | |
7 |
MFX_TARGETUSAGE_7 | Fastest speed |
Type: Int32
Read only property to determine which adapter is the Intel QuickSync adapter for D3D11.
Type: Int32
Quantization Parameters (QP) for P frames, respectively, for the constant QP (CQP) mode.
Type: Int32
Read only property to determine which adapter is the Intel QuickSync adapter for D3D9.
Type: Int32
Specify the codec profile explicitly or the SDK functions will determine the correct profile from other sources, such as resolution and bitrate.
Valid values include:
Value | Meaning |
---|---|
66 |
MFX_PROFILE_AVC_BASELINE |
77 |
MFX_PROFILE_AVC_MAIN |
88 |
MFX_PROFILE_AVC_EXTENDED |
100 |
MFX_PROFILE_AVC_HIGH |
Type: Int32
Specifies how many asynchronous operations an application performs before the application explicitly synchronizes the result.
Note: If zero, the value is not specified.
Type: UInt16
The bit rate.
The SDK encoders follow the Hypothetical Reference Decoding (HRD) model. The HRD model assumes that data flows into a buffer of the fixed size BufferSizeInKB with a constant bitrate TargetKbps. (Estimate the targeted frame size by dividing the framerate by the bitrate.)
BitRate must be specified for encoding initialization.
For variable bitrate control, the MaxBitRate parameter specifies the maximum bitrate at which the encoded data enters the Video Buffering Verifier (VBV) buffer. If MaxBitRate is equal to zero, the value is calculated from bitrate, frame rate, profile, level, and so on.
Type: Int32
The maximum bit rate.
The SDK encoders follow the Hypothetical Reference Decoding (HRD) model. The HRD model assumes that data flows into a buffer of the fixed size BufferSizeInKB with a constant bitrate TargetKbps. (Estimate the targeted frame size by dividing the framerate by the bitrate.)
BitRate must be specified for encoding initialization.
For variable bitrate control, the MaxBitRate parameter specifies the maximum bitrate at which the encoded data enters the Video Buffering Verifier (VBV) buffer. If MaxBitRate is equal to zero, the value is calculated from bitrate, frame rate, profile, level, and so on.
Type: Int32
Specify the codec level explicitly or the SDK functions will determine the correct level from other sources, such as resolution and bitrate.
Valid values include:
Value | Meaning |
---|---|
10 |
MFX_LEVEL_AVC_1 |
9 |
MFX_LEVEL_AVC_1b |
11 |
MFX_LEVEL_AVC_11 |
12 |
MFX_LEVEL_AVC_12 |
13 |
MFX_LEVEL_AVC_13 |
20 |
MFX_LEVEL_AVC_2 |
21 |
MFX_LEVEL_AVC_21 |
22 |
MFX_LEVEL_AVC_22 |
30 |
MFX_LEVEL_AVC_3 |
31 |
MFX_LEVEL_AVC_31 |
32 |
MFX_LEVEL_AVC_32 |
40 |
MFX_LEVEL_AVC_4 |
41 |
MFX_LEVEL_AVC_41 |
42 |
MFX_LEVEL_AVC_42 |
50 |
MFX_LEVEL_AVC_5 |
51 |
MFX_LEVEL_AVC_51 |
52 |
MFX_LEVEL_AVC_52 |
Type: Int32
Number of pictures within the current GOP (Group of Pictures)
Value | Meaning |
---|---|
0 |
GOP size is unspecified |
1 |
Only I-frames are used |
Note: See Example 14 for pseudo - code that demonstrates how SDK uses this parameter.
Type: Int32
Distance between I- or P- key frames; if it is zero, the GOP structure is unspecified.
Note: If GopRefDist = 1, there are no B- frames used.
Type: Int32
ORs of the GopOptFlag enumerator indicate the additional flags for the GOP specification.
Valid values include:
MFX_GOP_CLOSED = 1:
Type: Int32
Quantization Parameters (QP) for I frames, respectively, for the constant QP (CQP) mode.
Type: Int32
IdrInterval specifies IDR - frame interval in terms of I - frames.
Value | Meaning |
---|---|
0 |
Every I - frame is an IDR - frame. |
1 |
Every other I - frame is an IDR - frame, etc. |
Note: If GopPicSize or GopRefDist is zero, IdrInterval is undefined.
Type: Int32
Rate control method
Valid values include: MFX_RATECONTROL_CBR = 1;
Type: Int32
Quantization Parameters (QP) for B frames, respectively, for the constant QP (CQP) mode.
Type: Int32
This parameter is for Intelligent Constant Quality (ICQ) bitrate control algorithm.
It is value in the 1…51 range, where 1 corresponds the best quality.
Type: Int32
[ppc ]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
The upsample filter to use for all planes.
Note: Can be either Nearest, Linear, Cubic, cubicPrediction, Mishus, or Lanczos
Type: FilterTypes
The downsample filter to use for the luma planes.
Note: Can be either Area or Lanczos.
Type: FilterTypes
This is used to control the temporal encoding feature of the Perseus encoder.
Note: Temporal operates slower when enabled.
Type: Bool
The downsample filter to use for the luma planes.
Note: Can be either Area or Lanczos.
Type: FilterTypes
This is used to specify the transform type to use for Perseus encoding.
Note: Can be either DD or DDS
Type: TransformTypes
This is used to enable the double upsampling technique when decoding a Perseus enabled stream.
Type: Bool
This is used to specify the tuning to use when looking up an entry in the configuration database.
The tune provides context for default settings.
Type: Tunes
This controls the duration of window over which bit rate is measured for the purpose of controlling output bit rate.
Value is specified in miliseconds.
Note: Range: 0 - MAX_INT.
Type: Int32
This is used to control the behaviour of the dithering technique.
Type: DitheringTypes
This is used to control the base level strength of the dithering technique.
Note: Range: 0 - MAX_INT.
Type: Int32
This specifies the Perseus encoder that it should generate filler to maintain a CBR stream.
Disabling this indicates the desire for a VBR stream or filler will be generated at a higher level.
Type: Bool
This is used to specify the genre to use when looking up an entry in the configuration database.
The genre provides context for default settings.
Type: Genres
This controls the behaviour of the base encoder and Perseus in the way that downsampling occurs.
Robust performs the normal Perseus process, Sharp performs half width downsampling, and native performs pass-through encoding of the base encoder.
Type: PerseusModes
The desired stream bitrate.
Value is specified in bits per second.
Note: Range: 0 - MAX_INT.
Type: Int32
Proportion of the total stream bitrate for the maximum base bitrate.
Specified between 0 and 1. A value of 1 will utilise the base proportion.
Type: Float
Proportion of the total stream bitrate for the base bitrate.
Specified between 0 and 1.
Type: Float
Specifies valid values for the PerseusMode property.
Value | Name | Description |
---|---|---|
0 |
Robust | Robust |
1 |
Sharp | Sharp |
2 |
Native | Native |
Specifies valid values for properties controlling up/down sampling.
Value | Name | Description |
---|---|---|
5 |
Mishus | Mishus |
4 |
CubicPrediction | Cubic prediction |
0 |
Area | Area |
1 |
Nearest | Nearest |
2 |
Linear | Linear |
3 |
Cubic | Cubic |
6 |
Lanczos | Lanczos |
Specifies valid values for the Tune property.
Value | Name | Description |
---|---|---|
0 |
Metrics | Metrics |
1 |
Subjective | Subjective |
2 |
Speed | Speed |
Specifies valid values for the DitheringType property.
Value | Name | Description |
---|---|---|
1 |
Uniform | Uniform |
0 |
None | None |
Specifies valid values for the EncodingTransformType property.
Value | Name | Description |
---|---|---|
0 |
DD | DD |
1 |
DDS | DDS |
Specifies valid values for the Genre property.
Value | Name | Description |
---|---|---|
0 |
Default | Default |
1 |
Sport | Sport |
[m264]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Specifies the H.264 encoding constrint.
Type: ContstraintType
Property values for Constraint.
Value | Name | Description |
---|---|---|
0 |
Unconstrained | Unconstrained, Invalid. A constraint must be set. |
2 |
Intra_100 | Panasonic H.264 intra frame coding (Class 100) |
10 |
Intra_4K_422 | Panasonic AVC Intra 4K 4:2:2 |
21 |
LongGOP_422_G25 | Panasonic AVC-LongGOP 4:2:2 Class G25 (25 Mbps) |
20 |
LongGOP_422_G50 | Panasonic AVC-LongGOP 4:2:2 Class G50 (50 Mbps) |
50 |
XAVC_HD_LongGOP_422_XD_25 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (25 Mbps) for XD Style |
51 |
XAVC_HD_LongGOP_422_XD_35 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (35 Mbps) for XD Style |
52 |
XAVC_HD_LongGOP_422_XD_50 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (50 Mbps) for XD Style |
82 |
XAVC_4K_LongGOP_422_XD_200 | Sony XAVC Long GOP HD 4:2:2 10-bit Profile (200 Mbps) for XD Style |
111 |
XAVC_HD_Intra_100_CBG | Sony XAVC HD Intra CBG Profile Class 100 for XD Style |
114 |
XAVC_4K_Intra_300_CBG | Sony XAVC 4K Intra CBG Class 300 for XD Style |
115 |
XAVC_4K_Intra_480_CBG | Sony XAVC 4K Intra CBG Class 480 for XD Style |
117 |
XAVC_4K_Intra_300_VBR | Sony XAVC 4K Intra VBR Class 300 for XD Style |
118 |
XAVC_4K_Intra_480_VBR | Sony XAVC 4K Intra VBR Class 480 for XD Style |
[m2rc]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool