D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC結構 (d3d12video.h)
描述視訊編碼器圖片控件。
語法
typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC {
UINT IntraRefreshFrameIndex;
D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS Flags;
D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA PictureControlCodecData;
D3D12_VIDEO_ENCODE_REFERENCE_FRAMES ReferenceFrames;
} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC;
成員
IntraRefreshFrameIndex
藉由指定 D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_REQUEST_INTRA_REFRESH 旗標來要求 IntraRefreshFramesDuration 畫面的內部重新整理波時,這個值會指出目前圖片在重新整理階段內框架的索引。 值範圍是由主機在 0 和 IntraRefreshFramesDuration 之間設定,以提示驅動程式重新整理會話的狀態。
Flags
指定圖片控制項描述元旗標之 D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS 列舉值的位元組 OR 組合。
PictureControlCodecData
包含編解碼器特定圖片控制件數據的 D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA 結構。 根據選取的速率控制模式,QP 值會以不同的方式解譯。
ReferenceFrames
包含過去編碼作業輸出中重建圖片的 D3D12_VIDEO_ENCODE_REFERENCE_FRAMES 結構。
備註
下列備註提供畫面格管理的指引。
主機會在視需要由 POC 重新排列 B 畫面格重新排序之後,根據編解碼器 GOP 結構中設定的圖片類型定期順序呼叫 EncodeFrame 。 不同的編解碼器會使用自己的索引編製此結構的方式,並保留其狀態元數據。 請參閱 編碼框架 作業中也傳遞的編解碼器圖片參數,其中包含這類詳細數據。
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYS指定D3D12_VIDEO_ENCODE_REFERENCE_FRAMES結構的ppTexture2Ds 和 pSubresources 字段的紋理數位需求。
指定畫面格的編碼作業輸出也必須傳回重新建構的圖片,如果標示為用於下一個畫面格的未來使用參考,用戶端會在未來的 EncodeFrame 命令中傳遞重建的圖片。
如果編碼時態層,圖片只能當做 參考時態性LayerIndex 低於其本身的圖片。 時態層索引是在圖片控件結構和參考圖片描述元中指定。
參照圖片數目的 HW 限制會以 L0 (MaxL0ReferencesForP/MaxL0ReferencesForB) 和 L1 (MaxL1References 中的元素數目來表示ForB) 列出及限制 MaxDPBCapacity (L0 union L1 中唯一索引的最大數目,) 對應至 D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA 中提供的 pReferenceFramesReconPictureDescriptors 值。
在 pReferenceFramesReconPictureDescriptors 中傳遞的 DPB 專案數目沒有任何限制,而是在 L0 和 L1 清單所參考該數位上的項目數目中。 這可讓使用者追蹤 pReferenceFramesReconPictureDescriptors 中 DPB 的狀態,其限制是由編解碼器標準限制所定義,而且只有在呼叫 EncodeFrame 時,才使用受硬體限制限制的子集。 例如,針對 HEVC 編碼,呼叫端可以透過在 L0 和 L1 清單中指派有限數目的唯一索引,來追蹤 pReferenceFramesReconPictureDescriptors 中最新的 15 張編碼圖片,但只使用落在硬體限制內的圖片子集。
請注意,對於一個「新式」畫面的要求,將會作為畫面參考與 DPB 緩衝區之間的屏障,而且主機可能需要據以排清其狀態。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 組建 22000 |
最低支援的伺服器 | Windows 組建 22000 |
標頭 | d3d12video.h |