MFVideoTransferFunction enumeration (mfobjects.h)

Specifies the conversion function from linear RGB to non-linear RGB (R'G'B').

Syntax

typedef enum _MFVideoTransferFunction {
  MFVideoTransFunc_Unknown = 0,
  MFVideoTransFunc_10 = 1,
  MFVideoTransFunc_18 = 2,
  MFVideoTransFunc_20 = 3,
  MFVideoTransFunc_22 = 4,
  MFVideoTransFunc_709 = 5,
  MFVideoTransFunc_240M = 6,
  MFVideoTransFunc_sRGB = 7,
  MFVideoTransFunc_28 = 8,
  MFVideoTransFunc_Log_100 = 9,
  MFVideoTransFunc_Log_316 = 10,
  MFVideoTransFunc_709_sym = 11,
  MFVideoTransFunc_2020_const = 12,
  MFVideoTransFunc_2020 = 13,
  MFVideoTransFunc_26 = 14,
  MFVideoTransFunc_2084 = 15,
  MFVideoTransFunc_HLG = 16,
  MFVideoTransFunc_10_rel = 17,
  MFVideoTransFunc_BT1361_ECG = 18,
  MFVideoTransFunc_SMPTE428 = 19,
  MFVideoTransFunc_Last,
  MFVideoTransFunc_ForceDWORD = 0x7fffffff
} MFVideoTransferFunction;

Constants

 
MFVideoTransFunc_Unknown
Value: 0
Unknown. Treat as MFVideoTransFunc_709.
MFVideoTransFunc_10
Value: 1
Linear RGB (gamma = 1.0).
MFVideoTransFunc_18
Value: 2
True 1.8 gamma, L' = L^1/1.8.
MFVideoTransFunc_20
Value: 3
True 2.0 gamma, L' = L^1/2.0.
MFVideoTransFunc_22
Value: 4
True 2.2 gamma, L' = L^1/2.2. This transfer function is used in ITU-R BT.470-2 System M (NTSC).
MFVideoTransFunc_709
Value: 5
ITU-R BT.709 transfer function. Gamma 2.2 curve with a linear segment in the lower range. This transfer function is used in BT.709, BT.601, SMPTE 296M, SMPTE 170M, BT.470, and SPMTE 274M. In addition BT-1361 uses this function within the range [0...1].
MFVideoTransFunc_240M
Value: 6
SPMTE 240M transfer function. Gamma 2.2 curve with a linear segment in the lower range.
MFVideoTransFunc_sRGB
Value: 7
sRGB transfer function. Gamma 2.4 curve with a linear segment in the lower range.
MFVideoTransFunc_28
Value: 8
True 2.8 gamma. L' = L^1/2.8. This transfer function is used in ITU-R BT.470-2 System B, G (PAL).
MFVideoTransFunc_Log_100
Value: 9
Logarithmic transfer (100:1 range); for example, as used in H.264 video.

Note  Requires Windows 7 or later.

 
MFVideoTransFunc_Log_316
Value: 10
Logarithmic transfer (316.22777:1 range); for example, as used in H.264 video.

Note  Requires Windows 7 or later.

 
MFVideoTransFunc_709_sym
Value: 11
Symmetric ITU-R BT.709.

Note  Requires Windows 7 or later.

 
MFVideoTransFunc_2020_const
Value: 12
Constant luminance ITU-R BT.2020. See Recommendation ITU-R BT.2020-2.

Note  Requires Windows 8 or later.

 
MFVideoTransFunc_2020
Value: 13
Non-constant luminance ITU-R BT.2020. See Recommendation ITU-R BT.2020-2.

Note  Requires Windows 8 or later.

 
MFVideoTransFunc_26
Value: 14
True 2.6 gamma, L’=L^1/2.6

Note  Requires Windows 8 or later.

 
MFVideoTransFunc_2084
Value: 15
SMPTE ST.2084 also known as PQ. Also defined in ITU-R BT.2100

Note  Requires Windows 10, version 1703 or later.

 
MFVideoTransFunc_HLG
Value: 16
Hybrid Log-Gamma, ARIB STD-B67

Note  Requires Windows 10, version 1703 or later.

 
MFVideoTransFunc_10_rel
Value: 17
No gamma, display referred (relative).
MFVideoTransFunc_BT1361_ECG
Value: 18
The transfer function Extended Color Gamut video, as defined by ITU-R BT.1361.
MFVideoTransFunc_SMPTE428
Value: 19
Video transfer function defined in SMPTE ST 428-1.
MFVideoTransFunc_Last
Reserved.
MFVideoTransFunc_ForceDWORD
Value: 0x7fffffff
Reserved. This member forces the enumeration type to compile as a DWORD value.

Remarks

These flags are used with the MF_MT_TRANSFER_FUNCTION attribute.

For more information about these values, see the remarks for the DXVA2_VideoTransferFunction enumeration, which is the DirectX Video Acceleration (DXVA) equivalent of this enumeration.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header mfobjects.h (include Mfidl.h)

See also

Extended Color Information

Media Foundation Enumerations

Video Media Types