共用方式為


D3D12DDI_VIDEO_DECODE_TIER_0020列舉 (d3d12umddi.h)

指定視訊譯碼層。 譯碼影片層會定義一組硬體功能。 層級越高,硬體就越有能力。

語法

typedef enum D3D12DDI_VIDEO_DECODE_TIER_0020 {
  D3D12DDI_VIDEO_DECODE_TIER_0020_NOT_SUPPORTED,
  D3D12DDI_VIDEO_DECODE_TIER_0020_1,
  D3D12DDI_VIDEO_DECODE_TIER_0020_2,
  D3D12DDI_VIDEO_DECODE_TIER_0020_3
} ;

常數

 
D3D12DDI_VIDEO_DECODE_TIER_0020_NOT_SUPPORTED
不支持譯碼配置檔。
D3D12DDI_VIDEO_DECODE_TIER_0020_1
影片譯碼第 1 層。 在影片譯碼第 1 層中,硬體需要譯碼輸出紋理和參考紋理,才能在影片作業參考數據流時實際連續譯碼。

參考資源會由應用程式配置為 D3D12 紋理陣列。 驅動程式不會收到明確提示,指出配置目標為視訊案例,而且一開始可能會配置非實體連續記憶體。 驅動程式預期會使用記憶體管理員所提供的新 更新配置屬性 功能,在提交實際需要它實際連續的視訊工作時,排程轉換成實體連續。

將硬體放在第 1 層的硬體特性:

* 譯碼硬體需要實體連續記憶體,以便譯碼輸出和參考。 具有壓縮 bitstream 的輸入緩衝區也可能需要實際連續。

* 譯碼硬體可能有特殊的並排格式或其他記憶體配置定義,與其他引擎或視訊作業不相容。

壓縮的輸入緩衝區需求:

* 指定框架的所有配量都必須依序排列且連續(配量之間沒有間距)。

* 驅動程式不得執行 Bitstream 資料的其他複本。

* 第一個配量必須在128位元組界限上開始。

* 硬體必須支援從配置自 D3D12DDI_MEMORY_POOL_L0 的緩衝區譯碼(一律為系統記憶體)。

* 硬體必須支援從具有D3D12DDI_CPU_PAGE_PROPERTY_NOT_AVAILABLE D3D12DDI_MEMORY_POOL_L1(預設集區)譯碼。
D3D12DDI_VIDEO_DECODE_TIER_0020_2
影片譯碼第 2 層。 譯碼第 2 層可讓呼叫端將參考和輸出紋理配置為個別的 2D 紋理資源。 應用程式不再需要配置紋理陣列,但這必須受到支援。

譯碼第 2 層沒有實際連續的需求。 硬體在此層中可能有連續的 VA(視訊譯碼加速)需求,而且需要應用程式才能建立紋理陣列以支援此專案。

若要啟用第 2 層保留的資源,也稱為磚或疏鬆資源,必須支援驅動程式支援的參考和輸出格式。 這可以透過兩種方式來完成:

* 如果硬體支援個別進程 GPU VA,且具有支援保留資源的磚圖形需求磚模式,則可以使用預先存在的 D3D12 並排資源機制。

* 如果硬體支援個別進程 GPU VA,但磚模式不符合保留資源的磚圖形需求,而且硬體可以支持對應和取消對應整個子資源之磚的磚對應,而對於 D3D12 中個別子資源的每個平面而言,機制會要求它們可以獨立對應並取消對應磚。 請注意,此機制正在開發中,但會在 API 上模糊磚圖形。

將硬體放在第 2 層的硬體特性:

* 不需要實體連續記憶體。

* 硬體有連續的 VA 需求。

* 譯碼硬體可能有特殊的並排格式或其他記憶體配置定義,與其他引擎或視訊作業不相容。

壓縮的輸入緩衝區需求與第 1 層相同。
D3D12DDI_VIDEO_DECODE_TIER_0020_3
影片譯碼第3層。 WDDM 2.3 支援此層。

譯碼第 3 層可讓呼叫端將參考和輸出紋理配置為標準 2D 紋理資源。 應用程式不再需要配置紋理陣列,但這必須受到支援。

譯碼第3層不需要實體連續配置。 硬體必須不再需要D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY,但仍必須支援它。 查詢時,D3D12DDI_VIDEO_DECODE_SUPPORT_DATA_0020 結構D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY成員必須設定為 FALSE。

若要啟用第 3 層,驅動程式支援的參考和輸出格式必須支援保留資源(也稱為磚或疏鬆資源)。 這可能會以兩種方式發生:

* 如果硬體支援個別進程 GPU VA,且具有支援保留資源的磚圖形需求磚模式,則可以使用預先存在的 D3D12 並排資源機制。

* 如果硬體支援個別進程 GPU VA,但磚模式不符合保留資源的磚圖形需求,而且硬體可以支持對應和取消對應整個子資源之磚的磚對應,而對於 D3D12 中個別子資源的每個平面而言,機制會要求它們可以獨立對應並取消對應磚。 請注意,此機制正在開發中,但會在 API 上模糊磚圖形。

壓縮的輸入緩衝區需求與第 1 層相同。

言論

如果譯碼硬體需要其他引擎或不同視訊作業不支援的唯一併排格式,譯碼器可能會在查詢配置檔支援時,在 D3D12DDI_VIDEO_DECODE_SUPPORT_DATA_0020 結構中設定D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY。 此旗標表示應用程式必須使用 D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY 旗標來配置參考。 如果需要輸出作為未來的參考框架,傳遞至PFND3D12DDI_VIDEO_DECODE_FRAME的輸出框架是管線其他部分可以使用的 D3D12 資源,而且不得具有D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY旗標。

下表顯示每一層的不同功能:

能力 第 1 層 第 2 層 第3層
支援個別配置的參考框架和輸出。 必填
支持參考並配置為紋理陣列。 必填 必填 必填
可以選擇性地要求REFERENCE_ONLY資源旗標。 請注意,即使不需要旗標,也需要所有階層才能使用旗標。 自選 自選
即使上限不需要參考,也支援使用 REFERENCE_ONLY配置的參考。 必填 必填 必填
支持參考、輸入和輸出的並排/疏鬆資源。 必填 必填
壓縮的位數據流輸入緩衝區可以配置為 L0(主要系統記憶體)或 L1(適用於 dGPU、視訊記憶體)。 必填 必填 必填
需要壓縮的位流數據,配量必須位於單一緩衝區配置中,且配量之間沒有間距。 必填 必填 必填
壓縮輸入緩衝區中第一個配量的位移必須對齊 256 個字節。 必填 必填 必填
驅動程式不得執行壓縮 Bitstream 數據的其他複本。 必填 必填 必填

要求

要求 價值
標頭 d3d12umddi.h (包括 D3d12umddi.h)