estructura DXVA_TCoefSingle (dxva.h)
El descodificador del host envía la estructura DXVA_TCoefSingle al acelerador para especificar valores de coeficiente IDCT.
Sintaxis
typedef struct _DXVA_TCoefSingle {
WORD wIndexWithEOB;
SHORT TCoefValue;
} DXVA_TCoefSingle, *LPDXVA_TCoefSingle;
Miembros
wIndexWithEOB
Este miembro contiene dos campos: TCoefIDX y TCoefEOB.
TCoefIDX
Especifica el índice de examen del coeficiente en el bloque, determinado a partir del miembro bConfigHostInverseScan de la estructura DXVA_ConfigPictureDecode. Este campo se encuentra en los 15 bits más significativos del miembro wIndexWithEOB .
Hay dos maneras de usar TCoefIDX:
- Ordenación de longitud de ejecución: cuando bConfigHostInverseScan es cero, el MBscanMethod elemento del comando de control de macroblock indica un examen zigzag, alternate-vertical o alternate-horizontal inverso. Estos comandos de control de macrobloqueo se definen en las siguientes estructuras: DXVA_MBctrl_I_OffHostIDCT_1 o DXVA_MBctrl_P_OffHostIDCT_1. En este caso, TCoefIDX contiene el número de coeficientes con valores cero que preceden al coeficiente actual en el orden de examen especificado, posterior al último coeficiente transmitido del bloque (o relativo al inicio del bloque si no lo precede ninguno). Los coeficientes restantes después del último coeficiente enviado en el orden de examen inverso están implícitos en tener el valor cero.
- Ordenación arbitraria: cuando bConfigHostInverseScan es 1, el MBscanMethod elemento del comando de control macroblock indica un orden arbitrario. Estos comandos de control de macrobloqueo se definen en las siguientes estructuras: DXVA_MBctrl_I_OffHostIDCT_1 y DXVA_MBctrl_P_OffHostIDCT_1. En este caso, TCoefIDX simplemente contiene el índice ráster del coeficiente dentro del bloque (TCoefIDX = u + 8 * v, donde usted y v son las coordenadas de frecuencia horizontal y vertical del dominio de transformación) y los coeficientes que no se envían están implícitos en tener el valor 0.
TCoefEOB
Indica si el coeficiente actual es el último asociado al bloque actual de coeficientes de transformación. Un valor de 1 indica que el coeficiente actual es el último para el bloque y un valor de cero indica que no lo es. Este campo está en el bit menos significativo del miembro wIndexWithEOB.
TCoefValue
Indica el valor del coeficiente en el bloque. TCoefValue se debe recortar en el intervalo adecuado, tal como se especifica en Low-Level idCT Processing Elements por el host antes de pasar el valor de coeficiente al acelerador para operación de IDCT. El control mpeg-2 no coincide, si es necesario, también es responsabilidad del host, no del acelerador. (Esto puede requerir la creación de coeficientes "fantasma" no cero adicionales).
Observaciones
La estructura DXVA_TCoefSingle se usa siempre que la marca HostResidDiff (bit 10 en el wMBtype miembro de la estructura DXVA_MBctrl_P_OffHostIDCT_1 o DXVA_MBctrl_I_OffHostIDCT_1) es 1 y el miembro bConfig4GroupedCoefs de la estructura de DXVA_ConfigPictureDecode es cero.
Requisitos
Requisito | Valor |
---|---|
encabezado de | dxva.h (include Dxva.h) |