CODECAPI_AVEncVideoEncodeFrameTypeQP
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
(フィールドなし)
公式ドキュメント
量子化パラメーター (QP) が適用されるフレームの種類 (I、P、または B) を指定します。
解説(Remarks)
異なるフレームの種類 (I、P、B) ごとに量子化パラメーター (QP) を設定できるエンコーダーは、CODECAPI_AVEncVideoEncodeQP に加えてこの API を公開する必要があります。エンコーダーがすべてのフレームの種類に対して単一の QP のみをサポートする場合は、CODECAPI_AVEncVideoEncodeQP のみをサポートします。
これは動的なエンコードプロパティです。つまり、エンコードセッション中はいつでも新しい値を設定できます。
H.264/AVC エンコーダー:
エンコーダーは GetValue、SetValue、および GetParameterRange をサポートする必要があります。
固定 QP エンコードでフレームの QP を指定するために、4 つの 16 ビットフィールドの組を使用します。各フィールドは次のとおりです。
- ビット 0-15: I フレームに使用する QP。有効範囲は [0, 51]。
- ビット 16-31: P フレームに使用する QP。有効範囲は [0, 51]。
- ビット 32-47: B フレームに使用する QP。有効範囲は [0, 51]
- ビット 48-63: 予約済み
この CodecAPI がサポートされる場合、エンコーダーは I、P、および B のフレームの種類に対する QP の設定をサポートしなければなりません。
既定値は 0x0000001a001a001a でなければなりません。これは I、P、B のいずれも QP が 26 であることを表します。
CODECAPI_AVEncVideoSelectLayer が特定の時間レイヤーを選択している場合、CODECAPI_AVEncVideoEncodeFrameTypeQP の SetValue は、その時間レイヤーの I、P、および B フレームの QP を設定します。既定では、基本時間レイヤーである時間レイヤー 0 の I、P、および B フレームの QP を設定します。
CODECAPI_AVEncVideoMaxQP と CODECAPI_AVEncVideoMinQP は、すべてのピクチャの種類 (I、P、B) の QP について QP の範囲を定義し、制限するために使用します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp)