[akey]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
The Alpha index.
This parameter affects which track is treeateed as the alpha key
Note: Defaults to 1.
Type: Int
[hvpl]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Specifies the top edge of the masking rectangle.
The masking rectangle is specified as the number of pixels from the edge of the output frame and is used when letter-boxing or pillar-boxing.
Note: Defaults to 0.
Type: Int32
The color primaries of the output color space.
The color primaries determine the RGB->XYZ conversion matrix.
Note: Defaults to input color primaries. See the values enumerated by ColorPrimaries.
Type: Int32
The matrix coefficients of the output color space.
The matrix coefficients determine the YUV->RGB conversion matrix.
Note: Defaults to input matrix coeffecients. See the values enumerated by ColorSpace::MatrixCoeffients.
Type: Int32
The deinterlace mode.
If left unspecified the output properties will reflect the primary/master field order.
Type: DEINTERLACE_MODE
Specifies the starting point of the range compression for the blacks.
For narrow range conversions the extra head room will be used for HDR by default.
The TMO for the shoulder is defined as: \f$ B + (b - B) e^\frac{x-B}{b-B}} \f$. Where, b is the starting point of the range compression for the whites and B is the minimum value to compress too. For narrow range, B is ~-7%, for full range B is 0%.
Note: Default: 0.0f
Type: Bool
Specifies the height of the video.
By default the height will be the same as the primary/master. This property allows the client to specify a new height.
The pixel aspect ratio will be updated automatically to preserve the display aspect ratio of the primary/master media.
Note: Defaults to the primary/master height.
Type: Int32
The transfer characteristics of the output color space.
The transfer characteristics determine the non-linear electro-optical response function.
Note: Defaults to input transfer characteristics. See the values enumerated by TransferCharacteristics.
Type: Int32
The video range of the output color space.
The video range specifies the range of values in RGB. If specified as a lower and upper bound, then the range is set to ColorRange::Extension and the lower and upper bounds are added to the color space properties extension.
Note: Defaults to input video range. See the values enumerated by VideoRange.
Type: Int32 or an array of two elements
The normalized [0-1] reference black level at 0% reflectivity.
Note: Defaults to the black level determined by the output transfer characteristics.
System | Black |
---|---|
PQ | 0.0623 |
HLG | 0.0373 |
ST.428-1 | 0.0517 |
BT.709 | 0.0000 |
Type: Float
Specifies the right edge of the cropping rectangle.
The cropping rectangle is specified as the number of pixels from the edge of the source rectangle.
Note: Defaults to 0.
Type: Int32
The normalized [0-1] reference white level at 100% reflectivity.
Note: Defaults to the white level determined by the output transfer characteristics.
System | White |
---|---|
PQ | 0.5807 |
HLG | 0.7500 |
ST.428-1 | 0.9670 |
BT.709 | 1.0000 |
Type: Float
Represents the GPU device to use.
If the compute mode indicates a GPU mode, this determines the device to use.
Note: Defaults to the first valid device.
Type: Int32
Enables the tone mapping operator (TMO) to compress the luminance range.
Note: Default: true
Type: Bool
Specifies a hint to the conversion process.
This property is used to select which strategy to use when converting between formats. The hint controls the order in which conversion stages are exectued. For example, it may be faster to down-scale or subsample first rather than at the end at the expense of quality.
Note: Defaults to CS_SPEED.
Type: CONVERSION_STRATEGY
Specifies the starting point of the range compression for the whites.
For narrow range conversions the extra head room will be used for HDR by default.
The TMO for the shoulder is defined as: \f$ W + (w - W) e^\frac{x-W}{w-W}} \f$. Where, w is the starting point of the range compression for the whites and W is the maximum value to compress too. For narrow range, W is ~109%, for full range W is 100%.
Note: Default: 1.0f
Type: Float
Specifies the bottom edge of the masking rectangle.
The masking rectangle is specified as the number of pixels from the edge of the output frame and is used when letter-boxing or pillar-boxing.
Note: Defaults to 0.
Type: Int32
@brief Specifies the minimum allowed value when compressing the dynamic range.
@details This value is specified in normalized linear units.
The TMO for the toe is defined as: \f$ B + (b - B) e^\frac{x-B}{b-B}} \f$. Where, b is the starting point of the range compression for the blacks and B is the minimum value to compress too. For narrow range, B is ~-7%, for full range B is 0%.
@note Default: ~-0.07 for narrow range, 0.00 for full range.
@type Float
Specifies the maximum allowed value when compressing the dynamic range.
This value is specified in normalized linear units.
The TMO for the shoulder is defined as: \f$ W + (w - W) e^\frac{x-W}{w-W}} \f$. Where, w is the starting point of the range compression for the whites and W is the maximum value to compress too. For narrow range, W is ~109%, for full range W is 100%.
Note: Default: ~1.09 for narrow range, 1.00 for full range.
Type: Float
The bit dpeth to be reflected on the output properties.
If set, only output formats of the specified bit depth will be reported.
Type: Int32
Enables the Reinhard tone mapping operator (TMO) to compress the luminance range.
The Reinhard TMO is defined as: \f$x/// @frac{1 + \frac{x}{ratio^2}}{1 + x}\f$. A value of 1 effectively results in no compression.
Note: If RangeCompressionRatio is specified RangeCompressionToe and RangeCompressionShoulder are ignored.
Type: Float
Disables the application of the Optical-Optical transfer function (OOTF).
It may be technically correct to always apply the OOTF when converting color spaces; however, convention mandates we ignore the OOTF in some cases, particularly when performing SDR to SDR conversions. For example, prior conversions from BT.709 -> BT.2020 or BT.601 -> BT.709, never acknowledged the existence of the OOTFs. So, there is strong reason to believe we should continue to ignore them as this seems to be expected.
This property has been added to override the the application of the OOTF when performing a conversion. Conversions done in linear display referenced light acknowledge the OOTFs, while conversions done in linear scene referenced light do not. By default, if the system levels are changing (dynamic range compression) or the conversion is either to or from HLG, then we assume a conversion in display referenced light.
Note: Default: true
Type: Bool
Determines the method used when converting into a reduced gamut.
Converting the color primaries from a large gamut into a smaller gamut can produce illegal color values. For example, converting from BT.2020 to BT.709 may result in colors outside the BT.709 gamut. This property determines the method used to coerce the colors back to legal values.
Note: Applying a clamp may result in discontinuities in the LUT and introduce significant interpolation error. Default: CIM_NONE
Type: COLOR_INTERPOLATION_MODE
Specifies the array of composition transformations.
Each element of this array should contain properties such as Alpha or TransformationMatrix.
Type: VariantArray
Specifies the rounding mode.
This property is used to select which rounding mode to use when converting between formats. The rounding mode is only used when down-converting bit-depth. This property indicates what to do with the rounding error.
Note: Defaults to RM_DOWN if ConversionStrategy is CS_SPEED and to RM_DYNAMIC if ConversionStrategy is CS_QUALITY.
Type: ROUNDING_MODE
The subsampling to be reflected on the output properties.
If set, only output formats of the specified subsampling will be reported.
See Also: CVideoProperties
Type: Byte
The chroma siting of the output video.
The chroma siting specifies where the chroma planes are sampled. This typically only applies to 4:2:0 subsampling. Certain compression formats may specify explicit chroma sitings. For example, 4:2:0 PAL DV should always have a chroma siting of cosited-out-of-phase where as MPEG-1 should always be interstitial and MPEG-2 should be horizontally cosited.
Note: If left unspecified the output properties will reflect the primary/master chroma siting. See the chroma siting values enumerated by CVideoProperties.
Type: Int32
Specifies the units used to scale the source rectangle to the target rectangle.
Note: Defaults to UT_RELATIVE. The default value is different from TranslationUnitType.
Type: UNIT_TYPE
Specifies the width of the video.
By default the width will be the same as the primary/master media. This property allows the client to specify a new width.
The pixel aspect ratio will be updated automatically to preserve the display aspect ratio of the primary/master media.
Note: Defaults to the primary/master width.
Type: Int32
Specifies the orientation of the video.
By default the video will be always be re-orientated. This property allows the client to specify a new orientation.
Note: Defaults to 0 (no rotation, not mirrored).
See Also: CVideoProperties::SetOrientation
Type: Int32
Specifies the left edge of the cropping rectangle.
The cropping rectangle is specified as the number of pixels from the edge of the source rectangle.
Note: Defaults to 0.
Type: Int32
Specifies the horizontal pixel aspect ratio of the video.
By default the horizaontal pixel aspect ratio will be the same as the primary/master. This property allows the client to specify a new horizontal pixel aspect ratio.
The width will be updated automatically to preserve the display aspect ratio of the primary/master media.
Note: Defaults to the primary/master horizontal pixel aspect ratio.
Type: Int32
Specifies the interpolation mode.
This property is used to select which interpolation mode to use when resampling. The interpolation mode is used whenever a pixel must be subsampled. For exampling, when resizing the video frame, or chroma subsampling.
Note: Defaults to IM_LINEAR if ConversionStrategy is CS_SPEED and to IM_LANCZOS if ConversionStrategy is CS_QUALITY.
Type: INTERPOLATION_MODE
Specifies the vertical pixel aspect ratio of the video.
By default the vertical pixel aspect ratio will be the same as the primary/master. This property allows the client to specify a new vertical pixel aspect ratio.
The height will be updated automatically to preserve the display aspect ratio of the primary/master media.
Note: Defaults to the primary/master vertical pixel aspect ratio.
Type: Int32
Specifies the left edge of the masking rectangle.
The masking rectangle is specified as the number of pixels from the edge of the output frame and is used when letter-boxing or pillar-boxing.
Note: Defaults to 0.
Type: Int32
Specifies the right edge of the masking rectangle.
The masking rectangle is specified as the number of pixels from the edge of the output frame and is used when letter-boxing or pillar-boxing.
Note: Defaults to 0.
Type: Int32
Specifies the top edge of the cropping rectangle.
The cropping rectangle is specified as the number of pixels from the edge of the source rectangle.
Note: Defaults to 0.
Type: Int32
Specifies the method used to scale the source rectangle to the target rectangle.
Note: Defaults to \ref SM_MASK.
Type: SCALE_MODE
Specifies the bottom edge of the cropping rectangle.
The cropping rectangle is specified as the number of pixels from the edge of the source rectangle.
Note: Defaults to 0.
Type: Int32
Specifies the units used to translate the source rectangle within the target rectangle.
Note: Defaults to UT_ABSOLUTE. The default value is different from ScaleUnitType.
Type: UNIT_TYPE
Specifies the alpha transparency when compositing.
This value is multiplied together with the per-pixel alpha if the input format has an alpha channel.
Note: Defaults to 1.0. 0.0 is fully transparent, 1.0 is fully opaque.
Type: Float
The counter-clockwise rotation in radians.
Specifies a counter-clockwise rotation transformation about the center of the frame.
Note: Defaults to 0.0.
Type: Float.
The horizontal scale factor.
The interpretation of the scale value is determined by ScaleUnitType. For example, a realtive (1, 1) scale factor will map the entire source rectangle to the target rectangle according to the ScaleMode proeprty. If, however, the scale factor is (1, 2) the height will be scaled to twice the output height and the aspect ratio will be changed accordingly. An absolute scale of (320, 240) woulve scale the source rectangle to 320x240.
Note: Defaults to 1.0.
Type: Float.
The vertical scale factor.
The interpretation of the scale value is determined by ScaleUnitType. For example, a realtive (1, 1) scale factor will map the entire source rectangle to the target rectangle according to the ScaleMode proeprty. If, however, the scale factor is (1, 2) the height will be scaled to twice the output height and the aspect ratio will be changed accordingly. An absolute scale of (320, 240) woulve scale the source rectangle to 320x240.
Note: Defaults to 1.0.
Type: Float.
The horizontal translation.
The interpretation of the translation value is determined by TranslationUnitType. For example, a relative translation of -1 in the x-axis would put the center of the source rectangle at the left edge of the target rectangle; however, an absolute translation of -1 would move the source rectangle 1 pixel left.
Note: Defaults to 0.0.
Type: Float.
Specifiecs the output file name to write the conversion topology.
For debugging this property specifies a file to write out the conversion topology. GraphViz can then be used to convert the file into a PNG or SVG file.
Type: String
The vertical translation.
The interpretation of the translation value is determined by TranslationUnitType. For example, a relative translation of -1 in the y-axis would put the center at the bottom edge of the target rectangle; however, an absolute translation of -1 would move the source rectangle 1 pixel down.
Note: Defaults to 0.0.
Type: Float.
The transformation override matrix.
Specifies a 4x4 transformation matrix to apply to the input media. Setting this property overrides the matrix resulting from the Rotation, HorizontalScale, VerticalScale, HorizontalTranslation, and VerticalTranslation properties.
Type: VariantArray of 16 Floats.
Configures the converter to limit the number of concurrent conversions.
Limits number of images to be converter at one moment.
The converter may operate asynchronously, if so this property determines the maximum number of concurrent conversions. Use IsOutputMediaReady to determine if a video frame is ready.
Note: Defaults to 5.
Type: Int32
Determines the mode of computation.
This property is used to select which mode of computation to use.
If a GPU compute mode is specified, use the DeviceIndex property to determine which device to use when more than one is pressent.
Note: Defaults to CM_CPU.
Type: COMPUTE_MODE
Valid value for the ScaleMode property.
Value | Name | Description |
---|---|---|
0 |
SM_MASK | Fits the entire source rectangle into the target rectangle while preserving aspect ratio. The target rectangle may not be entirely filled. |
1 |
SM_CROP | Fills the entire target rectangle. The source rectangle may be cropped to preserve aspect ratio. |
2 |
SM_FILL | Fills the entire target rectangle with the entire source rectangle without preserving aspect ratio. |
Valid values for the ComputeMode property.
Value | Name | Description |
---|---|---|
1 |
CM_CPU | Host CPU |
2 |
CM_OPENCL | OpenCL |
4 |
CM_METAL | Metal |
3 |
CM_CUDA | Cuda |
5 |
CM_D3D12 | D3D12 |
Valid values for the TranslationUnitType and ScaleUnitType property.
Value | Name | Description |
---|---|---|
0 |
UT_ABSOLUTE | Unit values are specified in output pixels. |
1 |
UT_RELATIVE | Unit values are specified in output relative space, defined as [-1, 1]. |
Specifies valid values for the GamutCoercionMode property.
Value | Name | Description |
---|---|---|
0 |
CIM_NONE | Don’t do any conversion, may result in illegal color values. |
1 |
CIM_CLAMP | Clamp all colors outside the gamut. |
2 |
CIM_INTERPOLATE | The color is interpolated along a line orthogonal to the black-white vector attempting to perceptually maintain the closest representable color. |
Valid values for the InterpolationMode property.
Value | Name | Description |
---|---|---|
0 |
IM_NEAREST | Nearest Neighbor |
1 |
IM_LINEAR | Bi-linear |
2 |
IM_CUBIC | Bi-cubic |
3 |
IM_LANCZOS | Lanczos |
Valid values for the RoundingMode property.
Value | Name | Description |
---|---|---|
0 |
RM_DOWN | Round down |
1 |
RM_UP | Round up |
2 |
RM_NEAREST | Round to nearest |
3 |
RM_DYNAMIC | Dynamic Rounding (add random noise, then round down) |
Valid values for the DeinterlaceMode property.
Value | Name | Description |
---|---|---|
3 |
DM_FIELD2 | Duplicate Field 2, decimate Field 1 |
0 |
DM_NONE | Weave, no dinterlacing |
0 |
DM_WEAVE | Weave, no dinterlacing |
1 |
DM_BLEND | Blend, triangle filter |
2 |
DM_FIELD1 | Duplicate Field 1, decimate Field 2 |
4 |
DM_SPLIT | Split Frame, Field 1 over Field 2 |
Valid values for the ConversionStrategy property.
Value | Name | Description |
---|---|---|
0 |
CS_SPEED | Prefer speed over quality |
1 |
CS_QUALITY | Prefer quality over speed |
[vcc ]
Four character code that specifies the output video stream format
Type: Four
True if the filter is using hardware acceleration.
Note: This property is read only.
Type: Bool
Represents the device index to use.
If the compute mode indicates either GPU, OpenCL, Cuda, or Metal, this determines the device to use.
Note: type: Int32
Determines the mode of computation.
This property is used to select which mode of computation to use.
If any GPU compute mode is specified, use the DeviceIndex property to determine which device to use when more than one is pressent.
Note: type: ComputeModes
Output frame width.
Type: Int32
Specifies the array of composition transformations.
Each element of this array should contain properties such as Alpha, LeftOffset or TopOffset.
Type: VariantArray
Output frame height.
Type: Int32
Specifies the top offset of the track.
The top offset when compositing the track
Note: Defaults to 0.
Type: Int32
Specifies the alpha transparency when compositing.
This value is multiplied together with the per-pixel alpha if the input format has an alpha channel.
Note: Defaults to 1.0. 0.0 is fully transparent, 1.0 is fully opaque.
Type: Float
Specifies the left offset of the track.
The left offset when compositing the track
Note: Defaults to 0.
Type: Int32
Valid values for the ComputeMode property.
Value | Name | Description |
---|---|---|
0 |
CPU | CPU computation mode |
1 |
GPU | GPU computation mode. Selects metal on OSX and CUDA on Windows/Linux. |
3 |
OpenCL | OpenCL computation mode |
2 |
Cuda | Cuda computation mode |
4 |
Metal | Metal computation mode |