共用方式為


D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR1_0096 結構 (d3d12umddi.h)

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR_0080 結構包含常數比特率 (CBR) 模式的擴充速率控制定義。

語法

typedef struct D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR1_0096 {
  UINT   InitialQP;
  UINT   MinQP;
  UINT   MaxQP;
  UINT64 MaxFrameBitSize;
  UINT64 TargetBitRate;
  UINT64 VBVCapacity;
  UINT64 InitialVBVFullness;
  UINT   QualityVsSpeed;
} D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR1_0096;

成員

InitialQP

設定 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_INITIAL_QP 旗標時,速率控制演算法可以使用 InitialQP

MinQP

設定 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_QP_RANGE 旗標時, MinQP 會將量化參數限制 (QP) 速率控制演算法的範圍。

MaxQP

設定 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_QP_RANGE 旗標時, MaxQP 會限制速率控制演算法的 QP 範圍。

MaxFrameBitSize

每個要編碼的畫面大小上限,以位為單位。 設定 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_MAX_FRAME_SIZE 時, MaxFrameBitSize 會限制速率控制演算法中每個畫面的大小上限。

TargetBitRate

要使用的常數比特率,以每秒的位數為單位。

VBVCapacity

設定 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_1_ENABLE_VBV_SIZES 時, VBVCapacity 會指定要在速率控制演算法中使用的視訊緩衝區驗證器 (VBV) 的容量。

InitialVBVFullness

設定 D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_1_ENABLE_VBV_SIZES 時, InitialVBVFullness 會指定要用於速率控制演算法之 VBV 的初始完整度,以位為單位。

QualityVsSpeed

品質與速度取捨。 此值必須位於 [0, D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1範圍內。MaxQualityVsSpeed]。 值越低,編碼作業就越快。

QualityVsSpeed 公開之每個層級相關聯的設定,只能參考與特定編解碼器組態或編碼工具選取無關的硬體/驅動程式實作優化和啟發學習法,這些設定已在 D3D12 API 中個別公開給使用者。 請注意,透過此 API 公開的其他編解碼器組態和編解碼器編碼工具也可能會影響品質與速度。

備註

如需詳細資訊,請參閱 D3D12 AV1 視訊編碼

規格需求

需求
最低支援的用戶端 Windows 11 版本 24H2 (WDDM 3.2)
標頭 d3d12umddi.h

另請參閱

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS_0080_2

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAGS_0080