Video Compressors

Aja H.265 Compressor [aja ]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


MaxBitRate

Specifies the max bit rate (in kbps).

Note: Default 0. This is for capped VBR mode only.

Type: UInt32


Profile

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


Level

Specifies the HEVC codec level.

0 = AutoSelect; Otherwise HEVC level = level/10, e.g. 51 = Level 5.1

Note: Default 0.

Type: UInt32


Tier

Specifies the HEVC codec tier.

Value Meaning
0 Main
1 High

Note: Default 0.

Type: UInt32


GopLength

Specifies the GOP length (in frames).

Note: Default 64.

Type: UInt32


UseTemporalId

Indicates whether to use temporal id.

Value Meaning
true use temporal id
false do not use temporal id

Note: Default true.

Type: Bool


AdaptiveGop

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


MatrixCoefficients

Specifies the matrix coefficients.

Type: UInt32


HierarchicalGop

Indicates whether to enable hierarchical GOP.

Value Meaning
true hierarchical GOP
false non-hierarchical GOP

Note: Default true.

Type: Bool


OpenGop

Indicates open GOP or closed GOP.

Value Meaning
true open GOP
false closed GOP

Note: Default false.

Type: Bool


IdrInterval

Specifies the IDR frame interval (in units of gop count).

Note: Default 100. Ignored when using closed GOP.

Type: UInt32


NumBFrames

Specifies the number of B-frames between consecutive I-frames or P-frames.

Note: Default 1.

Type: UInt32


RateControlMode

Specifies the rate control mode.

Value Meaning
0 CBR
1 Capped VBR

Note: Default 0.

Type: UInt32


BitRate

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


SampleAspectRatioWidth

Specifies the sample aspect ratio width.

Note: Default 0, i.e. unspecified.

Type: UInt32


SampleAspectRatioHeight

Specifies the sample aspect ratio height.

Note: Default 0, i.e. unspecified.

Type: UInt32


RepeatHeaders

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


MaxCLL

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


ColorPrimaries

Specifies the color primaries.

Type: UInt32


TransferCharacteristics

Specifies the transfer characteristics.

Type: UInt32


MasteringDisplayColorVolume

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


MaxFALL

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


Animation Compressor [anim]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


FFV1 Compressor [ffv1]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


Version

Select which FFV1 version to use.

Note: Defaults to VERSION_3.

Type: VersionType


EnableSliceCrc

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.


Coder

Entropy encoder.

Note: Defaults to CODER_RANGE_CUSTOM.

Type: CoderType


Context

Context.

Note: Defaults to CONTEXT_SMALL.

Type: ContextType


GopLength

Gop length.

For archival use GopLength should be 1.

Note: Defaults to 12.

Type: Interger > 0.


Threads

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.


Slices

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.


Pass

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.


PassLogFile

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.


Enumerations:

VersionType

Valid values for the Version property.

Value Name Description
1 VERSION_1 FFV1 Version 1
3 VERSION_3 FFV1 Version 3

CoderType

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

ContextType

Valid values for the Context property.

Value Name Description
1 CONTEXT_LARGE Context large
0 CONTEXT_SMALL Context small

Fraunhofer H.266 Compressor [f266]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


EnableDecodingUnitInfoSEI

Enable decodign unit info SEI messages.

Type: Boolean


DecodingRefreshMode

Random access type

Type: DecodingRefreshModeType


Preset

Default preset.

Type: PresetType


HdrMode

High Dynamic Range mode.

Type: HdrModeType


Threads

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


IntraPeriod

Period (in frames) of I-slice.

Type: Int32


TileRows

Number of tile rows.

Type: Int32


QP

QP value of key-picture (0-63)

Note: Defaults to 32.

Type: Int32


EnableAccessUnitDelimiters

Add Access Unit Delimiter NAL units.

Type: Boolean


Profile

Profile.

Type: ProfileType


Level

Level limit.

Note: Defaults to 32.

Type: LevelType


LevelTier

Tier to use for interpretation of level (main or high).

Note: Defaults to 32.

Type: LevelTierType


GopSize

GOP size of hierarchical structure.

Type: Int32


NumPasses

Number of rate control passes.

Note: Defaults to 1.

Type: Int32


Pass

Current pass; 0 or 1.

Note: Only needed for 2-pass rate control.

Type: Int32


StatsFile

Statisicts file for 2-pass rate control.

Note: Only needed for 2-pass rate control.

Type: String


SegmentMode

Segment position for segment concatenation (only needed, when multiple separate segments are used).

Type: SegmentModeType


EnablePerceptualQPAdaptation

Enable usage of perceptually motivated input-adaptive QP modification (QPA).

Type: Boolean


TileColumns

Number of tile columns.

Type: Int32


EnableHrdParameters

Enable generation of HRD parameters.

Type: Boolean


EnableDecodingParameterSet

Enable decoding parameter set.

Type: Boolean


EnableVuiParameters

Enable generation of VUI parameters.

Type: Boolean


EnableBufferingPeriodSEI

Enable buffering period SEI messages.

Type: Boolean


EnablePictureTimingSEI

Enable picture timeing SEI messages.

Type: Boolean


Enumerations:

HdrModeType

Valid values for the HdrMode property.

Value Name Description

ProfileType

Valid values for the Profile property.

Value Name Description

PresetType

Valid values for the Preset property.

Value Name Description

LevelTierType

Valid values for the LevelTier property.

Value Name Description

SegmentModeType

Valid values for the SegmentMode property.

Value Name Description

LevelType

Valid values for the Level property.

Value Name Description

DecodingRefreshModeType

Valid values for the DecodingRefreshMode property.

Value Name Description

Fraunhofer JPEG XS Compressor [fjxs]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


SliceHeight

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


Profile

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


AllocCores

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


Threads

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


Processors

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


RunMode

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


HorizontalWaveletTransformations

Defines the number of horizontal wavelet transformations.

The number of horizontal transformations can vary between 1 and 5.

Note: Defaults to 5.

Type: Int


EnableFastMode

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


EnableSeparateSignPass

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


VerticalWaveletTransformations

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


Quantizer

Defines the type of quantizer that is applied to reduce the data rate of the image.

Note: Defaults to Quantizer_Uniform.

Type: QuantizerType


Lookahead

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


KeptLines

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


ColumnWidth

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


EnableLosslessCoding

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


BitRate

Defines the target bit rate for CBR rate allocation.

Type: Int


QP

Defines the quantiztion for VBR rate allocation.

Type: Int


Sublevel

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


Level

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


Enumerations:

RunModeType

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.

QuantizerType

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.

RateAllocationModeType

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.

ProfileType

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.

SublevelType

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.

LevelType

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.

EntropyDecisionModeType

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.

Google VP8/9 Compressor [vpx ]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


Profile

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


StaticThreshold

Codec control function to set the threshold for MBs treated static.

Supported in codecs: VP8, VP9

Type: Int32


ScaledHeight

Internal coded frame height.

If spatial resampling is enabled this specifies the height of the encoded frame.

Supported in codecs : VP8, VP9

Type: UInt


TileRows

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


NoiseSensitivity

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


Threads

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


Pass

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


ErrorResilienceMode

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


TwoPassVbrMinSectionPct

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


ResizeDownThreshold

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


EncoderDelay

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


AdaptiveQuantizationMode

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


ResizeAllowed

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


ScreenContentMode

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


ScaledWidth

Internal coded frame width.

If spatial resampling is enabled this specifies the width of the encoded frame.

Supported in codecs : VP8, VP9

Type: UInt


ResizeUpThreshold

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


MaxInterBitratePct

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


RateControlMode

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


EnableAutoRef

Codec control function to enable automatic set and use alf frames.

Supported in codecs: VP8, VP9

Type: Bool


BitRate

Target bit rate in kilobits pr second.

Supported in codecs : VP8, VP9

Type: Int64


TemporalPeriodicity

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


MinQp

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


MaxQp

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


UndershootPct

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


OvershootPct

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


BufferSize

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


TuneContent

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


FramePeriodicBoost

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


InitialBufferSize

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


TwoPassVbrBiasPct

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


FrameTemporalLayerId

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


TwoPassVbrMaxSectionPct

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


MinGopLength

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


MinGfInterval

Minimum interval between GF and ARF frames.

Note: Default is 4. Supported in codecs : VP9

Type: Int32


TemporalLayers

Number of temporal coding layers.

This value specifies the number of temporal layers to be used.

Note: Valid range: 0..5

Type: UInt


MaxGopLength

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


SpatialLayers

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


TemporalLayeringMode

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


Deadline

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


ConstrainedQualityLevel

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


HorizontalScaleMode

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


VerticalScaleMode

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


Speed

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


TileColumns

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


Sharpness

Codec control function to set sharpness.

Supported in codecs: VP8, VP9

Type: Int32


TokenPartitions

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


ArnrMaxFrames

Codec control function to set the max number of frames to create arf.

Supported in codecs: VP8, VP9

Type: Int32


ParallelDecoding

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


ArnrStrength

Codec control function to set the filter strength for the arf.

Supported in codecs: VP8, VP9

Type: Int32


Tuning

Tunes the encoder based on a specific characteristic.

Supported in codecs: VP8, VP9

Note: Valid values:

Value Meaning
0 PSNR
1 SSIM

Type: Int32


MaxIntraBitratePct

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


FrameFlags

Codec control function to set reference and update frame flags.

Supported in codecs: VP8

Type: Int32


ColorRange

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


GfCbrBoostPct

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


Lossless

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


MaxGfInterval

Maximum interval between GF and ARF frames

Note: Default is 16. Supported in codecs : VP9

Type: Int32


Jpeg Compressor [mjpg]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


Quality

Specifies quality for JPEG compression from 1-100

Type: Int32


Media Foundation H.264 Compressor [mf64]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


RateControlMode

Rate control mode.

Valid values:

  • eAVEncCommonRateControlMode_CBR:
  • The encoder tries to achieve a constant bit rate, using a ‘leaky bucket’ model.
  • The target bit rate is given by the bitrate property.
  • Requires Windows 8.
  • eAVEncCommonRateControlMode_PeakConstrainedVBR:
  • The encoder uses a ‘leaky bucket’ model with a peak bit rate.
  • The drain rate for the leaky bucket is given by the maxBitrate property.
  • Requires Windows 8.
  • eAVEncCommonRateControlMode_Quality:
  • The encoder tries to achieve a constant quality level, given by the quality property.
  • eAVEncCommonRateControlMode_UnconstrainedVBR:
  • The encoder tries to achieve the target bitrate given by the bitrate property;
  • This is the default mode.

Note: Default is eAVEncCommonRateControlMode_UnconstrainedVBR.

Type: UInt32


BitRate

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


Quality

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


MinQp

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


AdaptiveMode

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


Profile

H.264 encoding profile.

The supported values are:

  • eAVEncH264VProfile_Base (default)
  • eAVEncH264VProfile_Main
  • eAVEncH264VProfile_High (requires Windows 8)

Type: UInt32


Level

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


MaxBitrate

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


BufferSize

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


Complexity

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


Cabac

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


BFrames

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


GopSize

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


Threads

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


ContentType

Indicates the type of video content for a video encoder.

Type: UInt32


Qp

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


MaxQp

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


LowLatency

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 Compressor [png ]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


Apple ProRes Compressor [appr]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


PreserveAlpha

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


Threads

The number of threads the filter should use

Type: Int


Svt-Av1 Compressor [sav1]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


MinQp

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


BitRate

Target bitrate in bits per second when RateControlMode is set to VBR or CVBR.

Note: Defaults to 7000000.

Type: UInt32


Profile

Defined set of coding tools to create bitstream.

Note: Defaults to Main

Type: Profiles


MaxQp

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


QP

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


EnableHighDynamicRangeInput

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


RateControlMode

Defined set of coding tools to create bitstream.

Note: Defaults to CQP.

Type: RateControlModes


VbvBufferSize

The VBV Buffer Size (in bits) when RateControlMode is CVBR.

Note: Defaults to 1 second at the target bit rate.

Type: UInt32


HierarchicalLevels

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


PredictionStructure

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


IntraPeriod

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


IntraRefreshType

The intra refresh type.

Type: IntraRefreshTypes


EncoderMode

Encoder quality vs. speed preset.

Note: Valid values: [0 - 8]; 0 = highest quality, 8 = highest speed. Defaults to 8.

Type: Int8


LookAheadDistance

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


Enumerations:

Profiles

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.

IntraRefreshTypes

Valid values for the IntraRefreshType property.

Value Name Description
1 CRA Open GOP.
2 IDR Closed GOP.

PredictionStructures

Valid values for the PredictionStructure property.

Value Name Description
2 RandomAccess Random Access
0 LowDelayP Low Delay P
1 LowDelayB Low Delay B

RateControlModes

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.

H.262 Compressor [h262]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


LogLevel

Desired log level of x264 api.

Note: Defaults to the current Dib Console log level.

Type: LogLevels


BitRate

Encoding bitrate in bits per second.

Type: Int32


Enumerations:

LogLevels

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

H.264 Compressor [h264]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


MinFrameError

VBV fine tuning to avoid underflows when buffer size is signifcantly smaller than bitrate

Type: Float


QpMax

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


FixedIdrFrameInterval

Specifies a fixed interval between IDR frames.

Type: Int32


Profile

Specifies the encoding profile.

Type: ProfileType


Level

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


Preset

Specifies an encoding preset.

Type: Presets


BluRayCompatibility

Blu-ray Compatibility

Type: Int


MasteringDisplayColorVolume

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


MinKeyFrameInterval

Specifies the minimum interval between IDR frames.

Type: Int


BitRate

Average bit rate in bits/second.

Type: Int64


Tuning

Tunes the encoder based on the input content.

Type: Tunings


StatFileIn

Specifies the name of the input statistics file.

Type: String


AdaptiveBFrameScheduling

Specifies the B frame placement algorithm.

Value Meaning
0 Disables
1 Fast
2 Optimal

Type: Int32


MaxKeyFrameInterval

Specifies the maximum interval between IDR frames.

Type: Int32


QpMin

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


CommandLine

Specifies the encoder options as an x264 command line.

Type: String


MaxFALL

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


SceneCutThreshold

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


AdaptiveQuantizationStrength

Specifies the adaptive quantizer bias towards low detail macro blocks.

Note: Default is 1.0.

Type: Float


OpenGop

Enables or disables open GOP encoding.

Type: Bool


DeblockingFilter

Deblocking Filter

Type: Int32


MaxBFrames

Specifies the maximum number of consecutive B frames.

Type: Int32


BPyramid

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


MaxReferenceFrames

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


StatWrite

Enables writing the statistics file during the current encode pass.

Type: Bool


RateFactor

Specifies the constant rate factor.

Note: Default is 23.

Type: Float


MaxSlices

Specifies the number of rectangular slices per frame.

Note: Default is 0.

Type: Int32


DeblockingBeta

Deblocking Beta

Type: Int32


RateControlMethod

Specifies the rate control method

Value Method
0 Constant quantizer
1 Constant rate factor
2 Average bitrate

Type: Int32


LibPath

Lib Path

Type: String


Lookahead

Specifies the number of look ahead frames use for rate control.

Note: Default is 40.

Type: Int32


Quantizer

Specifies the constant quantizer in the range 0 (lossless) to 51 (8 bit) or 63 (10 bit).

Note: Default is 10.

Type: Int32


IPRatio

Specifies the quantizer ratio of I frames relative to P frames.

Note: Default is 1.4.

Type: Float


RemoveOptionsSei

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


PBRatio

Specifies the quantizer ratio of P frames relative to B frames.

Note: Default is 1.3.

Type: Double


VBVInitialFill

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


QpStep

Specifies the maximum change in the quantizer between frames.

Note: Default is 4.

Type: Int


VBVMaxRate

Specifies the maximum fill rate for the VBV buffer.

Type: Int32


EnableAccessUnitDelimiters

Emits an AUD NAL unit for each access unit.

Type: Bool


VBVBufferSize

Specifies the size of the VBV buffer in bits.

Type: Int32


WeightedPPrediction

Enables the use of weighted prediction to improve compression in P-frames.

Value Meaning
0 Disabled
1 Blind Offset
2 Smart analysis

Type: Int32


VideoFormat

Indicates the souce content type

Value Meaning
0 Component
1 PAL
2 NTS
3 SECAM
4 MAC
5 Unspecified

Type: Int32


NoiseReduction

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


VariableFramerate

Variable Framerate

Type: Int32


RepeatHeaders

Repeats the VPS, SPS and PPS NAL units in each I frame.

Type: Bool


NalHrdMode

Indicates whether to signal HRD information:

Value Method
0 None
1 VBR
2 CBR

Type: Bool


ForcePicStruct

Forces the insertion of pic_struct in SEI Picture Timing messages.

Type: Bool


MaxCLL

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


LogLevel

Desired log level of x264 api.

Note: Defaults to the current Dib Console log level.

Type: LOG_LEVEL


StatFileOut

Specifies the name of the output statistics file

Type: String


StatRead

Enables reading the statistics file from a previous encode pass.

Type: Bool


UseCabac

Use Cabac

Type: Int32


SubMe

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


MvRange

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


DeblockingAlpha

Deblocking Alpha

Type: Int32


MeRange

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


MeMethod

Set the full-pixel motion estimation method.

Valid methods include:

  • dia (diamond): the simplest search, consisting of starting at the best predictor, checking the motion vectors at one pixel upwards, left, down, and to the right, picking the best, and repeating the process until it no longer finds any better motion vector.
  • hex (hexagon): consists of a similar strategy, except it uses a range-2 search of 6 surrounding points, thus the name. It is considerably more efficient than dia and hardly any slower, and therefore makes a good choice for general-use encoding.
  • umh (uneven multi-hex): considerably slower than hex, but searches a complex multi-hexagon pattern in order to avoid missing harder-to-find motion vectors. Unlike hex and dia, the merange parameter directly controls umh’s search radius, allowing one to increase or decrease the size of the wide search.
  • esa (exhaustive): a highly optimized intelligent search of the entire motion search space within merange of the best predictor. It is mathematically equivalent to the bruteforce method of searching every single motion vector in that area, though faster. However, it is still considerably slower than UMH, with not too much benefit, so is not particularly useful for everyday encoding.
  • tesa (transformed exhaustive): an algorithm which attempts to approximate the effect of running a Hadamard transform comparison at each motion vector; like exhaustive, but a little bit better and a little bit slower.

Type: Int32


FakeInterlace

Marks a stream as interlaced even when not encoding as interlaced.

Allows encoding of 25p and 30p Blu-ray compliant videos.

Type: Int32


InsertEobNal

Flag indicating whether the encoder should emit an End of Bitstream NAL at the end of bitstream.

Note: Default is false.

Type: Bool


InsertEosNal

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


Enumerations:

Levels

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

LogLevels

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

H.265 Compressor [h265]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


MinKeyFrameInterval

Specifies the minimum interval between IDR frames.

Type: Int


Preset

Specifies an encoding preset

Type: Presets


Profile

Specifies the encoding profile

Type: Profiles


Level

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


RepeatHeaders

Repeats the VPS, SPS and PPS NAL units in each I frame.

Note: Default true for AnnexB.

Type: Bool


Tuning

Tunes the encoder based on a specific characteristic.

Type: Tunings


Quantizer

Specifies the constant quantizer in the range 0 (lossless) to 51 (8 bit) or 63 (10 bit).

Note: The default is 10.

Type: Int


MaxKeyFrameInterval

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


CommandLine

Specifies the encoder options as an x265 command line.

Type: String


EnableSlowFirstPass

Enables a more detailed first pass encode.

Type: Bool


FixedIdrFrameInterval

Specifies a fixed interval between IDR frames.

Type: Int32


SceneCutThreshold

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


StatFile

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


OpenGop

Enables or disables open GOP encoding.

Type: Bool


MaxBFrames

Specifies the maximum number off consecutive B frames.

Type: Int


HRDCompliance

Emits Buffering Period and Picture Timing SEI messages.

Type: Bool


AdaptiveBFrameScheduling

Specifies the B frame placement algorithm.

Value Meaning
0 Disables
1 Fast
2 Optimal

Type: Int


BPyramid

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


RemoveOptionsSei

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


EnableStrictCBR

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


MaxReferenceFrames

Specifies the maximum number of previous frames referenced by a P frame.

Note: The range 0-16 where the default is 3.

Type: Int


StatWrite

Enables writing the statistics file during the current encode pass.

Type: Bool


MaxSlices

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


RateControlMethod

Specifies the rate control method.

Type: RateControlMethods


EmitHDRSEI

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


Lookahead

Specifies the number of look ahead frames used for rate control.

Note: Default is 40.

Type: Int


StatRead

Enables reading the statistics file from a previous encode pass.

Type: Bool


IPRatio

Specifies the quantizer ratio of I frames relative to P frames.

Note: Default is 1.4.

Type: Double


PBRatio

Specifies the quantizer ratio of P frames relative to B frames.

Note: Default is 1.3.

Type: Double


RateFactor

Specifies the rate factore.

Targets a certain constant ‘quality’. Acceptable values between 0 and 51.

Note: Default value: 28

Type: Double


OptimizeRefListLength

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


AdaptiveQuantizationStrength

Specifies the adaptive quantizer bias towards low detail macro blocks.

Note: Default is 23.

Type: Double


BitRate

Specifies the average (or constant) bit rate in bits/second.

Type: Int64


VBVBufferSize

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


VBVInitialFill

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


VBVMaxRate

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


VideoFormat

Indicates the souce content type

Value Meaning
0 Component
1 PAL
2 NTS
3 SECAM
4 MAC
5 Unspecified

Type: Int32


EnableAccessUnitDelimiters

Emits an AUD NAL unit for each access unit.

Note: Default true for AnnexB.

Type: Bool


MaxCLL

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


MaxFALL

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


MasteringDisplayColorVolume

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


LogLevel

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


AlternativeTransferCharacteristics

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


OptimizeQP

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


FormatSeiToC708

Indicates whether to insert A72 captions into the encoded stream.

Type: Bool


HdrOptimization

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


Enumerations:

Presets

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

Profiles

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

Tunings

Tuning enumeration

Value Name Description
2 Grain Grain
0 Psnr PSNR
4 FastDecode Fast Decode
1 SSIM SSIM
3 ZeroLatency Zero Latency

RateControlModes

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)

AMD AMF H.264 Compressor [a264]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


D3D11HardwareAdapterIndex

Read only property to determine which adapter is the Intel QuickSync adapter for D3D11.

Type: Int32


D3D9HardwareAdapterIndex

Read only property to determine which adapter is the Intel QuickSync adapter for D3D9.

Type: Int32


Usage

Specifies Encoder usage type.

Type: UsageType


HighMotionQualityBoostEnable

Enable High motion quality boost mode

Note: Default = depends on USAGE

Type: Bool


LowLatencyInternal

Enables low latency mode and POC mode 2 in the encoder

Type: Bool


MaxOfLTRFrames

Max number of LTR frames

Type: Int


Profile

Specifies the H.264 encoding profile.

Type: ProfileType


Level

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


CABACEnable

CABAC enable

Note: Default = AMF_VIDEO_ENCODER_UNDEFINED

Type: CodingType


MaxNumRefFrames

Maximum number of reference frames

Type: Int


RateControlMethod

Rate Control Method

Note: Default = depends on USAGE

Type: RateControlMethod


EnablePreAnalysis

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


RateControlPreanalysisEnable

Enables pre-encode assisted rate control

Note: Default = AMF_VIDEO_ENCODER_PREENCODE_DISABLED;

Type: PreencodeMode


QualityPreset

Quality Preset

Note: Default = depends on USAGE

Type: QualityPreset


BPicturesDeltaQP

B-picture Delta

Note: Default = depends on USAGE

Type: Int


ReferenceBPicturesDeltaQP

Reference B-picture Delta

Note: Default = depends on USAGE

Type: Int


EnforceHRD

Enforce HRD

Note: Default = depends on USAGE

Type: Bool


QPB

B-frame QP; range = 0-51

Note: Default = 22

Type: Int


FillerDataEnable

Filler Data Enable

Note: Default = false

Type: Bool


EnableVBAQ

Enable VBAQ

Note: Default = depends on USAGE

Type: Bool


MaxAUSize

Max AU Size in bits

Note: Default = 0

Type: Int


VBVBufferSize

VBV Buffer Size in bits

Note: Default = depends on USAGE

Type: Int


InitialVBVBufferFullness

Initial VBV Buffer Fullness 0=0% 64=100%

Note: Default = 64

Type: Int


MinQP

Min QP; range = 0-51

Note: Default = depends on USAGE

Type: Int


MaxQP

Max QP; range = 0-51

Note: Default = depends on USAGE

Type: Int


IDRPeriod

IDR Period in frames

Note: Default = depends on USAGE;

Type: Int32


QPI

I-frame QP; range = 0-51

Note: Default = 22

Type: Int


QPP

P-frame QP; range = 0-51

Note: Default = 22

Type: Int


BitRate

Specifies the requested average bitrate of encoded stream in bits-per-seconds.

Note: Default = depends on USAGE

Type: Int


BReferenceEnable

Enable Reference to B-frames

Note: Default = true

Type: Bool


PeakBitrate

Peak bit rate in bits

Note: Default = depends on USAGE

Type: Int


RateControlSkipFrameEnable

Rate Control Based Frame Skip

Note: Default = depends on USAGE

Type: Bool


SlicesPerFrame

Number of slices Per Frame

Note: Default = 1

Type: Int


HeaderInsertionSpacing

Header Insertion Spacing; range 0-1000

Note: Default = depends on USAGE

Type: Int


BPicturesPattern

B-picture Pattern (number of B-Frames)

Note: Default = 3

Type: Int


DeBlockingFilter

De-blocking Filter

Note: Default = depends on USAGE

Type: Bool


IntraRefreshMBsNumberPerSlot

Intra Refresh MBs Number Per Slot in Macroblocks

Note: Default = depends on USAGE

Type: Int32


HalfPixel

Half Pixel

Note: Default= true

Type: Bool


QuarterPixel

Quarter Pixel

Note: Default= true

Type: Bool


Enumerations:

ScanType

Property values.

Value Name Description
0 Progressive Progressive
1 Interlaced Interlaced

UsageType

Property values for Usage.

Value Name Description
0 Transcoding Transcoding
2 LowLatency Low latency
1 UltraLowLatency Ultra low latency
3 Webcam Webcam

ProfileType

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

RateControlMethod

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

QualityPreset

Property values for QualityPreset.

Value Name Description
0 Balanced Balanced
1 Speed Speed
2 Quality Quality

CodingType

Property values for CodingType.

Value Name Description
2 Calv Calv (baseline)
0 Undefined Undefined
1 Cabac Cabac (high)

PreencodeMode

Property values for RateControlPreanalysisEnable.

Value Name Description
0 Disabled Disabled
1 Enabled Enabled

Nablet H.264 Compressor [n264]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


FixedBFrameSizeLimit

Defines the frame size in bytes for B-frames.

Type: Int


EnableIntra8x8

Enables the specific 8x8 intra prediction mode for intra frames.

Note: 8x8 needs high profile.

Type: Bool


InstantaneousDecodingRefreshPeriod

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


Constraint

Specifies a standard or manufacturer defined encoding constraint.

Type: ContstraintType


QuantP

Quantization parameter for P-slices.

Note: Used whem RateControlMethod is TQM.

Type: Int


EnableDeblockingFilter

Completely disables the H.264 loop filter.

Type: Bool


Profile

Specifies the H.264 encoding profile.

Type: ProfileType


ForceStrictIDRInterval

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


RateControlMethod

Specifies the bitrate control method.

Type: RateControlMethodType


Level

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


ReorderingDelay

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


FixedIFrameSizeLimit

Defines the frame size in bytes for I-frames.

Type: Int


EnableSceneCutDetection

Enables the scene change detection algorithm.

The encoder inserts an IDR frame in case of a detected scene change.

Type: Bool


BitRateBufferSize

Sets the buffer size of the hypothetical reference decoder (HRD).

Type: Int


MaximumIDRInterval

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


MaximumIFrameSizeLimit

Defines the maximum frame size in bytes for I-frames.

Type: Int


EnableAdaptiveBSlices

Turns on adaptive B-frames, which allows the encoder to determine the number of B-frames to use, depending on sequence complexity.

Type: Bool


EnableBReferenceSlices

Allows the encoder to use B-slices as a reference frame for P-frames.

Type: Bool


EnableBHierarchicalCoding

Allows usage of pyramid B-pictures coding.

Type: Bool


EntropyCodingMethod

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


InterlaceMode

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


FixedPFrameSizeLimit

Defines the frame size in bytes for P-frames.

Type: Int


ReferenceFrameCount

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


ConcurrentFrameCount

Specifies the number of frames to encode simultaneously for intra-only constraints.

Best utilized for intra only compression.

Note: Defaults to 1.

Type: Int


WriteSingleSeiPerNalu

Enables writing a single NALU for each SEI message.

Type: Int


EnableIntra4x4

Enables the specific 4x4 intra prediction mode for intra frames.

Type: Bool


MotionSearchRange

Sets the maximum range of the motion search in pixel units.

Type: Int


MacroBlockRateControlComplexity

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


MaximumSliceSize

Sets the maximum slice size in bytes, including estimated NAL overhead.

Note: Default value is 0 (disabled).

Type: Int


BitRate

Specifies the requested average bitrate of encoded stream in bits-per-seconds.

Type: Int


QuantB

Quantization parameter for B-slices.

Note: Used whem RateControlMethod is TQM.

Type: Int


MaximumBitRate

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


VideoFormat

Sets the representation of the pictures.

Type: VideoFormatType


EnableNalHRD

Disables or enables the HRD buffer model conformance.

Type: Bool


MaximumBFrameSizeLimit

Defines the maximum frame size in bytes for B-frames.

Type: Int


DeblockingAlphaOffset

Specifies the offset used for the deblocking filtering operations.

Note: The value shall be in the range of -6 to +6, inclusive.

Type: Int


EnableIntra16x16

Enables the specific 16x16 intra prediction mode for intra frames.

Type: Bool


DeblockingBetaOffset

Specifies the offset used for the deblocking filtering operations.

Note: The value shall be in the range of -6 to +6, inclusive.

Type: Int


CpuMode

Defines the CPU acceleration to be used during encoding.

Type: CpuModeType


SliceCount

Sets the number of slices per frame.

Type: Int


EnableMBSOnly

Specifies the sequence parameter set (SPS) value of frame_mbs_only_flag.

Type: Bool


EnableInter16x16

Enables the specific 16x16 intra prediction mode for inter frames (P or B).

Type: Bool


EnableInter4x4

Enables the specific 4x4 intra prediction mode for inter frames (P or B).

Type: Bool


EnableInter8x8

Enables the specific 8x8 intra prediction mode for inter frames (P or B).

Note: 8x8 needs high profile.

Type: Bool


CalculateStatistics

Enables statistics like PSNR and FPS.

Note: Slows down the performance due some additional encoder calculations.

Type: Bool


ThreadCount

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


WriteSPS

Controls when to write the sequence parameter set.

Type: WriteParameterSetType


WritePPS

Controls when to write the picture parameter set.

Type: WriteParameterSetType


MaximumPFrameSizeLimit

Defines the maximum frame size in bytes for P-frames.

Type: Int


MaximumBRefFrameSizeLimit

Defines the maximum frame size in bytes for reference B-frames.

Type: Int


FixedBRefFrameSizeLimit

Defines the frame size in bytes for reference B-frames.

Type: Int


QuantI

Quantization parameter for I-slices.

Note: Used whem RateControlMethod is TQM.

Type: Int


Enumerations:

ConstraintType

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

CpuModeType

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)

ProfileType

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

EntropyEncodingType

Property values for AdaptiveBSlices.

Value Name Description
0 CAVLC Context Adaptive Varaible Length Coding
1 CABAC Context Adaptive Binary Arithmetic Coding

RateControlMethodType

Property values for RateControlMethod

Value Name Description
0 CBR Constant BitRate
3 TQM Target quality mode
1 VBR Variable BitRate
2 Intra Intra Only

WriteParameterSetType

Property values for WritePPS and WriteSPS.

Value Name Description
0 IDR For each IDR frame
1 I For each I frame

InterlaceModeType

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)

VideoFormatType

Property values for VideoFormat.

Value Name Description
1 PAL PAL
2 NTSC NTSC

Grass Valley Canopus Compressor [cano]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


PreserveAlpha

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


QuantizationScale

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


Threads

Configures the maximum number of threads to use for encoding.

Note: Defaults to 0 (automatic).

Type: Int32


CompressionRatio

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


CineForm Compressor [cfhd]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


Quality

The encoding quality level.

Type: QUALITY


Enumerations:

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

Main Concept H.264 Compressor [mc64]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


BitRate

Specifies the requested average bitrate of encoded stream in bits-per-seconds.

Type: Int


Constraint

Specifies a standard or manufacturer defined encoding constraint.

Type: ContstraintType


ConfigurationFile

Configuration file name as a string.

Type: String


EnforceMaxFrameSizes

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


KeyFrameInterval

Key Frame Interval

Type: Int32


VideoType

Video Type

Type Value
H264_BASELINE 0
H264_MAIN 2
H264_HIGH 5
H264_HIGH_10 6
H264_HIGH_422 7

Type: Int32


MetadataFile

Metadata file name as a string.

Type: String


VideoPerformanceSetting

Speed/quality encoding preset.

Valid range: 0 (the fastest encoding speed) to 15 (the best quality)

Note: Recommended value is 9

Type: Int32


EnableAnalysisPass

Sets the analysis pass.

Note: True for quick first encoding pass performing only analysis. False for the real encoding pass.

Type: Bool


Enumerations:

ConstraintType

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

Main Concept Mpeg2 Compressor [mcm2]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


BitRate

Average bit rate in bits/second.

Type: Int64


Analyze

Sets the mode of two-pass encoding.

If true; Analyze mode. If false; encoding mode.

Type: Bool


ConfigurationFile

Configuration file name as a string.

Type: String


EnableKeyFrameAdjustment

Enable Key Frame Adjustment

Type: Bool


KeyFrameAdjustment

Key Frame Adjustment

Type: Int32


PaddedDuration

Padded Duration

Type: Int32


KeyFramePaddedDuration

Key Frame Padded Duration

Type: Int32


ClosedGop

Indicates that each GOP should be closed (no reference to frames in a previous GOP).

Type: Bool


Profile

Specifies the encoding profile.

Type: ProfileType


FormatA53ToC708

Format A53 To C708

Type: Bool


DropFrameTc0

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


FormatScteToC608Field1

Format Scte To C608 Field 1

Type: Bool


FormatScte21ToC608Field1

Format Scte21 To C608 Field 1

Type: Bool


N

Number of frames in the GOP (distance between successive I frames).

Type: Int32


Tc0

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)


M

Distance between I and P frames. For example, M=3 produces 2 B frames.

Type: Int32


ClosedGopInterval

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


StartWithIFrame

Indicates that the first frame (in coded order) must be an I frame.

Type: Bool


MotionSerachType

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


OptimizeForLowBitrates

Optimize For Low Bitrates

Type: Bool


Level

Specifies the endowing level.

Type: LevelType


Chroma

Specifies the chroma subsampling.

Valid values include:

Value Meaning
0 4:2:0
1 4:2:2

Type: Int32


IntraDCPrecision

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


VbvDelay

Vbv Delay

Type: Int32


VbvBufferSize

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


PerformanceLevel

Type: Int32


BitrateMode

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


MinimumBitRate

Minimum instant bit rate for variable bitrate mode.

Type: Int64


MaximumBitRate

Maximum instant bit rate for variable bitrate mode.

Type: Int64


SequenceEndCode

This field specifies whether the encoder writes a sequence end code at the end of the stream.

Type: Bool


CustomQuantizationTables

Enables user-defined quantisation matrices for intra and non-intra macroblocks.

Type: Bool


MetadataFile

Metadata file name as a string.

Type: String


Enumerations:

ProfileType

Profile values.

Value Name Description
7 PROFILE_422 4:2:2
5 PROFILE_SIMPLE Simple
4 PROFILE_MAIN Main
1 PROFILE_HIGH High

LevelType

Level values.

Value Name Description
10 LEVEL_LOW Low
6 LEVEL_HIGH1440 High 1440 (this raster)
8 LEVEL_MAIN Main
4 LEVEL_HIGH High

BitrateModeType

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

Main Concept Dv Compressor [mcdv]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


Beamr H.264 Compressor [b264]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


ConfigurationFile

Sets the configuration file name.

The encoder may be fully configured through the configuration file.

Type: String


Nvidia Compressor [nven]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


EnableIntraRefresh

Set to 1 to enable gradual decoder refresh or intra refresh.

If the GOP structure uses B frames this will be ignored

Type: UInt32


ComputeMode

@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


Profile

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


Preset

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


DisableSPSPPS

If true not emit SPS or PPS in bitStream and do not add them for every keyframe

Type: Bool


BitRate

Specifies the requested average bitrate of encoded stream in bits-per-seconds.

Type: Int


Tuning

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


ForcePicStruct

If true force the insertion of picture timing SEI messages

Type: Bool


NumBFrames

Specifies the GOP pattern as follows: FrameIntervalP = NumBFrames + 1 FrameIntervalP = 0: I, 1: IPP, 2: IBP, 3: IBBP

Type: UInt32


TargetQuality

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


GopLength

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


Level

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


IdrInterval

Specifies H264/H265 IDR interval

Type: UInt32


LookaheadDepth

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


AdaptiveIFrames

Enables adaptive I-frame insertion at scene cuts

Type: UInt32


MaxNumRefFrames

Specifies the DPB size used for encoding.

Type: UInt32


InterlaceMode

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


RateControlMode

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


MultiPassMode

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


VbvBufferSize

Specifies the VBV(HRD) buffer size in bits.

Note: Set 0 to use the default VBV buffer size.

Type: UInt32


VbvInitialDelay

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


HRDCompliance

HRD compliance on/off for CBR encodes.

Type: Bool


EnableSpatialAQ

Enables spatial adaptive quantization

Type: Bool


QP

Quantization parameter, range [0, 63]

Note: Reasonable default 28, 0 == lossless, same for I,P,B frames.

Type: UInt32


SpatialAQStrength

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


EnableLookahead

Enables lookahead

Type: Bool


EnableTemporalAQ

Enables temporal adaptive quantization

Type: Bool


IntraRefreshPeriod

Specifies the number of frames between successive intra refresh.

Type: UInt32


IntraRefreshDuration

Specifies the length of intra refresh in number of frames for periodic intra refresh.

Note: This value should be smaller than IntraRefreshPeriod

Type: UInt32


WillAcceptD3D9SurfaceDirectly

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


WillAcceptD3D11SurfaceDirectly

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


FixedFrameRate

If true do not use variable frame rate

Type: Bool


AllowFlexibleMacroBlockReordering

@type Int32


DisplayAspectRatioWidth

Display aspect ratio width

Type: UInt32


DisplayAspectRatioHeight

Display aspect ratio height

Type: UInt32


ReleaseInitialEncodeBuffers

Release initial encode buffers (for Capture)

Type: Bool


MaxCLL

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


ColorPrimaries

Color primaries

Type: UInt32


MaxFALL

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


TransferCharacteristics

Transfer characteristics

Type: UInt32


MatrixCoefficients

Matrix coefficients

Type: UInt32


MasteringDisplayColorVolume

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


PreferredDeviceId

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


WriteAud

Emits an AUD NAL unit for each access unit.

Type: Bool


CommandLine

@brief Determines the internal Nvenc api command line parameters.

@details This property is used to configure the internal Nvenc api.

@type String


Enumerations:

ComputeModes

Valid values for the ComputeMode property.

Value Name Description

Wmv Compressor [wmv ]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


CodingMethod

Rate control method.

Note: Default is OnePassVBR. Currently, two pass encoding is not supported.

Type: CodingMethodType


KeyFrameInterval

Key frame interval in ms.

Note: Default is 3000.

Type: Int32


Profile

Encoding profile.

Note: Default is Main.

Type: ProfileType


Complexity

Encoding complexity.

Note: Default is LiveFast.

Type: ComplexityType


BFrames

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


EncoderDelay

Size of encoder buffer in ms.

Note: Default is 5000.

Type: Int32


BitRate

Encoding bitrate in bits per second.

Note: Default is 10000000.

Type: Int32


Quality

Encoding quality.

Valid values range from 0 - 100.

Note: Default is 80.

Type: Int32


PeakBitRate

Constraint bitrate in bits per second.

Note: Default is 0.

Type: Int32


InsertStartCodes

If true start codes are inserted.

Note: Default is false.

Type: Bool


Enumerations:

ProfileType

Valid values for the Profile property.

Value Name Description
0 Simple Simple
1 Main Main (default)
2 Broadcast Broadcast

CodingMethodType

Valid values for the CodingMethod property.

Value Name Description
0 OnePassCBR OnePassCBR
1 TwoPassCBR TwoPassCBR
2 OnePassVBR OnePassVBR
4 TwoPassConstrainedVBR TwoPassConstrainedVBR
3 TwoPassVBR TwoPassVBR

CompexityType

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

Ross XPression Compressor [xpvc]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


Quality

Compression qualtiy.

Valid values range from [0, 10000].

Note: Default is 8000.

Type: Int32


Comprimato Jpeg2000 Compressor [cj2k]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


Supported

Represents the availablilty of the device.

Determines if the devices in the Devices array is supported.

Note: Read only.

Type: Bool


LogLevel

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


EnableMCT

Configures encoder to use MCT (multi-component transformation).

Note: Defaults to false.

Type: Bool


Threads

Configures the number of CPU threads to use.

Note: Defaults to 0 (use all available cores).

Type: Int32


InsertTLMMarkers

Configures encoder to use TLM marker segments (describes the length of the tile-parts).

Note: Defaults to false.

Type: Bool


InsertEPHMarkers

Configures encoder to use EPH marker segments (end of packet header).

Note: Defaults to false.

Type: Bool


BitRate

Specifies the maximum encode bit rate.

Note: Defaults to 1 Mbit/second.

Type: Int32


InsertSOPMarkers

Configures encoder to use SOP marker segments (start of packet header).

Note: Defaults to false.

Type: Bool


EncodingMode

Selects mode that can speed up the encoding, with some precision trade-off.

Note: Defaults to EM_DEFAULT, full precision.

Type: ENCODING_MODE


Lossless

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


Comment

Adds a comment marker segment to the codestream.

For interlaced codestream, the comment will be added to both fields.

Type: Sring


Profile

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


MemoryLimit

Limits overall memory usage of specified device (in mega-bytes).

Use 0 for no limit.

Note: Defaults to 0.

Type: Int32


Level

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


MinimumFrameSize

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


SubLevel

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


GuardBits

Configures the number of guard bits.

Valid values range from 0-7.

Note: Defaults to 2.

Type: Int32


ResolutionCount

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


TileWidth

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


TileHeight

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


CodeblockWidth

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


CodeblockHeight

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


PrecinctWidth

Configures encoder to use precincts of given width.

Must be a power of 2.

Note: Defaults to 256.

Type: Int32


PrecinctHeight

Configures encoder to use precincts of given height.

Must be a power of 2.

Note: Defaults to 256.

Type: Int32


Quantization

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


BitDepth

Specifies the bit depth of each color component.

Note: Defaults to input sample bit depth.

Type: Int32


Devices

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


Progression

Configures encoder to use given progression.

Note: Defaults to PRG_LRCP.

Type: PROGRESSION


Capabilities

Configures encoder to signal given capabilities in encoded codestreams for decoder.

Note: Defaults to capabilities determined by profile.

Type: UInt16


TileLimit

Limits number of tiles to be decoded at one moment.

Use 0 for no limit.

Note: Defaults to 0.

Type: Int32


QueueSize

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


ComputeMode

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


PlatformIndex

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


DeviceIndex

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


Enumerations:

PROGRESSION

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

LOG_LEVEL

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

COMPUTE_MODE

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

ENCODING_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.

PROFILE

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.

Avid DNxHD Compressor [adnh]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


Threads

The number of threads the filter should use

Type: Int


CompressionId

Avid compression identifier.

Type: UInt32


PreserveAlpha

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


BitDepth

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


Intel QuickSync H.264 Compressor [q264]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


TargetUsage

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


D3D11HardwareAdapterIndex

Read only property to determine which adapter is the Intel QuickSync adapter for D3D11.

Type: Int32


QPP

Quantization Parameters (QP) for P frames, respectively, for the constant QP (CQP) mode.

Type: Int32


D3D9HardwareAdapterIndex

Read only property to determine which adapter is the Intel QuickSync adapter for D3D9.

Type: Int32


Profile

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


AsyncDepth

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


BitRate

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


MaxBitRate

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


Level

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


GopPicSize

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


GopRefDist

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


GopOptFlag

ORs of the GopOptFlag enumerator indicate the additional flags for the GOP specification.

Valid values include:

MFX_GOP_CLOSED = 1:

  • The encoder generates closed GOP if this flag is set.
  • Frames in this GOP do not use frames in previous GOP as reference.
  • The encoder generates open GOP if this flag is not set.
  • In this GOP frames prior to the first frame of GOP in display order may use frames from previous GOP as reference.
  • Frames subsequent to the first frame of GOP in display order do not use frames from previous GOP as reference.
  • The AVC encoder ignores this flag if IdrInterval is set to 0, i.e. if every GOP starts from IDR frame.
  • In this case, GOP is encoded as closed.
  • This flag does not affect long - term reference frames. MFX_GOP_STRICT = 2:
  • The encoder must strictly follow the given GOP structure as defined by parameter GopPicSize, GopRefDist, etc.
  • Otherwise, the encoder can adapt the GOP structure for better efficiency, whose range is constrained by parameter GopPicSize and GopRefDist etc.

Type: Int32


QPI

Quantization Parameters (QP) for I frames, respectively, for the constant QP (CQP) mode.

Type: Int32


IdrInterval

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


RateControlMethod

Rate control method

Valid values include: MFX_RATECONTROL_CBR = 1;

  • Use the constant bitrate control algorithm. MFX_RATECONTROL_VBR = 2:
  • Use the variable bitrate control algorithm. MFX_RATECONTROL_CQP = 3:
  • Use the constant quantization parameter algorithm. MFX_RATECONTROL_ICQ = 9: -Use the Intelligent Constant Quality algorithm.
  • This algorithm improves subjective video quality of encoded stream.
  • Depending on content, it may or may not decrease objective video quality.
  • Only one control parameter is used - quality factor, specified by Quality.

Type: Int32


QPB

Quantization Parameters (QP) for B frames, respectively, for the constant QP (CQP) mode.

Type: Int32


Quality

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


Perseus Plus Compressor [ppc ]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


EncodingUpsampleType

The upsample filter to use for all planes.

Note: Can be either Nearest, Linear, Cubic, cubicPrediction, Mishus, or Lanczos

Type: FilterTypes


EncodingDownsampleLumaType

The downsample filter to use for the luma planes.

Note: Can be either Area or Lanczos.

Type: FilterTypes


TemporalEnabled

This is used to control the temporal encoding feature of the Perseus encoder.

Note: Temporal operates slower when enabled.

Type: Bool


EncodingDownsampleChromaType

The downsample filter to use for the luma planes.

Note: Can be either Area or Lanczos.

Type: FilterTypes


EncodingTransformType

This is used to specify the transform type to use for Perseus encoding.

Note: Can be either DD or DDS

Type: TransformTypes


DoubleUpsamplingEnabled

This is used to enable the double upsampling technique when decoding a Perseus enabled stream.

Type: Bool


Tune

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


BucketDuration

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


DitheringType

This is used to control the behaviour of the dithering technique.

Type: DitheringTypes


DitheringStrength

This is used to control the base level strength of the dithering technique.

Note: Range: 0 - MAX_INT.

Type: Int32


OutputFillerEnabled

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


Genre

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


PerseusMode

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


Bitrate

The desired stream bitrate.

Value is specified in bits per second.

Note: Range: 0 - MAX_INT.

Type: Int32


BitrateMaxBaseProportion

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


BitrateBaseProportion

Proportion of the total stream bitrate for the base bitrate.

Specified between 0 and 1.

Type: Float


Enumerations:

PerseusModes

Specifies valid values for the PerseusMode property.

Value Name Description
0 Robust Robust
1 Sharp Sharp
2 Native Native

FilterTypes

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

Tunes

Specifies valid values for the Tune property.

Value Name Description
0 Metrics Metrics
1 Subjective Subjective
2 Speed Speed

DitheringTypes

Specifies valid values for the DitheringType property.

Value Name Description
1 Uniform Uniform
0 None None

TransformTypes

Specifies valid values for the EncodingTransformType property.

Value Name Description
0 DD DD
1 DDS DDS

Genres

Specifies valid values for the Genre property.

Value Name Description
0 Default Default
1 Sport Sport

Matrox DSX H.264 Compressor [m264]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool


Constraint

Specifies the H.264 encoding constrint.

Type: ContstraintType


Enumerations:

ConstraintType

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

MPEG-2 Video Re-compressor [m2rc]

Properties:

OutputFormat

Four character code that specifies the output video stream format

Type: Four


UsingHardwareAcceleration

True if the filter is using hardware acceleration.

Note: This property is read only.

Type: Bool