// dxva.h
typedef struct _DXVA_TCoefSingle {
WORD wIndexWithEOB;
SHORT TCoefValue;
} DXVA_TCoefSingle, *LPDXVA_TCoefSingle;
View the official Windows Driver Kit DDI referenceNo description available.
The DXVA_TCoefSingle structure is sent by the host decoder to the accelerator to specify IDCT coefficient values.
wIndexWithEOBThis member contains two fields: TCoefIDX and TCoefEOB.
Specifies the scan index of the coefficient in the block, as determined from the bConfigHostInverseScan member of the DXVA_ConfigPictureDecode structure. This field is in the 15 most significant bits of the wIndexWithEOB member.
There are two ways that TCoefIDX can be used:
TCoefIDX must always be less than 64.
Indicates whether the current coefficient is the last one associated with the current block of transform coefficients. A value of 1 indicates that the current coefficient is the last one for the block and a value of zero indicates that it is not. This field is in the least significant bit of the wIndexWithEOB member.
TCoefValueIndicates the value of the coefficient in the block. TCoefValue must be clipped to the appropriate range as specified in Low-Level IDCT Processing Elements by the host prior to passing the coefficient value to the accelerator for IDCT operation. MPEG-2 mismatch control, if necessary, is also the responsibility of the host, not the accelerator. (This might require the creation of extra "phantom" nonzero coefficients.)
The DXVA_TCoefSingle structure is used whenever the HostResidDiff flag (bit 10 in the wMBtype member of the DXVA_MBctrl_P_OffHostIDCT_1 or DXVA_MBctrl_I_OffHostIDCT_1 structure) is 1 and the bConfig4GroupedCoefs member of the DXVA_ConfigPictureDecode structure is zero.