Edit

D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS enumeration (d3d12video.h)

Specifies which optional metadata features are enabled for a video encode operation. These flags are used with D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1 and D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS1.

Syntax

typedef enum D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS {
  D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_NONE = 0x0,
  D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_QP_MAP = 0x1,
  D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SATD_MAP = 0x2,
  D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_RC_BIT_ALLOCATION_MAP = 0x4,
  D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_FRAME_PSNR = 0x8,
  D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR = 0x10
} ;

Constants

 
D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_NONE
No additional optional metadata is present. All previously existing mandatory metadata and stats are still included for backward compatibility.
D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_QP_MAP
QP map output in metadata is enabled. The reported QP values are the final QP values used to encode each block, including any QP delta map applied on top of the rate control algorithm's QP value. Check D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_QP_MAP_METADATA_AVAILABLE before using this flag.
D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SATD_MAP
SATD (Sum of Absolute Transformed Differences) map output in metadata is enabled. The reported SATD values are before quantization for each block. Check D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_SATD_MAP_METADATA_AVAILABLE before using this flag.
D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_RC_BIT_ALLOCATION_MAP
Per-block rate control bit allocation output in metadata is enabled. The driver writes the number of allocated bits used for each block. Check D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_RC_BIT_ALLOCATION_MAP_METADATA_AVAILABLE before using this flag.
D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_FRAME_PSNR
Frame-level PSNR (Peak Signal-to-Noise Ratio) output stats are enabled. The driver writes the PSNR of Y (and optionally U and V in that order) components. Check D3D12_VIDEO_ENCODER_SUPPORT_FLAG_FRAME_PSNR_METADATA_AVAILABLE before using this flag.
D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR
Subregion-level PSNR output stats are enabled. The driver writes the PSNR of Y (and optionally U and V in that order) components for each frame subregion. Check D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGIONS_PSNR_METADATA_AVAILABLE before using this flag.

Remarks

When a flag is not set, the driver can skip calculating that metadata during encoding to avoid performance impact.

Requirements

Requirement Value
Header d3d12video.h

See also

D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1

D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1