// d3d10umddi.h
typedef struct D3DWDDM2_4DDI_VIDEO_DECODER_BUFFER_DESC {
D3D10DDI_HRESOURCE hResource;
D3D11_1DDI_VIDEO_DECODER_BUFFER_TYPE BufferType;
UINT DataOffset;
UINT DataSize;
void *pIV;
UINT IVSize;
D3DWDDM2_0DDI_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK *pSubSampleMappingBlock;
UINT SubSampleMappingCount;
UINT cBlocksStripeEncrypted;
UINT cBlocksStripeClear;
} D3DWDDM2_4DDI_VIDEO_DECODER_BUFFER_DESC;
View the official Windows Driver Kit DDI referenceNo description available.
Represents additional decode parameters.
hResourceThe source decoder buffer.
BufferTypeThe type of buffer.
DataOffsetThe offset of the relevant data from the beginning of the buffer, in bytes. This value must be zero.
DataSizeSize of the relevant data.
pIVA pointer to a buffer that contains an initialization vector (IV) for encrypted data. If the decode buffer does not contain encrypted data, set this member to NULL.
IVSizeThe size of the buffer specified in the pIV parameter. If pIV is NULL, set this member to zero.
pSubSampleMappingBlockA pointer to an array of D3DWDDM2_0DDI_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK structures, which indicates exactly which bytes in the decode buffer are encrypted and which are in the clear. If the decode buffer does not contain encrypted data, set this member to NULL.
Note Values in the sub sample mapping blocks are relative to the start of the decode buffer.
SubSampleMappingCountThe number of D3DWDDM2_0DDI_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK structures specified in the pSubSampleMappingBlocks parameter. If pSubSampleMappingBlocks is NULL, set this member to zero.
cBlocksStripeEncryptedIndicates the number of 16-byte BLOCKS that are encrypted in any given encrypted region mapping, as defined by the CENS and CBCS schemes in the common encryption spec.
If this value is zero:
If this value is non-zero, cBlocksStripeClear must also be non-zero.
Note This value will typically be ZERO or ONE in real-world content, but the spec merely recommends this and does not require it
cBlocksStripeClearIndicates the number of 16-byte BLOCKS that are clear in any given encrypted region mapping, as defined by the CENS and CBCS schemes in the common encryption spec.
If this value is zero, all bytes each encrypted region mapping are encrypted, i.e. the CENC or CBC1 scheme is being used.