Compartilhar via


Criando buffers compactados e decodificar destinos de renderização

O runtime do Microsoft Direct3D chama a função CreateResource do driver de exibição no modo de usuário para criar buffers compactados e renderizar destinos para decodificação.

Cada tipo de buffer compactado tem seu próprio formato de superfície, bem como um sinalizador especial que indica que a superfície criada pelo runtime contém informações de buffer compactadas para decodificação de vídeo acelerada. O driver de exibição do modo de usuário determina a criação de um buffer compactado se o sinalizador de campo de bits DecodeCompressedBuffer no membro Flags da estrutura D3DDDIARG_CREATERESOURCE para o qual o parâmetro pResource de CreateResource aponta está definido. O driver de exibição do modo de usuário determina o tipo de buffer compactado a ser criado pelo valor de formato no membro Format do D3DDDIARG_CREATERESOURCE. Os seguintes formatos são definidos:

D3DDDIFMT_PICTUREPARAMSDATA       = 150
D3DDDIFMT_MACROBLOCKDATA          = 151
D3DDDIFMT_RESIDUALDIFFERENCEDATA  = 152
D3DDDIFMT_DEBLOCKINGDATA          = 153
D3DDDIFMT_INVERSEQUANTIZATIONDATA = 154
D3DDDIFMT_SLICECONTROLDATA        = 155
D3DDDIFMT_BITSTREAMDATA           = 156

O runtime do Direct3D cria cada destino de renderização de decodificação independentemente em uma chamada para a função CreateResource do driver de exibição no modo de usuário. Cada um dos destinos é referenciado como um índice de sub-recurso de um único recurso. O driver de exibição do modo de usuário determina a criação de um destino de renderização de decodificação se o sinalizador de campo de bits DecodeRenderTarget no membro Flags do D3DDDIARG_CREATERESOURCE estiver definido.