共用方式為


D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR1_0096 結構 (d3d12umddi.h)

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR_0080 結構包含可變比特率 (VBR) 模式的擴充速率控制定義。

語法

typedef struct D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR1_0096 {
  UINT   InitialQP;
  UINT   MinQP;
  UINT   MaxQP;
  UINT64 MaxFrameBitSize;
  UINT64 TargetAvgBitRate;
  UINT64 PeakBitRate;
  UINT64 VBVCapacity;
  UINT64 InitialVBVFullness;
  UINT   QualityVsSpeed;
} D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR1_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 會限制速率控制演算法中每個畫面的大小上限。

TargetAvgBitRate

要使用的平均比特率,以每秒的位為單位。

PeakBitRate

每秒可達到的比特率上限,以位數為單位。

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