estrutura DXVA_QmatrixData (dxva.h)
A estrutura DXVA_QmatrixData é enviada pelo decodificador de host para o acelerador para carregar dados de matriz de quantização inversa para decodificação de imagem de vídeo compactada de bitstream fora do host.
Sintaxe
typedef struct _DXVA_QmatrixData {
BYTE bNewQmatrix[4];
WORD *Qmatrix[4][DXVA_USUAL_BLOCK_WIDTH DXVA_USUAL_BLOCK_HEIGHT];
} DXVA_QmatrixData, *LPDXVA_QmatrixData;
Membros
bNewQmatrix[4]
Indica quais novas matrizes de quantificação inversa estão presentes em um buffer de matriz de quantização inversa. Cada elemento nessa matriz corresponde a um tipo de matriz de quantização inversa e indica se uma nova matriz inversa-quantização desse tipo está presente no buffer. Se qualquer elemento na matriz bNewQmatrix contiver um valor de 1, uma nova matriz de quantização inversa do tipo especificado para esse elemento de matriz seguirá no buffer de matriz de quantização inversa. As matrizes de quantização inversa que podem ser usadas são as seguintes.
Elemento NewQmatrix | Tipo de matriz Inverse-Quantization |
---|---|
0 | Especifica a quantização de intra luminância. |
1 | Especifica a quantização entre luminências. |
2 | Especifica a quantização intra-chrominance. |
3 | Especifica a quantização entre cromínias. |
O valor em bNewQmatrix[0] e bNewQmatrix[1] não deve ser zero.
Se o valor de bNewQmatrix[2] ou bNewQmatrix[3] for zero, o seguinte se aplicará:
Se bNewQmatrix[i - 2] for zero, a matriz de quantização inversa anterior definida pelo elemento ith deve continuar a ser usada pelo acelerador.
Se bNewQmatrix[i - 2] for 1, a matriz de quantização inversa definida pelo elemento ith é definida como a nova matriz inversa-quantização para i - 2.
Qmatrix[4]
Uma matriz bidimensional que especifica um buffer de matriz de quantização inversa. Essa matriz está presente apenas para cada elemento em bNewQmatrix igual a 1. A matriz consiste em (bBlockWidthMinus1+1) X (bBlockHeightMinus1+1) palavras sem sinal (em que apenas os 8 inferiores bits de cada palavra são usados para os padrões de codificação de vídeo dominantes), em que bBlockWidthMinus1 e bBlockHeightMinus1 são membros da estrutura DXVA_PictureParameters.
Observações
Se a codificação de vídeo não precisar de matrizes inversas de quantização (por exemplo, H.261 e H.263), buffers de matriz de quantização inversa não deverão ser enviados. Se a codificação de vídeo precisar de matrizes inversas de quantização, algum valor deverá ser fornecido para essas matrizes de quantização inversa pelo host antes ou em conjunto com a transferência de quaisquer buffers de dados bitstream no início do processo de decodificação de vídeo.
Nenhum valor padrão de matrizes inversas de quantização pode ser assumido pelo acelerador na ausência de qualquer valor anterior enviado pelo host. Os valores da matriz de quantização devem ser enviados explicitamente, mesmo que contenham valores disponíveis por padrão na especificação de codificação de vídeo relevante.
Buffers de matriz de quantização inversa são enviados somente quando o bConfigBitstreamRaw membro da estrutura DXVA_ConfigPictureDecode for 1.
A ordem dos valores de dados dentro da matriz de quantização inversa é especificada na especificação de codificação de vídeo relevante.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | dxva.h (inclua Dxva.h) |