D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS enumeration (d3d12umddi.h)

The D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS enumeration is a bitwise OR of values that report the encoding capabilities of the AV1 codec.

Syntax

typedef enum D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS {
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_NONE = 0x0,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_128x128_SUPERBLOCK = 0x1,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_FILTER_INTRA = 0x2,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_INTRA_EDGE_FILTER = 0x4,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_INTERINTRA_COMPOUND = 0x8,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_MASKED_COMPOUND = 0x10,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_WARPED_MOTION = 0x20,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_DUAL_FILTER = 0x40,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_JNT_COMP = 0x80,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_FORCED_INTEGER_MOTION_VECTORS = 0x100,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_SUPER_RESOLUTION = 0x200,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_LOOP_RESTORATION_FILTER = 0x400,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_PALETTE_ENCODING = 0x800,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_CDEF_FILTERING = 0x1000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_INTRA_BLOCK_COPY = 0x2000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x4000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_ORDER_HINT_TOOLS = 0x8000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_AUTO_SEGMENTATION = 0x10000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_CUSTOM_SEGMENTATION = 0x20000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_LOOP_FILTER_DELTAS = 0x40000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_QUANTIZATION_DELTAS = 0x80000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_QUANTIZATION_MATRIX = 0x100000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_REDUCED_TX_SET = 0x200000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_MOTION_MODE_SWITCHABLE = 0x400000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_ALLOW_HIGH_PRECISION_MV = 0x800000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_SKIP_MODE_PRESENT = 0x1000000,
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_DELTA_LF_PARAMS = 0x2000000
} ;

Constants

 
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_NONE
Value: 0x0
Indicates that no features are supported.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_128x128_SUPERBLOCK
Value: 0x1
Indicates whether support is available for 128x128 Superblocks.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_FILTER_INTRA
Value: 0x2
Indicates whether support is available for intra prediction filter.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_INTRA_EDGE_FILTER
Value: 0x4
Indicates whether support is available for intra edge filtering process.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_INTERINTRA_COMPOUND
Value: 0x8
Indicates whether support is available for interintra, where the mode info for inter blocks may contain the syntax element interintra. A value of 0 specifies that the syntax element interintra will not be present.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_MASKED_COMPOUND
Value: 0x10
Indicates whether support is available for masked compound, where the mode info for inter blocks may contain the syntax element compound_type. A value of 0 specifies that the syntax element compound_type will not be present.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_WARPED_MOTION
Value: 0x20
A value of 1 indicates that the syntax element motion_mode may be present. A value of 0 indicates the syntax element motion_mode will not be present (this means that LOCALWARP cannot be signaled if this flag is equal to 0).

Related to AV1 syntax enable_warped_motion in the sequence header.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_DUAL_FILTER
Value: 0x40
Indicates whether support is available for dual filter mode, where the inter prediction filter type may be specified independently in the horizontal and vertical directions. If the flag is equal to 0, only one filter type may be specified, which is then used in both directions.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_JNT_COMP
Value: 0x80
Indicates whether support is available for the scenario where distance weights process may be used for inter prediction.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_FORCED_INTEGER_MOTION_VECTORS
Value: 0x100
Indicates whether support is available for using the syntax element force_integer_mv.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_SUPER_RESOLUTION
Value: 0x200
Indicates whether support is available for super resolution.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_LOOP_RESTORATION_FILTER
Value: 0x400
Indicates whether support is available for loop restoration filtering.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_PALETTE_ENCODING
Value: 0x800
Indicates whether support is available for frame level control on palette encoding; a value of 0 indicates that palette encoding is never used.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_CDEF_FILTERING
Value: 0x1000
Indicates whether support is available for constrained directional enhancement filtering.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_INTRA_BLOCK_COPY
Value: 0x2000
Indicates whether intra block copy is supported or not at frame level. Same syntax as AV1 spec.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_FRAME_REFERENCE_MOTION_VECTORS
Value: 0x4000
Indicates whether support is available for use_ref_frame_mvs to be configured on a per frame basis. A value of 0 specifies that use_ref_frame_mvs syntax element will not be used.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_ORDER_HINT_TOOLS
Value: 0x8000
Indicates whether support is available for usage of tools based on the values of order hints. A value of 0 indicates that tools based on order hints are not supported and can't be enabled.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_AUTO_SEGMENTATION
Value: 0x10000
Indicates whether the driver can perform segmentation without API Client input and return segmentation_params() information in D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES. Driver will write the segment map in the compressed bitstream.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_CUSTOM_SEGMENTATION
Value: 0x20000
Indicates whether the driver supports the API Client passing customized segmentation segmentation_params() as well as the segment map and driver will honor exactly.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_LOOP_FILTER_DELTAS
Value: 0x40000
Indicates whether the driver supports use of loop filter deltas. Related to loop_filter_delta_enabled AV1 syntax in loop_filter_params().
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_QUANTIZATION_DELTAS
Value: 0x80000
Indicates whether the driver supports use of quantization delta syntax.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_QUANTIZATION_MATRIX
Value: 0x100000
Indicates whether the driver supports use of quantization matrix syntax.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_REDUCED_TX_SET
Value: 0x200000
Indicates whether driver supports setting reduced_tx_set in the frame header or must be always set to zero.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_MOTION_MODE_SWITCHABLE
Value: 0x400000
Indicates whether driver supports setting is_motion_mode_switchable in the frame header or must be always set to zero.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_ALLOW_HIGH_PRECISION_MV
Value: 0x800000
Indicates whether driver supports setting allow_high_precision_mv in the frame header or must be always set to zero.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_SKIP_MODE_PRESENT
Value: 0x1000000
Indicates whether driver supports setting skip_mode_present in the frame header or must be always set to zero.
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_DELTA_LF_PARAMS
Value: 0x2000000
Indicates whether the driver supports use of loop filter delta params syntax. Related to delta_lf_params() AV1 syntax.

Remarks

See D3D12 AV1 video encoding for more information.

Requirements

Requirement Value
Minimum supported client Windows 11, version 24H2 (WDDM 3.2)
Header d3d12umddi.h

See also

D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095