共用方式為


DXVADDI_DECODEBUFFERDESC結構 (d3dumddi.h)

DXVADDI_DECODEBUFFERDESC 結構描述目前從主機譯碼器傳遞至加速器的緩衝區。

語法

typedef struct _DXVADDI_DECODEBUFFERDESC {
  [in] HANDLE            hBuffer;
  [in] D3DDDIFORMAT      CompressedBufferType;
  [in] UINT              BufferIndex;
  [in] UINT              DataOffset;
  [in] UINT              DataSize;
  [in] UINT              FirstMBaddress;
  [in] UINT              NumMBsInBuffer;
  [in] UINT              Width;
  [in] UINT              Height;
  [in] UINT              Stride;
  [in] UINT              ReservedBits;
  [in] DXVADDI_PVP_HW_IV *pCipherCounter;
} DXVADDI_DECODEBUFFERDESC;

成員

[in] hBuffer

緩衝區的句柄。

[in] CompressedBufferType

D3DDDIFORMAT型別值,表示緩衝區的圖元格式。

[in] BufferIndex

保留。 請勿使用此成員。 如需詳細資訊,請參閱一節。

[in] DataOffset

緩衝區開頭的相關數據位移,以位元組為單位。 此成員的使用目前限制為零值。

[in] DataSize

緩衝區中相關數據的數量,以位元組為單位。 緩衝區中最後一個字節內容的位置是 dataOffset 的值 加上 DataS ize 的值減 1。

[in] FirstMBaddress

傳遞至加速器之緩衝區中第一個巨集區塊的macroblock位址。 巨集區塊位址是以點陣掃描順序提供。 位址是由 DXVA_PictureParameters 結構的成員所決定。 下表顯示macroblock位址的範例。

Macroblock 位址
左上方
右上方 wPicWidthInMBminus1 of DXVA_PictureParameters。
左下角 wPicHeightInMBminus1 x (wPicWidthInMBminus1+1)。 DXVA_PictureParameters的成員。
右下角 (wPicHeightInMBminus1+1) x (wPicWidthInMBminus1+1)-1。 DXVA_PictureParame的成員

如果數據緩衝區是下列其中一種類型,FirstMBaddress 成員必須是零:圖片譯碼參數、反量化矩陣、配量控件、位數據流數據、AYUV、IA44/AI44、DPXD、Highlight 和 DCCMD。

如果數據緩衝區是剩餘差異區塊數據緩衝區,FirstMBaddress 必須具有與對應巨集區塊控件命令緩衝區相同的值。

[in] NumMBsInBuffer

緩衝區中數據的巨集區塊數目,包括略過的巨集區塊。 如果數據緩衝區是下列其中一種類型,這個成員必須是零:圖片譯碼參數、反量化矩陣、AYUV、IA44/AI44、DPXD、Highlight 或 DCCMD。

NumMBsInBuffer 的值取決於所使用的數據緩衝區類型,如下表所示。

緩衝區類型 NumMBsInBuffer
巨集區塊控件命令 MBskipsFollowing 的所有值總和,會新增至macroblock控制項命令緩衝區中的巨集區塊控件命令數目。
剩餘差異區塊 與對應巨集區塊控件命令緩衝區相同的值。
Slice-control 命令 配量控制緩衝區中 DXVA_SliceInfo 結構之 wNumberMBsInSlice 成員的值。
Bitstream 與對應配量控制命令緩衝區相同的值。

[in] Width

保留。 請勿使用此成員。 如需詳細資訊,請參閱一節。

[in] Height

保留。 請勿使用此成員。 如需詳細資訊,請參閱一節。

[in] Stride

保留。 請勿使用此成員。 如需詳細資訊,請參閱一節。

[in] ReservedBits

用於封裝和對齊的保留位。 這個成員必須是零。

[in] pCipherCounter

包含128位受保護視訊路徑 (PVP) 值的 DXVADDI_PVP_HW_IV 結構的指標。

言論

DXVADDI_DECODEBUFFERDESC 結構的陣列稱為 緩衝區描述清單。 當一組緩衝區從主機譯碼器傳送到硬體加速器時,會傳送緩衝區描述清單來描述緩衝區。 緩衝區描述清單包含此集合中每個緩衝區的一個DXVADDI_DECODEBUFFERDESC結構。 緩衝區描述清單會以第一個類型之第一個緩衝區的DXVADDI_DECODEBUFFERDESC結構開始,後面接著相同類型之下一個緩衝區的DXVADDI_DECODEBUFFERDESC結構等等。 接著,緩衝區描述清單會繼續進行下一個類型之第一個緩衝區的DXVADDI_DECODEBUFFERDESC結構,依此類傳。 此整個清單包含在 D3DDDIARG_DECODEEXECUTE 結構中。

因為 Microsoft DirectX Video Acceleration (VA) 2.0 版使用 Microsoft Direct3D 表面,而不是 DirectX VA 1.0 所使用的私人表面, 使用者模式顯示驅動程式會從指定的壓縮緩衝區類型取得索引、寬度、高度和步距的值,而不是從 BufferIndex的值、WidthHeight、 和 Stride 成員。 事實上,Microsoft Direct3D 運行時間會將這些成員設定為零。

要求

要求 價值
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows作系統中使用。
標頭 d3dumddi.h (包括 D3dumddi.h)

另請參閱

D3DDDIARG_DECODEEXECUTE

DXVADDI_PVP_HW_IV

DXVA_PictureParameters

DXVA_SliceInfo