// d3dumddi.h
typedef enum _DXVADDI_VIDEOTRANSFERFUNCTION {
DXVADDI_VideoTransFuncMask,
DXVADDI_VideoTransFunc_Unknown,
DXVADDI_VideoTransFunc_10,
DXVADDI_VideoTransFunc_18,
DXVADDI_VideoTransFunc_20,
DXVADDI_VideoTransFunc_22,
DXVADDI_VideoTransFunc_709,
DXVADDI_VideoTransFunc_240M,
DXVADDI_VideoTransFunc_sRGB,
DXVADDI_VideoTransFunc_28
} DXVADDI_VIDEOTRANSFERFUNCTION;
View the official Windows Driver Kit DDI referenceNo description available.
The DXVADDI_VIDEOTRANSFERFUNCTION enumeration type contains values that identify the conversion function from R'G'B' to RGB.
DXVADDI_VideoTransFuncMaskSpecifies the video transfer function mask. The first 5 (0x001F) bits of a DWORD can be used to specify the video transfer function.
DXVADDI_VideoTransFunc_UnknownSpecifies that the video transfer function is not specified. The default is 22_8bit_sRGB if required for a computation.
DXVADDI_VideoTransFunc_10Specifies linear RGB conversion (corresponds to gamma = 1.0).
DXVADDI_VideoTransFunc_18Specifies true 1.8 gamma--that is, L' = pow(L, 1/gamma) for L=0..1.
DXVADDI_VideoTransFunc_20Specifies true 2.0 gamma--that is, L' = pow(L, 1/gamma) for L=0..1.
DXVADDI_VideoTransFunc_22Specifies true 2.2 gamma--that is, L' = pow(L, 1/gamma) for L=0..1.
The BT470-2 SysM primaries (that is, the DXVADDI_VIDEOPRIMARIES enumeration type) use gamma 2.2.
DXVADDI_VideoTransFunc_709Specifies gamma 2.2 curve with a linear range in the low range.
The BT709, SMPTE296M, SMPTE170M, BT470, and SMPTE274M primaries (that is, the DXVADDI_VIDEOPRIMARIES enumeration type) use this video transfer function.
DXVADDI_VideoTransFunc_240MSpecifies gamma 2.2 curve with a linear range in the low range.
The SMPTE240M and interim 274M primaries (that is, the DXVADDI_VIDEOPRIMARIES enumeration type) use this video transfer function.
DXVADDI_VideoTransFunc_sRGBSpecifies gamma 2.4 curve with a linear range in the low range, which makes it match an accurate 2.2 gamma 8-bit curve.
DXVADDI_VideoTransFunc_28Specifies true 2.8 gamma--that is, L' = pow(L, 1/gamma) for L=0..1.
One of the values of DXVADDI_VIDEOTRANSFERFUNCTION can be specified in the VideoTransferFunction member of the DXVADDI_EXTENDEDFORMAT structure.
DXVADDI_VIDEOTRANSFERFUNCTION corresponds to the gamma function of the data. Some transfer functions have corrections to account for 8-bit integer quantization effects.
The following constants can also be used for gamma function:
#define DXVADDI_VideoTransFunc_22_709 DXVADDI_VideoTransFunc_709
#define DXVADDI_VideoTransFunc_22_240M DXVADDI_VideoTransFunc_240M
#define DXVADDI_VideoTransFunc_22_8bit_sRGB DXVADDI_VideoTransFunc_sRGB