Share via


D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_0082_0 結構 (d3d12umddi.h)

D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_0082_0結構描述 H.264 編碼之相關聯 EncodeFrame 命令的圖片層級控件元素。

語法

typedef struct D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_0082_0 {
  D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS_0080                                           Flags;
  D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_H264_0080                                                                 FrameType;
  UINT                                                                                                        pic_parameter_set_id;
  UINT                                                                                                        idr_pic_id;
  UINT                                                                                                        PictureOrderCountNumber;
  UINT                                                                                                        FrameDecodingOrderNumber;
  UINT                                                                                                        TemporalLayerIndex;
  UINT                                                                                                        List0ReferenceFramesCount;
  UINT                                                                                                        *pList0ReferenceFrames;
  UINT                                                                                                        List1ReferenceFramesCount;
  UINT                                                                                                        *pList1ReferenceFrames;
  UINT                                                                                                        ReferenceFramesReconPictureDescriptorsCount;
  D3D12DDI_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264_0080                                               *pReferenceFramesReconPictureDescriptors;
  UCHAR                                                                                                       adaptive_ref_pic_marking_mode_flag;
  UINT                                                                                                        RefPicMarkingOperationsCommandsCount;
  D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION_0082_0           *pRefPicMarkingOperationsCommands;
  UINT                                                                                                        List0RefPicModificationsCount;
  D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION_0082_0 *pList0RefPicModifications;
  UINT                                                                                                        List1RefPicModificationsCount;
  D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION_0082_0 *pList1RefPicModifications;
  UINT                                                                                                        QPMapValuesCount;
  INT8                                                                                                        *pRateControlQPMap;
} D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_0082_0;

成員

Flags

D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS_0080值,指定要編碼之這個畫面的組態旗標。 旗標可以合併。

FrameType

設定圖片類型的 D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_H264_0080 值。 選取值之前,請先檢查編解碼器特定旗標是否支持類型。

注意

FrameType 必須與主機所設定的圖片群組保持同步 (GOP) 結構組態。 GOP 是以 顯示順序定義。 圖片類型選取項目必須遵循 GOP,但依照編碼順序。

pic_parameter_set_id

在目前框架的配量標頭中用來參考 (PPS) 的圖片參數集的值。

idr_pic_id

當框架的類型為 D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_H264_0080_IDR_FRAME 時, idr_pic_id 會識別要用於框架中所有配量標頭的即時譯碼器重新整理 () 框架。

PictureOrderCountNumber

目前的框架顯示順序。

FrameDecodingOrderNumber

配量標頭所指示之語意的畫面格 譯碼 順序 ,frame_num 元素在每個參考圖片之後遞增。

TemporalLayerIndex

時態階層中的圖片圖層編號。 檢查 D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_0082_0 以取得圖層數目上限。

List0ReferenceFramesCount

要用於這個框架的過去框架參考數目。 此值應該與 D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_0082_0中公開的內容一致。

pList0ReferenceFrames

要用於這個框架之過去框架參考框架清單的指標。 此陣列中的每個整數值都會索引到 pReferenceFramesReconPictureDescriptors ,以參考在譯碼圖片緩衝區中保留的圖片, (DPB) 。

List1ReferenceFramesCount

要用於這個框架的未來框架參考數目。 此值應該與 D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_0082_0中公開的內容一致。

pList1ReferenceFrames

要用於此畫面之未來框架參考框架清單的指標。 此陣列中的每個整數值都會索引到 pReferenceFramesReconPictureDescriptors ,以參考 DPB 中保留的圖片。

ReferenceFramesReconPictureDescriptorsCount

pReferenceFramesReconPictureDescriptors 中的項目數。

pReferenceFramesReconPictureDescriptors

D3D12DDI_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264_0080 結構的指標,描述D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0.ReferenceFrames 中保留之 DPB 緩衝區的目前狀態。 L0/L1 會列出來自過去/未來參考的索引對應至這個描述項陣列。

接著,這個描述元陣列會將此框架的參考圖片對應至 D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0.ReferenceFrames 重建的圖片陣列中的資源索引。 此外,針對每個參考圖片,它會指出編碼和顯示順序編號,以及它是否為長期參考。

此陣列的大小符合相關聯 EncodeFrame 命令的 D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0.ReferenceFrames.NumTextures

adaptive_ref_pic_marking_mode_flag

定義框架參考處理的語意模式。 此旗標可以是下列其中一個值。

參考圖片標記模式
0 滑動窗口參照圖片標記模式:標記模式,提供短期參考圖片的先進先出機制。
1 自適性參考圖片標記模式:參考圖片標記模式,提供語法元素,以指定參照圖片標示為「未使用參考」,並指派長期框架索引。

RefPicMarkingOperationsCommandsCount

與目前框架相關聯的參照圖片標記作業數目。 此成員要求 adaptive_ref_pic_marking_mode_flag 設為 1。

pRefPicMarkingOperationsCommands

D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION_0082_0 結構的指標,其中包含與目前框架相關聯的 RefPicMarkingOperationsCommandsCount 參考圖片標記作業的清單。 此成員要求 adaptive_ref_pic_marking_mode_flag 設為 1。

此清單所描述的作業必須在編碼會話期間,反映在 DPB 描述元中。

List0RefPicModificationsCount

L0 清單的清單修改數目。

pList0RefPicModifications

包含 L0 清單之 List0RefPicModificationsCount 修改命令之D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION_0082_0結構的指標。

List1RefPicModificationsCount

L1 清單的清單修改數目。

pList1RefPicModifications

包含 L1 清單之 List1RefPicModificationsCount 修改命令之D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION_0082_0結構的指標。

QPMapValuesCount

pRateControlQPMap 指向的陣列中存在的元素數目。 此值應該符合畫面格中的編碼區塊數目,將畫面解析度四捨五入到最接近的對齊值。

pRateControlQPMap

數位的指標,該陣列包含資料列/資料行掃描順序中的量化參數 (QP) 對應值,以用於此框架的每個平方區域。 您可以使用目前的解析度來計算 QP 地圖維度 ,並D3D12DDI_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS_0080_2.QPMapRegionPixelsSize 來傳達平方區域大小。

備註

如果目前的框架標示為參照圖片,輸出必須包含重新建構的圖片以及主機的 bitstream,才能將它放在重建的圖片參考清單中的未來命令中。 請注意,某些框架類型可能會有標示為參考的限制,因此請先檢查功能支援,再設定這些值。

如需一般資訊,請參閱 D3D12 視訊編碼

規格需求

需求
最低支援的用戶端 Windows 11 (WDDM 3.0)
標頭 d3d12umddi.h

另請參閱

D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0