共用方式為


D3D12_VIDEO_DECODE_TIER列舉 (d3d12video.h)

指定硬體視訊譯碼器的譯碼層,決定應用程式定義紋理和緩衝區的必要格式。

Syntax

typedef enum D3D12_VIDEO_DECODE_TIER {
  D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED,
  D3D12_VIDEO_DECODE_TIER_1,
  D3D12_VIDEO_DECODE_TIER_2,
  D3D12_VIDEO_DECODE_TIER_3
} ;

常數

 
D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED
不支持視訊譯碼。
D3D12_VIDEO_DECODE_TIER_1
在第 1 層中,硬體譯碼器要求應用程式將參考紋理配置為紋理陣列。 這是為了因應位址空間中紋理「關閉」的硬體需求,因為硬體不支援每個個別圖片緩衝區的完整大小指標。 相反地,它有一個指標和一個較有限的位位移。 如需紋理陣列的詳細資訊,請參閱 Direct3D 11 中的紋理簡介

如果譯碼器硬體需要其他引擎或不同視訊作業不支援的唯一記憶體配置,譯碼器可能會在查詢配置檔支援時,在D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT結構中設定D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED組態旗標。 此旗標表示應用程式必須使用 D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY 旗標來配置參考。 如果未來參考框架需要輸出,應用程式應該使用 D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS 結構來設定僅限參考輸出。 傳遞至 ID3D12VideoCommandList::D ecodeFrame 的輸出框架是 D3D12 資源,可由管線的其他部分取用,且不得具有D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY旗標。

#### 壓縮輸入緩衝區的第 1 層需求
- 指定畫面格的所有配量都必須依序排列,而且必須連續,也就是配量之間不得有間距。 配量控制緩衝區必須指定符合此需求的位移和大小參數。
- 第一個配量必須從128位元組界限開始。 D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM 結構中設定的位移必須是 128 個字節的倍數。
- 從配置 D3D12_MEMORY_POOL_L0的緩衝區支持譯碼。 這一律是系統記憶體,但仍是 D3D12 緩衝區。
- 支援從配置D3D12_MEMORY_POOL_L1、預設集區的緩衝區進行譯碼,包括使用 D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE 配置的緩衝區。
D3D12_VIDEO_DECODE_TIER_2
在譯碼層 2 中,紋理可以參考為紋理數位或個別紋理 2D 資源的陣列, (每個資源的數位大小為 1) 。 這對於呼叫端而言更具彈性,而且在解析經常變更的情況下很重要,例如串流視訊,因為紋理陣列只能配置並解除分配為單一單位,但可以個別配置和解除分配不同的紋理 2D 資源。

如果譯碼硬體需要其他引擎或不同視訊作業不支援的唯一圖格格式,譯碼器可能會在查詢配置檔支援時,在D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT結構中設定D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED組態旗標。 此旗標表示應用程式必須使用 D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY 旗標來配置參考。 如果未來參考框架需要輸出,應用程式應該使用 D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS 結構來設定參考輸出。 傳遞至 ID3D12VideoCommandList::D ecodeFrame 的輸出框架是 D3D12 資源,可由管線的其他部分取用,且不得具有D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY旗標。

#### 壓縮輸入緩衝區的第 2 層需求

這些需求與第 1 層需求相同。

- 指定畫面格的所有配量都必須依序排列,而且必須連續,也就是配量之間不得有間距。 配量控制緩衝區必須指定符合此需求的位移和大小參數。
- 第一個配量必須從128位元組界限開始。 D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM 結構中設定的位移必須是 128 個字節的倍數。
- 從配置 D3D12_MEMORY_POOL_L0的緩衝區支持譯碼。 這一律是系統記憶體,但仍是 D3D12 緩衝區。
- 支援從配置D3D12_MEMORY_POOL_L1、預設集區的緩衝區進行譯碼,包括使用 D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE 配置的緩衝區。
-
D3D12_VIDEO_DECODE_TIER_3
保留此欄位。

規格需求

需求
標頭 d3d12video.h