エンコーダーから出力メタデータ量子化パラメーター (QP) マップを生成するために使用されるブロック サイズを指定します。
データの種類
ULONG (VT_UI4)
プロパティ GUID
CODECAPI_AVEncVideoOutputQPMapBlockSize
プロパティ値
ブロック サイズ。 値は、16 や 32 などの 2 の累乗である必要があります。 ブロック サイズを 0 に設定すると、QP マップ のブロック サイズレポートが無効になります。 QP マップ ブロック サイズのレポートは、既定では無効になっています。
注釈
エンコーダーから出力メタデータ QP マップを生成するために使用されるブロック サイズ。 ブロック サイズを使用すると、出力メタデータ QP マップの列と行を、ビデオ フレームの幅と高さをブロック サイズで割って導き出すことができます。 たとえば、ブロック サイズが 16 で、ビデオ フレームのサイズが 1920 x 1080 の場合、QP マップには 120 列と 68 行があります。 ビデオ フレームの幅/高さがブロック サイズの正確な倍数でない場合は、幅/高さをブロック サイズの次の倍数に切り上げます。 たとえば、フレーム サイズが 1916 x 1076 で、ブロック サイズが 16 の場合、切り上げられたフレーム サイズは 1920x1088 になります。
ICodecAPI::IsSupported を使用して、エンコーダーがこのプロパティをサポートしているかどうかを確認します。 このプロパティの値を照会するには、 ICodecAPI::GetValue を使用します。 このプロパティを構成するには 、ICodecAPI::SetValue を使用します。 2 または 0 の累乗ではない値は、SetValue からE_INVALIDARG戻り値になります。
例示
次の例では、 CODECAPI_AVEncVideoOutputQPMapBlockSize プロパティを使用してエンコーダー MFT を構成し、QP マップ レポート機能を有効または無効にする方法を示します。 ブロック サイズの値が 0 の場合は無効になります。 ブロック サイズの値が 0 でない場合は、有効になります。
#include <codecapi.h>
#include <mfapi.h>
#include <wil.com.h>
#include <wil/result_macros.h>
// Inform an encoder MFT to enable or disable the QP map reporting feature.
// This function assumes that the encoder MFT supports ICodecAPI interface.
// It checks whether the new property CODECAPI_AVEncVideoOutputQPMapBlockSize is supported.
// If not supported, it returns E_NOTIMPL.
// If CODECAPI_AVEncVideoOutputQPMapBlockSize is supported and block size is none zero, it is enabled.
// Otherwise, it is disabled.
HRESULT ConfigureEncoderForQPMap(_In_ IMFTransform* encoder, uint32_t blockSize)
{
wil::com_ptr_nothrow<ICodecAPI> codecAPI;
RETURN_IF_FAILED(wil::com_query_to_nothrow(encoder, &codecAPI));
// Check if the encoder supports the property for QP map
if (!codecAPI->IsSupported(&CODECAPI_AVEncVideoOutputQPMapBlockSize))
{
return E_NOTIMPL;
}
// configure encoder
wil::unique_variant value;
value.vt = VT_UI4;
value.ulVal = blockSize; // zero: disable; non-zero: enable
return codecAPI->SetValue(&CODECAPI_AVEncVideoOutputQPMapBlockSize, &value);
}
要求事項
要件 | 価値 |
---|---|
サポートされている最小のクライアント | Windows 11 ビルド 26100 |
サポートされている最小のサーバー | Windows Server 2025 |
ヘッダ | Codecapi.h |