オプションのメタデータをサポートして、ビデオ エンコードのリソース要件を取得します。 ID3D12VideoDevice::CheckFeatureSupport とD3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1機能値で使用されます。
構文
typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 {
UINT NodeIndex;
D3D12_VIDEO_ENCODER_CODEC Codec;
D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
DXGI_FORMAT InputFormat;
D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution;
BOOL IsSupported;
UINT CompressedBitstreamBufferAccessAlignment;
UINT EncoderMetadataBufferAccessAlignment;
UINT MaxEncoderOutputMetadataBufferSize;
D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS OptionalMetadata;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration;
D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncoderOutputMetadataQPMapTextureDimensions;
D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncoderOutputMetadataSATDMapTextureDimensions;
D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncoderOutputMetadataBitAllocationMapTextureDimensions;
UINT EncoderOutputMetadataFramePSNRComponentsNumber;
UINT EncoderOutputMetadataSubregionsPSNRComponentsNumber;
UINT EncoderOutputMetadataSubregionsPSNRResolvedMetadataBufferSize;
} D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1;
Members
NodeIndex
1 つの GPU 操作の場合は、これを 0 に設定します。 複数の GPU ノードがある場合は、コマンド キューが適用されるノード (デバイスの物理アダプターの 1 つ) を特定するように少し設定します。 マスク内の各ビットは、1 つのノードに対応します。 1 ビットのみを設定する必要があります。
Codec
クエリするコーデックを指定する D3D12_VIDEO_ENCODER_CODEC 。
Profile
エンコーダー プロファイルを指定する D3D12_VIDEO_ENCODER_PROFILE_DESC 。
InputFormat
入力形式を指定する DXGI_FORMAT 。
PictureTargetResolution
ターゲットの解像度を指定する D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC 。
IsSupported
出力。 構成がサポートされているかどうかを示します。
CompressedBitstreamBufferAccessAlignment
出力。 圧縮されたビットストリーム バッファーに必要なアラインメント。
EncoderMetadataBufferAccessAlignment
出力。 エンコーダー メタデータ バッファーに必要なアラインメント。
MaxEncoderOutputMetadataBufferSize
出力。 エンコーダー出力メタデータ バッファーの最大サイズ (バイト単位)。
OptionalMetadata
要求される省略可能なメタデータを示す D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS 値。
CodecConfiguration
コーデック構成を指定する D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION 。 OptionalMetadata でフラグが設定されている場合は必須。それ以外の場合は、ゼロ/NULL として渡します。
EncoderOutputMetadataQPMapTextureDimensions
出力。 QP マップ出力のテクスチャ ディメンションを示す D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC 。 D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_QP_MAPが設定されている場合に有効です。 ブロック サイズは、 PictureTargetResolution をこれらのディメンションで除算することで派生できます。
EncoderOutputMetadataSATDMapTextureDimensions
出力。 SATD マップ出力のテクスチャ ディメンションを示す D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC 。 D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SATD_MAPが設定されている場合に有効です。 ブロック サイズは、 PictureTargetResolution をこれらのディメンションで除算することで派生できます。
EncoderOutputMetadataBitAllocationMapTextureDimensions
出力。 ビット割り当てマップ出力のテクスチャ ディメンションを示す D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC 。 D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_RC_BIT_ALLOCATION_MAPが設定されている場合に有効です。 ブロック サイズは、 PictureTargetResolution をこれらのディメンションで除算することで派生できます。
EncoderOutputMetadataFramePSNRComponentsNumber
出力。 フレーム レベルの PSNR 用に書き込まれた PSNR コンポーネント (Y、U、V の順序) の数。 D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_FRAME_PSNRが設定されている場合に有効です。
EncoderOutputMetadataSubregionsPSNRComponentsNumber
出力。 サブ領域ごとに書き込まれた PSNR コンポーネント (Y、U、V の順序) の数。 D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNRが設定されている場合に有効です。
EncoderOutputMetadataSubregionsPSNRResolvedMetadataBufferSize
出力。 サブ領域 PSNR データに必要なバッファー の幅 サイズ。 D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNRが設定されている場合に有効です。
注釈
OptionalMetadata がD3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_NONEされている場合、D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTSに存在する出力は、下位互換性のために同じ値を報告する必要があります。 選択されていない省略可能なメタデータ フラグの出力フィールドは 0 として報告されます。
Requirements
| Requirement | 価値 |
|---|---|
| ヘッダー | d3d12video.h |