Specifies the conversion function from linear RGB to non-linear RGB (R’G’B’).
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_Last = (MFVideoTransFunc_709_sym+1),
MFVideoTransFunc_ForceDWORD = 0x7fffffff
} MFVideoTransferFunction;
| Constant | Description |
|---|---|
| MFVideoTransFunc_Unknown | Unknown. Treat as MFVideoTransFunc_709. |
| MFVideoTransFunc_10 | Linear RGB (gamma = 1.0). |
| MFVideoTransFunc_18 | True 1.8 gamma, L’ = L^1/1.8. |
| MFVideoTransFunc_20 | True 2.0 gamma, L’ = L^1/2.0. |
| MFVideoTransFunc_22 | 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 | 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 | SPMTE 240M transfer function. Gamma 2.2 curve with a linear segment in the lower range. |
| MFVideoTransFunc_sRGB | sRGB transfer function. Gamma 2.4 curve with a linear segment in the lower range. |
| MFVideoTransFunc_28 | 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 | Logarithmic transfer (100:1 range); for example, as used in H.264 video. Note Requires Windows 7 or later. |
| MFVideoTransFunc_Log_316 | Logarithmic transfer (316.22777:1 range); for example, as used in H.264 video. Note Requires Windows 7 or later. |
| MFVideoTransFunc_709_sym | Symmetric ITU-R BT.709. Note Requires Windows 7 or later. |
| MFVideoTransFunc_Last | Reserved. |
| MFVideoTransFunc_ForceDWORD | Reserved. This member forces the enumeration type to compile as a DWORD value. |
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.
Header: Declared in mfobjects.h.