include: Add some structures in d3d12video.idl.
This commit is contained in:
parent
a2c552f723
commit
6786d38aa2
1 changed files with 155 additions and 0 deletions
|
@ -489,6 +489,14 @@ typedef enum D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION
|
|||
D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_QUARTER_PEL = 0,
|
||||
} D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION;
|
||||
|
||||
typedef struct D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT
|
||||
{
|
||||
UINT NodeIndex;
|
||||
BOOL VideoDecodeSupport;
|
||||
BOOL VideoProcessSupport;
|
||||
BOOL VideoEncodeSupport;
|
||||
} D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT;
|
||||
|
||||
typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_DESC
|
||||
{
|
||||
UINT NodeMask;
|
||||
|
@ -980,6 +988,14 @@ typedef struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC
|
|||
UINT Height;
|
||||
} D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC;
|
||||
|
||||
typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE
|
||||
{
|
||||
UINT NodeIndex;
|
||||
D3D12_VIDEO_ENCODER_CODEC Codec;
|
||||
D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE RateControlMode;
|
||||
BOOL IsSupported;
|
||||
} D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE;
|
||||
|
||||
typedef enum D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE
|
||||
{
|
||||
D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_NONE = 0,
|
||||
|
@ -1012,6 +1028,19 @@ typedef struct D3D12_VIDEO_ENCODER_HEAP_DESC
|
|||
const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList;
|
||||
} D3D12_VIDEO_ENCODER_HEAP_DESC;
|
||||
|
||||
typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS
|
||||
{
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_NONE = 0x0,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CABAC_ENCODING_SUPPORT = 0x1,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = 0x2,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x4,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_ADAPTIVE_8x8_TRANSFORM_ENCODING_SUPPORT = 0x8,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_SPATIAL_ENCODING_SUPPORT = 0x10,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_TEMPORAL_ENCODING_SUPPORT = 0x20,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = 0x40,
|
||||
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS;
|
||||
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS);")
|
||||
|
||||
typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES
|
||||
{
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = 0,
|
||||
|
@ -1023,6 +1052,40 @@ typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE
|
|||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = 6,
|
||||
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES;
|
||||
|
||||
typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS
|
||||
{
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_NONE = 0x0,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED),
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_1_DISABLE_ALL_SLICE_BLOCK_EDGES = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_1_DISABLE_ALL_SLICE_BLOCK_EDGES),
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_2_DISABLE_SLICE_BOUNDARIES_BLOCKS = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_2_DISABLE_SLICE_BOUNDARIES_BLOCKS),
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_3_USE_TWO_STAGE_DEBLOCKING = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_3_USE_TWO_STAGE_DEBLOCKING),
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_4_DISABLE_CHROMA_BLOCK_EDGES = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_4_DISABLE_CHROMA_BLOCK_EDGES),
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES),
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING),
|
||||
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS;
|
||||
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS);")
|
||||
|
||||
typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264
|
||||
{
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS SupportFlags;
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS DisableDeblockingFilterSupportedModes;
|
||||
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264;
|
||||
|
||||
typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS
|
||||
{
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_NONE = 0x0,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x1,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = 0x2,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = 0x4,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_SAO_FILTER_SUPPORT = 0x8,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_SUPPORT = 0x10,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_REQUIRED = 0x20,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_SUPPORT = 0x40,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_DISABLING_LOOP_FILTER_ACROSS_SLICES_SUPPORT = 0x80,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_P_FRAMES_IMPLEMENTED_AS_LOW_DELAY_B_FRAMES = 0x100,
|
||||
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS;
|
||||
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS);")
|
||||
|
||||
typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE {
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_8x8 = 0,
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_16x16 = 1,
|
||||
|
@ -1037,6 +1100,73 @@ typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE {
|
|||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_32x32 = 3,
|
||||
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE;
|
||||
|
||||
typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC
|
||||
{
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags;
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize;
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize;
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize;
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize;
|
||||
UCHAR max_transform_hierarchy_depth_inter;
|
||||
UCHAR max_transform_hierarchy_depth_intra;
|
||||
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC;
|
||||
|
||||
typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT
|
||||
{
|
||||
UINT DataSize;
|
||||
union
|
||||
{
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264 *pH264Support;
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC *pHEVCSupport;
|
||||
};
|
||||
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT;
|
||||
|
||||
typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT
|
||||
{
|
||||
UINT NodeIndex;
|
||||
D3D12_VIDEO_ENCODER_CODEC Codec;
|
||||
D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
|
||||
BOOL IsSupported;
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT CodecSupportLimits;
|
||||
} D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT;
|
||||
|
||||
typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264
|
||||
{
|
||||
UINT MaxL0ReferencesForP;
|
||||
UINT MaxL0ReferencesForB;
|
||||
UINT MaxL1ReferencesForB;
|
||||
UINT MaxLongTermReferences;
|
||||
UINT MaxDPBCapacity;
|
||||
} D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264;
|
||||
|
||||
typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC
|
||||
{
|
||||
UINT MaxL0ReferencesForP;
|
||||
UINT MaxL0ReferencesForB;
|
||||
UINT MaxL1ReferencesForB;
|
||||
UINT MaxLongTermReferences;
|
||||
UINT MaxDPBCapacity;
|
||||
} D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC;
|
||||
|
||||
typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT
|
||||
{
|
||||
UINT DataSize;
|
||||
union
|
||||
{
|
||||
D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264 *pH264Support;
|
||||
D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC *pHEVCSupport;
|
||||
};
|
||||
} D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT;
|
||||
|
||||
typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT
|
||||
{
|
||||
UINT NodeIndex;
|
||||
D3D12_VIDEO_ENCODER_CODEC Codec;
|
||||
D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
|
||||
BOOL IsSupported;
|
||||
D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT PictureSupport;
|
||||
} D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT;
|
||||
|
||||
typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS
|
||||
{
|
||||
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_NONE = 0x0,
|
||||
|
@ -1436,6 +1566,31 @@ typedef struct D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE
|
|||
UINT ReconstructedPictureSubresource;
|
||||
} D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE;
|
||||
|
||||
typedef struct D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA
|
||||
{
|
||||
UINT64 bSize;
|
||||
UINT64 bStartOffset;
|
||||
UINT64 bHeaderSize;
|
||||
} D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA;
|
||||
|
||||
typedef struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS
|
||||
{
|
||||
UINT64 AverageQP;
|
||||
UINT64 IntraCodingUnitsCount;
|
||||
UINT64 InterCodingUnitsCount;
|
||||
UINT64 SkipCodingUnitsCount;
|
||||
UINT64 AverageMotionEstimationXDirection;
|
||||
UINT64 AverageMotionEstimationYDirection;
|
||||
} D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS;
|
||||
|
||||
typedef struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA
|
||||
{
|
||||
UINT64 EncodeErrorFlags;
|
||||
D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS EncodeStats;
|
||||
UINT64 EncodedBitstreamWrittenBytesCount;
|
||||
UINT64 WrittenSubregionsCount;
|
||||
} D3D12_VIDEO_ENCODER_OUTPUT_METADATA;
|
||||
|
||||
typedef struct D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER
|
||||
{
|
||||
ID3D12Resource *pBuffer;
|
||||
|
|
Loading…
Add table
Reference in a new issue