D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095 結構 (d3d12umddi.h)
如果 D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS值針對 其各自的結構回報,則驅動程式必須在 EncodeFrame 執行之後寫入值,而不需修改, (驅動程式) 複製 API 用戶端輸入。 否則,驅動程式必須在呼叫 EncodeFrame 時,從相關聯的 API 用戶端輸入複製值。
語法
typedef struct D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095 {
UINT64 CompoundPredictionType;
D3D12DDI_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG_0095 LoopFilter;
D3D12DDI_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG_0095 LoopFilterDelta;
D3D12DDI_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG_0095 Quantization;
D3D12DDI_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG_0095 QuantizationDelta;
D3D12DDI_VIDEO_ENCODER_AV1_CDEF_CONFIG_0095 CDEF;
D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG_0095 SegmentationConfig;
UINT64 PrimaryRefFrame;
UINT64 ReferenceIndices[7];
} D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095;
成員
CompoundPredictionType
相關聯的旗 標D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_COMPOUND_PREDICTION_MODE。
LoopFilter
相關聯的旗 標D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER。
LoopFilterDelta
相關聯的旗 標D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER_DELTA。
Quantization
相關聯的旗 標D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION。
QuantizationDelta
相關聯的旗標 D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION_DELTA。
CDEF
相關聯的旗 標D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_CDEF_DATA。
SegmentationConfig
此成員會根據選取的分割模式,以不同的模式運作。
- 如果 目前畫面的D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_0095_FLAG_ENABLE_FRAME_SEGMENTATION_AUTO 為開啟,驅動程式:
- 計算並寫入 分割組態,API 用戶端將使用此設定來撰寫框架標頭中的segmentation_params () 语法。
- 直接在壓縮的位數據流中計算和寫入read_segment_id () 对应信息。
- 如果 目前畫面的D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_CUSTOM 已開啟,驅動程式:
- 請複製 API 用戶端在 API 用戶端編碼框架參數中傳送的 分割組態 ,以在框架標頭中撰寫segmentation_params () 语法。
- 直接在壓縮的位數據流中,複製 API 用戶端在編碼框架參數中傳送的read_segment_id () 对应。
- 否則, (這兩種分割模式都會關閉) :
- 驅動程式應該寫入所有零。
- API 用戶端會在框架標頭的segmentation_params () 区段中,撰寫segmentation_enabled = 0。
PrimaryRefFrame
相關聯的旗 標D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_PRIMARY_REF_FRAME。 如果已設定旗標,驅動程式會控制區段標識符對應、CDF 等繼承來源的主要參考框架選取範圍。
搭配 D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_AUTO_SEGMENTATION使用時,可讓驅動程式在適用時強制PRIMARY_REF_NONE以外的值,讓驅動程式完全控制 AV1 語法:segmentation_update_map、segmentation_temporal_update和segmentation_update_data segmentation_params () 。
ReferenceIndices[7]
報告旗標時,驅動程式可能會重新排序/重新對應 (,但不會根據使用者輸入D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA_0095變更 ReferenceIndices 陣列) 參考數目。ReferenceIndices。 否則,驅動程式必須依原樣複製此參數的每個數位專案,從 D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA_0095.ReferenceIndices。
API 用戶端會從這個輸出參數寫入圖片標頭ref_frame_idx AV1 語法。
備註
如需詳細資訊,請參閱 D3D12 AV1 視訊編碼 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 11 版本 24H2 (WDDM 3.2) |
標頭 | d3d12umddi.h |