headers: Import Wine version 11-rc1
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-headers/include/d3d11.idl b/mingw-w64-headers/include/d3d11.idl
index 670ec32..49df873 100644
--- a/mingw-w64-headers/include/d3d11.idl
+++ b/mingw-w64-headers/include/d3d11.idl
@@ -855,23 +855,34 @@
D3D11_FILTER_TYPE_LINEAR = 1
} D3D11_FILTER_TYPE;
+typedef enum D3D11_FILTER_REDUCTION_TYPE
+{
+ D3D11_FILTER_REDUCTION_TYPE_STANDARD = 0x0,
+ D3D11_FILTER_REDUCTION_TYPE_COMPARISON = 0x1,
+ D3D11_FILTER_REDUCTION_TYPE_MINIMUM = 0x2,
+ D3D11_FILTER_REDUCTION_TYPE_MAXIMUM = 0x3,
+} D3D11_FILTER_REDUCTION_TYPE;
+
+const UINT D3D11_FILTER_REDUCTION_TYPE_SHIFT = 7;
const UINT D3D11_MIN_FILTER_SHIFT = 4;
const UINT D3D11_MAG_FILTER_SHIFT = 2;
const UINT D3D11_MIP_FILTER_SHIFT = 0;
-const UINT D3D11_FILTER_TYPE_MASK = 0x00000003;
-const UINT D3D11_COMPARISON_FILTERING_BIT = 0x00000080;
-const UINT D3D11_ANISOTROPIC_FILTERING_BIT = 0x00000040;
-cpp_quote("#define D3D11_ENCODE_BASIC_FILTER(min, mag, mip, bComparison) \\")
-cpp_quote(" ((D3D11_FILTER)(((bComparison) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) | \\")
-cpp_quote(" (((min)&D3D11_FILTER_TYPE_MASK) << D3D11_MIN_FILTER_SHIFT) | \\")
+const UINT D3D11_FILTER_REDUCTION_TYPE_MASK = 0x00000003;
+const UINT D3D11_FILTER_TYPE_MASK = 0x00000003;
+const UINT D3D11_COMPARISON_FILTERING_BIT = 0x00000080;
+const UINT D3D11_ANISOTROPIC_FILTERING_BIT = 0x00000040;
+
+cpp_quote("#define D3D11_ENCODE_BASIC_FILTER(min, mag, mip, reduction_mode) \\")
+cpp_quote(" ((D3D11_FILTER)((((min)&D3D11_FILTER_TYPE_MASK) << D3D11_MIN_FILTER_SHIFT) | \\")
cpp_quote(" (((mag)&D3D11_FILTER_TYPE_MASK) << D3D11_MAG_FILTER_SHIFT) | \\")
-cpp_quote(" (((mip)&D3D11_FILTER_TYPE_MASK) << D3D11_MIP_FILTER_SHIFT)))")
+cpp_quote(" (((mip)&D3D11_FILTER_TYPE_MASK) << D3D11_MIP_FILTER_SHIFT) | \\")
+cpp_quote(" (((reduction_mode)&D3D11_FILTER_REDUCTION_TYPE_MASK) << D3D11_FILTER_REDUCTION_TYPE_SHIFT)))")
-cpp_quote("#define D3D11_ENCODE_ANISOTROPIC_FILTER(bComparison) \\")
+cpp_quote("#define D3D11_ENCODE_ANISOTROPIC_FILTER(reduction_mode) \\")
cpp_quote(" ((D3D11_FILTER)(D3D11_ANISOTROPIC_FILTERING_BIT | \\" )
cpp_quote(" D3D11_ENCODE_BASIC_FILTER(D3D11_FILTER_TYPE_LINEAR,D3D11_FILTER_TYPE_LINEAR, \\" )
-cpp_quote(" D3D11_FILTER_TYPE_LINEAR,bComparison)))" )
+cpp_quote(" D3D11_FILTER_TYPE_LINEAR,reduction_mode)))" )
cpp_quote("#define D3D11_DECODE_MIN_FILTER(d3d11Filter) \\")
cpp_quote(" ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIN_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))")
@@ -882,7 +893,11 @@
cpp_quote("#define D3D11_DECODE_MIP_FILTER(d3d11Filter) \\")
cpp_quote(" ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIP_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))")
-cpp_quote("#define D3D11_DECODE_IS_COMPARISON_FILTER(d3d11Filter) ((d3d11Filter) & D3D11_COMPARISON_FILTERING_BIT)")
+cpp_quote("#define D3D11_DECODE_FILTER_REDUCTION(filter) \\")
+cpp_quote(" ((D3D11_FILTER_REDUCTION_TYPE)(((filter) >> D3D11_FILTER_REDUCTION_TYPE_SHIFT) & D3D11_FILTER_REDUCTION_TYPE_MASK))")
+
+cpp_quote("#define D3D11_DECODE_IS_COMPARISON_FILTER(filter) \\")
+cpp_quote(" (D3D11_DECODE_FILTER_REDUCTION(filter) == D3D11_FILTER_REDUCTION_TYPE_COMPARISON)")
cpp_quote("#define D3D11_DECODE_IS_ANISOTROPIC_FILTER(d3d11Filter) \\")
cpp_quote(" (((d3d11Filter) & D3D11_ANISOTROPIC_FILTERING_BIT ) \\" )
diff --git a/mingw-w64-headers/include/d3d12.idl b/mingw-w64-headers/include/d3d12.idl
index d7b283a..f49f3cb 100644
--- a/mingw-w64-headers/include/d3d12.idl
+++ b/mingw-w64-headers/include/d3d12.idl
@@ -428,6 +428,11 @@
const UINT D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT = 256;
const UINT D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT = 256;
const UINT D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN = 0xffffffff;
+const UINT D3D12_VIDEO_ENCODER_AV1_INVALID_DPB_RESOURCE_INDEX = 0xff;
+const UINT D3D12_VIDEO_ENCODER_AV1_MAX_TILE_COLS = 64;
+const UINT D3D12_VIDEO_ENCODER_AV1_MAX_TILE_ROWS = 64;
+const UINT D3D12_VIDEO_ENCODER_AV1_SUPERRES_DENOM_MIN = 9;
+const UINT D3D12_VIDEO_ENCODER_AV1_SUPERRES_NUM = 8;
const UINT D3D12_VIDEO_PROCESS_MAX_FILTERS = 32;
const UINT D3D12_VIDEO_PROCESS_STEREO_VIEWS = 2;
const UINT D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
diff --git a/mingw-w64-headers/include/d3d12video.idl b/mingw-w64-headers/include/d3d12video.idl
index f39b28d..b5e0fd6 100644
--- a/mingw-w64-headers/include/d3d12video.idl
+++ b/mingw-w64-headers/include/d3d12video.idl
@@ -85,6 +85,8 @@
D3D12_FEATURE_VIDEO_ENCODER_SUPPORT = 43,
D3D12_FEATURE_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT = 44,
D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS = 45,
+ D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG = 46,
+ D3D12_FEATURE_VIDEO_ENCODER_SUPPORT1 = 47,
} D3D12_FEATURE_VIDEO;
typedef enum D3D12_BITSTREAM_ENCRYPTION_TYPE
@@ -808,6 +810,442 @@
cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2, 0x17127009, 0xa00f, 0x4ce1, 0x99, 0x4e, 0xbf, 0x40, 0x81, 0xf6, 0xf3, 0xf0);")
cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2_420, 0x2d80bed6, 0x9cac, 0x4835, 0x9e, 0x91, 0x32, 0x7b, 0xbc, 0x4f, 0x9e, 0xe8);")
+typedef enum D3D12_VIDEO_ENCODER_AV1_PROFILE
+{
+ D3D12_VIDEO_ENCODER_AV1_PROFILE_MAIN = 0,
+ D3D12_VIDEO_ENCODER_AV1_PROFILE_HIGH = 1,
+ D3D12_VIDEO_ENCODER_AV1_PROFILE_PROFESSIONAL = 2,
+} D3D12_VIDEO_ENCODER_AV1_PROFILE;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_LEVELS
+{
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_2_0 = 0,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_2_1 = 1,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_2_2 = 2,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_2_3 = 3,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_3_0 = 4,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_3_1 = 5,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_3_2 = 6,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_3_3 = 7,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_4_0 = 8,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_4_1 = 9,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_4_2 = 10,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_4_3 = 11,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_5_0 = 12,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_5_1 = 13,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_5_2 = 14,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_5_3 = 15,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_6_0 = 16,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_6_1 = 17,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_6_2 = 18,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_6_3 = 19,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_7_0 = 20,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_7_1 = 21,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_7_2 = 22,
+ D3D12_VIDEO_ENCODER_AV1_LEVELS_7_3 = 23,
+} D3D12_VIDEO_ENCODER_AV1_LEVELS;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_TIER
+{
+ D3D12_VIDEO_ENCODER_AV1_TIER_MAIN = 0,
+ D3D12_VIDEO_ENCODER_AV1_TIER_HIGH = 1,
+} D3D12_VIDEO_ENCODER_AV1_TIER;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS
+{
+ D3D12_VIDEO_ENCODER_AV1_LEVELS Level;
+ D3D12_VIDEO_ENCODER_AV1_TIER Tier;
+} D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS
+{
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_NONE = 0x0,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_128x128_SUPERBLOCK = 0x1,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FILTER_INTRA = 0x2,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_EDGE_FILTER = 0x4,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTERINTRA_COMPOUND = 0x8,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MASKED_COMPOUND = 0x10,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_WARPED_MOTION = 0x20,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DUAL_FILTER = 0x40,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_JNT_COMP = 0x80,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FORCED_INTEGER_MOTION_VECTORS = 0x100,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SUPER_RESOLUTION = 0x200,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_RESTORATION_FILTER = 0x400,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_PALETTE_ENCODING = 0x800,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CDEF_FILTERING = 0x1000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_BLOCK_COPY = 0x2000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x4000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ORDER_HINT_TOOLS = 0x8000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_AUTO_SEGMENTATION = 0x10000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CUSTOM_SEGMENTATION = 0x20000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_FILTER_DELTAS = 0x40000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_DELTAS = 0x80000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_MATRIX = 0x100000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_REDUCED_TX_SET = 0x200000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MOTION_MODE_SWITCHABLE = 0x400000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ALLOW_HIGH_PRECISION_MV = 0x800000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SKIP_MODE_PRESENT = 0x1000000,
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DELTA_LF_PARAMS = 0x2000000,
+} D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS)")
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_TX_MODE
+{
+ D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4 = 0,
+ D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST = 1,
+ D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT = 2,
+} D3D12_VIDEO_ENCODER_AV1_TX_MODE;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS
+{
+ D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_NONE = 0x0,
+ D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_ONLY4x4 = (1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4),
+ D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_LARGEST = (1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST),
+ D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_SELECT = (1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT),
+} D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS)")
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS
+{
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP = 0,
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH = 1,
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP = 2,
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR = 3,
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE = 4,
+} D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS
+{
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_NONE = 0x0,
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP),
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SMOOTH = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH),
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SHARP = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP),
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_BILINEAR = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR),
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_SWITCHABLE = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE),
+} D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS)")
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE
+{
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_4x4 = 0,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_8x8 = 1,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_16x16 = 2,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_32x32 = 3,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_64x64 = 4,
+} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE
+{
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED = 0,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q = 1,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V = 2,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H = 3,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U = 4,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V = 5,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME = 6,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP = 7,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV = 8,
+} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS
+{
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_NONE = 0,
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_DISABLED = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED),
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_Q = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q),
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_V = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V),
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_H = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H),
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_U = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U),
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_V = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V),
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_REF_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME),
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_SKIP = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP),
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_GLOBALMV = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV),
+} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS)")
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE
+{
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_DISABLED = 0,
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SWITCHABLE = 1,
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_WIENER = 2,
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SGRPROJ = 3,
+} D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE
+{
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_DISABLED = 0,
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_32x32 = 1,
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_64x64 = 2,
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_128x128 = 3,
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_256x256 = 4,
+} D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS
+{
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_NOT_SUPPORTED = 0x0,
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_32x32 = 0x1,
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_64x64 = 0x2,
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_128x128 = 0x4,
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_256x256 = 0x8,
+} D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS)")
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION
+{
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY = 0,
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION = 1,
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM = 2,
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE = 3,
+} D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS
+{
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_NONE = 0,
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_IDENTITY = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY),
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_TRANSLATION = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION),
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_ROTZOOM = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM),
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_AFFINE = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE),
+} D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS)")
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS
+{
+ D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_NONE = 0,
+ D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION = 0x1,
+ D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION_DELTA = 0x2,
+ D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER = 0x4,
+ D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER_DELTA = 0x8,
+ D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CDEF_DATA = 0x10,
+ D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CONTEXT_UPDATE_TILE_ID = 0x20,
+ D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_COMPOUND_PREDICTION_MODE = 0x40,
+ D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_PRIMARY_REF_FRAME = 0x80,
+ D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_REFERENCE_INDICES = 0x100,
+} D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS)")
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT
+{
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS SupportedFeatureFlags;
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS RequiredFeatureFlags;
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS SupportedInterpolationFilters;
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS SupportedRestorationParams[3][3];
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS SupportedSegmentationModes;
+ D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS SupportedTxModes[4];
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE SegmentationBlockSize;
+ D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS PostEncodeValuesFlags;
+ UINT MaxTemporalLayers;
+ UINT MaxSpatialLayers;
+} D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE
+{
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME = 0,
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME = 1,
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME = 2,
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME = 3,
+} D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS
+{
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_NONE = 0x0,
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_KEY_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME),
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTER_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME),
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTRA_ONLY_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME),
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_SWITCH_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME),
+} D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS)")
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE
+{
+ D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_SINGLE_REFERENCE = 0,
+ D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_COMPOUND_REFERENCE = 1,
+} D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE;
+
+typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT
+{
+ D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE PredictionMode;
+ UINT MaxUniqueReferencesPerFrame;
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS SupportedFrameTypes;
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS SupportedReferenceWarpedMotionFlags;
+} D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION
+{
+ D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS FeatureFlags;
+ UINT OrderHintBitsMinus1;
+} D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE
+{
+ UINT IntraDistance;
+ UINT InterFramePeriod;
+} D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO
+{
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION TransformationType;
+ INT TransformationMatrix[8];
+ BOOL InvalidAffineSet;
+} D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR
+{
+ UINT ReconstructedPictureResourceIndex;
+ UINT TemporalLayerIndexPlus1;
+ UINT SpatialLayerIndexPlus1;
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType;
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO WarpedMotionInfo;
+ UINT OrderHint;
+ UINT PictureIndex;
+} D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR;
+
+typedef enum D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS
+{
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_NONE = 0x0,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_ERROR_RESILIENT_MODE = 0x1,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_CDF_UPDATE = 0x2,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_PALETTE_ENCODING = 0x4,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_SKIP_MODE = 0x8,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x10,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FORCE_INTEGER_MOTION_VECTORS = 0x20,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_INTRA_BLOCK_COPY = 0x40,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_USE_SUPER_RESOLUTION = 0x80,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_FRAME_END_UPDATE_CDF = 0x100,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_AUTO = 0x200,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_CUSTOM = 0x400,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_WARPED_MOTION = 0x800,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_REDUCED_TX_SET = 0x1000,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_MOTION_MODE_SWITCHABLE = 0x2000,
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_HIGH_PRECISION_MV = 0x4000,
+} D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS)")
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG
+{
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE FrameRestorationType[3];
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE LoopRestorationPixelSize[3];
+} D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA
+{
+ UINT64 EnabledFeatures;
+ INT64 FeatureValue[8];
+} D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG
+{
+ UINT64 UpdateMap;
+ UINT64 TemporalUpdate;
+ UINT64 UpdateData;
+ UINT64 NumSegments;
+ D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA SegmentsData[8];
+} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP
+{
+ UINT SegmentsMapByteSize;
+ UINT8 *pSegmentsMap;
+} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP;
+
+typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG
+{
+ UINT64 LoopFilterLevel[2];
+ UINT64 LoopFilterLevelU;
+ UINT64 LoopFilterLevelV;
+ UINT64 LoopFilterSharpnessLevel;
+ UINT64 LoopFilterDeltaEnabled;
+ UINT64 UpdateRefDelta;
+ INT64 RefDeltas[8];
+ UINT64 UpdateModeDelta;
+ INT64 ModeDeltas[2];
+} D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG;
+
+typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG
+{
+ UINT64 DeltaLFPresent;
+ UINT64 DeltaLFMulti;
+ UINT64 DeltaLFRes;
+} D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG;
+
+typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG
+{
+ UINT64 BaseQIndex;
+ INT64 YDCDeltaQ;
+ INT64 UDCDeltaQ;
+ INT64 UACDeltaQ;
+ INT64 VDCDeltaQ;
+ INT64 VACDeltaQ;
+ UINT64 UsingQMatrix;
+ UINT64 QMY;
+ UINT64 QMU;
+ UINT64 QMV;
+} D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG;
+
+typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG
+{
+ UINT64 DeltaQPresent;
+ UINT64 DeltaQRes;
+} D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG
+{
+ UINT64 CdefBits;
+ UINT64 CdefDampingMinus3;
+ UINT64 CdefYPriStrength[8];
+ UINT64 CdefUVPriStrength[8];
+ UINT64 CdefYSecStrength[8];
+ UINT64 CdefUVSecStrength[8];
+} D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA
+{
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS Flags;
+ D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType;
+ D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE CompoundPredictionType;
+ D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS InterpolationFilter;
+ D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG FrameRestorationConfig;
+ D3D12_VIDEO_ENCODER_AV1_TX_MODE TxMode;
+ UINT SuperResDenominator;
+ UINT OrderHint;
+ UINT PictureIndex;
+ UINT TemporalLayerIndexPlus1;
+ UINT SpatialLayerIndexPlus1;
+ D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR ReferenceFramesReconPictureDescriptors[8];
+ UINT ReferenceIndices[7];
+ UINT PrimaryRefFrame;
+ UINT RefreshFrameFlags;
+ D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter;
+ D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta;
+ D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization;
+ D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta;
+ D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF;
+ UINT QPMapValuesCount;
+ INT16 *pRateControlQPMap;
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG CustomSegmentation;
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP CustomSegmentsMap;
+} D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES
+{
+ UINT64 RowCount;
+ UINT64 ColCount;
+ UINT64 RowHeights[D3D12_VIDEO_ENCODER_AV1_MAX_TILE_ROWS];
+ UINT64 ColWidths[D3D12_VIDEO_ENCODER_AV1_MAX_TILE_COLS];
+ UINT64 ContextUpdateTileId;
+} D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES;
+
+typedef struct D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES
+{
+ UINT64 CompoundPredictionType;
+ D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter;
+ D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta;
+ D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization;
+ D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta;
+ D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF;
+ D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG SegmentationConfig;
+ UINT64 PrimaryRefFrame;
+ UINT64 ReferenceIndices[7];
+} D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES;
+
typedef enum D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE
{
D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP = 0,
@@ -894,6 +1332,7 @@
{
D3D12_VIDEO_ENCODER_CODEC_H264 = 0,
D3D12_VIDEO_ENCODER_CODEC_HEVC = 1,
+ D3D12_VIDEO_ENCODER_CODEC_AV1 = 2,
} D3D12_VIDEO_ENCODER_CODEC;
typedef enum D3D12_VIDEO_ENCODER_PROFILE_H264
@@ -916,6 +1355,7 @@
{
D3D12_VIDEO_ENCODER_PROFILE_H264 *pH264Profile;
D3D12_VIDEO_ENCODER_PROFILE_HEVC *pHEVCProfile;
+ D3D12_VIDEO_ENCODER_AV1_PROFILE *pAV1Profile;
};
} D3D12_VIDEO_ENCODER_PROFILE_DESC;
@@ -979,6 +1419,7 @@
{
D3D12_VIDEO_ENCODER_LEVELS_H264 *pH264LevelSetting;
D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC *pHEVCLevelSetting;
+ D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS *pAV1LevelSetting;
};
} D3D12_VIDEO_ENCODER_LEVEL_SETTING;
@@ -1002,6 +1443,16 @@
D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_ROW_BASED = 1,
} D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE;
+typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE
+{
+ UINT NodeIndex;
+ D3D12_VIDEO_ENCODER_CODEC Codec;
+ D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
+ D3D12_VIDEO_ENCODER_LEVEL_SETTING Level;
+ D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefreshMode;
+ BOOL IsSupported;
+} D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE;
+
typedef enum D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE
{
D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_FULL_FRAME = 0,
@@ -1111,6 +1562,33 @@
UCHAR max_transform_hierarchy_depth_intra;
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC;
+typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1
+{
+ D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_NONE = 0x0,
+ D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_SUPPORT = 0x1,
+ D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_REQUIRED = 0x2,
+} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1)")
+
+typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1
+{
+ 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;
+ UINT allowed_diff_cu_chroma_qp_offset_depth_values;
+ UINT allowed_log2_sao_offset_scale_luma_values;
+ UINT allowed_log2_sao_offset_scale_chroma_values;
+ UINT allowed_log2_max_transform_skip_block_size_minus2_values;
+ UINT allowed_chroma_qp_offset_list_len_minus1_values;
+ UINT allowed_cb_qp_offset_list_values[6];
+ UINT allowed_cr_qp_offset_list_values[6];
+ D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1 SupportFlags1;
+} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1;
+
typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT
{
UINT DataSize;
@@ -1118,6 +1596,8 @@
{
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264 *pH264Support;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC *pHEVCSupport;
+ D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1 *pHEVCSupport1;
+ D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT *pAV1Support;
};
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT;
@@ -1155,6 +1635,7 @@
{
D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264 *pH264Support;
D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC *pHEVCSupport;
+ D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT *pAV1Support;
};
} D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT;
@@ -1239,6 +1720,7 @@
{
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264 *pH264Config;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC *pHEVCConfig;
+ D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION *pAV1Config;
};
} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION;
@@ -1302,6 +1784,7 @@
{
D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264 *pH264GroupOfPictures;
D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC *pHEVCGroupOfPictures;
+ D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE *pAV1SequenceStructure;
};
} D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE;
@@ -1545,6 +2028,34 @@
INT8 *pRateControlQPMap;
} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC;
+typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1
+{
+ D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags;
+ D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType;
+ UINT slice_pic_parameter_set_id;
+ UINT PictureOrderCountNumber;
+ UINT TemporalLayerIndex;
+ UINT List0ReferenceFramesCount;
+ UINT *pList0ReferenceFrames;
+ UINT List1ReferenceFramesCount;
+ UINT *pList1ReferenceFrames;
+ UINT ReferenceFramesReconPictureDescriptorsCount;
+ D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC *pReferenceFramesReconPictureDescriptors;
+ UINT List0RefPicModificationsCount;
+ UINT *pList0RefPicModifications;
+ UINT List1RefPicModificationsCount;
+ UINT *pList1RefPicModifications;
+ UINT QPMapValuesCount;
+ INT8 *pRateControlQPMap;
+ UCHAR diff_cu_chroma_qp_offset_depth;
+ UCHAR log2_sao_offset_scale_luma;
+ UCHAR log2_sao_offset_scale_chroma;
+ UCHAR log2_max_transform_skip_block_size_minus2;
+ UCHAR chroma_qp_offset_list_len_minus1;
+ CHAR cb_qp_offset_list[6];
+ CHAR cr_qp_offset_list[6];
+} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1;
+
typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA
{
UINT DataSize;
@@ -1552,6 +2063,8 @@
{
D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264 *pH264PicData;
D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC *pHEVCPicData;
+ D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1 *pHEVCPicData1;
+ D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA *pAV1PicData;
};
} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA;
@@ -1606,9 +2119,32 @@
{
const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES *pSlicesPartition_H264;
const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES *pSlicesPartition_HEVC;
+ const D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES *pTilesPartition_AV1;
};
} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA;
+typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1
+{
+ UINT NodeIndex;
+ D3D12_VIDEO_ENCODER_CODEC Codec;
+ DXGI_FORMAT InputFormat;
+ D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration;
+ D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence;
+ D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl;
+ D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh;
+ D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding;
+ UINT ResolutionsListCount;
+ const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList;
+ UINT MaxReferenceFramesInDPB;
+ D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags;
+ D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags;
+ D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile;
+ D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel;
+ D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS *pResolutionDependentSupport;
+ D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData;
+ UINT MaxQualityVsSpeed;
+} D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1;
+
typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC
{
D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS Flags;
diff --git a/mingw-w64-headers/include/msxml.idl b/mingw-w64-headers/include/msxml.idl
index 375bb64..283a0f4 100644
--- a/mingw-w64-headers/include/msxml.idl
+++ b/mingw-w64-headers/include/msxml.idl
@@ -164,7 +164,7 @@
HRESULT doctype( [retval, out] BSTR *p );
[propget, id(DISPID_XMLDOCUMENT_DTDURL)]
- HRESULT dtdURl( [retval, out] BSTR *p );
+ HRESULT dtdURL( [retval, out] BSTR *p );
[id(DISPID_XMLDOCUMENT_CREATEELEMENT)]
HRESULT createElement(
diff --git a/mingw-w64-headers/include/msxml2.idl b/mingw-w64-headers/include/msxml2.idl
index 848bc13..85bb6a5 100644
--- a/mingw-w64-headers/include/msxml2.idl
+++ b/mingw-w64-headers/include/msxml2.idl
@@ -1613,15 +1613,6 @@
}
[
- uuid(88d96a06-f192-11d4-a65f-0040963251e5),
-]
-coclass FreeThreadedDOMDocument60
-{
- [default] interface IXMLDOMDocument3;
- [default, source] dispinterface XMLDOMDocumentEvents;
-}
-
-[
helpstring("Free threaded XML DOM Document"),
progid("Msxml2.FreeThreadedDOMDocument"),
vi_progid("Msxml2.FreeThreadedDOMDocument"),
@@ -1663,14 +1654,6 @@
}
[
- uuid(88d96a0a-f192-11d4-a65f-0040963251e5)
-]
-coclass XMLHTTP60
-{
- [default] interface IXMLHTTPRequest;
-}
-
-[
helpstring("XML HTTP"),
progid("Msxml2.XMLHTTP"),
vi_progid("Msxml2.XMLHTTP"),
@@ -1703,14 +1686,6 @@
}
[
- uuid(88d96a0b-f192-11d4-a65f-0040963251e5)
-]
-coclass ServerXMLHTTP60
-{
- [default] interface IServerXMLHTTPRequest2;
-}
-
-[
helpstring("Server XML HTTP"),
progid("Msxml2.ServerXMLHTTP"),
vi_progid("Msxml2.ServerXMLHTTP"),
@@ -1791,14 +1766,6 @@
}
[
- uuid(88d96a08-f192-11d4-a65f-0040963251e5)
-]
-coclass XSLTemplate60
-{
- [default] interface IXSLTemplate;
-}
-
-[
helpstring("XSL Template"),
progid("Msxml2.XSLTemplate"),
vi_progid("Msxml2.XSLTemplate"),
@@ -3290,15 +3257,6 @@
}
[
- uuid(88d96a0c-f192-11d4-a65f-0040963251e5)
-]
-coclass SAXXMLReader60
-{
- [default] interface IVBSAXXMLReader;
- interface ISAXXMLReader;
-}
-
-[
helpstring("SAX XML Reader"),
progid("Msxml2.SAXXMLReader"),
vi_progid("Msxml2.SAXXMLReader"),
@@ -3373,26 +3331,6 @@
}
[
- uuid(88d96a10-f192-11d4-a65f-0040963251e5)
-]
-coclass MXHTMLWriter60
-{
- [default] interface IMXWriter;
-
- interface ISAXContentHandler;
- interface ISAXDeclHandler;
- interface ISAXDTDHandler;
- interface ISAXErrorHandler;
- interface ISAXLexicalHandler;
-
- interface IVBSAXContentHandler;
- interface IVBSAXDeclHandler;
- interface IVBSAXDTDHandler;
- interface IVBSAXErrorHandler;
- interface IVBSAXLexicalHandler;
-}
-
-[
helpstring("MXXMLWriter 3.0"),
progid("Msxml2.MXXMLWriter.3.0"),
vi_progid("Msxml2.MXXMLWriter"),
@@ -3437,26 +3375,6 @@
}
[
- uuid(88d96a0f-f192-11d4-a65f-0040963251e5)
-]
-coclass MXXMLWriter60
-{
- [default] interface IMXWriter;
-
- interface ISAXContentHandler;
- interface ISAXDeclHandler;
- interface ISAXDTDHandler;
- interface ISAXErrorHandler;
- interface ISAXLexicalHandler;
-
- interface IVBSAXContentHandler;
- interface IVBSAXDeclHandler;
- interface IVBSAXDTDHandler;
- interface IVBSAXErrorHandler;
- interface IVBSAXLexicalHandler;
-}
-
-[
helpstring("MXXMLWriter"),
progid("Msxml2.MXXMLWriter"),
vi_progid("Msxml2.MXXMLWriter"),
@@ -3499,15 +3417,6 @@
}
[
- uuid(88d96a11-f192-11d4-a65f-0040963251e5)
-]
-coclass MXNamespaceManager60
-{
- [default] interface IVBMXNamespaceManager;
- interface IMXNamespaceManager;
-}
-
-[
helpstring("SAXAttributes 3.0"),
progid("Msxml2.SAXAttributes.3.0"),
vi_progid("Msxml2.SAXAttributes"),
@@ -3532,16 +3441,6 @@
}
[
- uuid(88d96a0e-f192-11d4-a65f-0040963251e5)
-]
-coclass SAXAttributes60
-{
- [default] interface IMXAttributes;
- interface IVBSAXAttributes;
- interface ISAXAttributes;
-}
-
-[
helpstring("SAXAttributes"),
progid("Msxml2.SAXAttributes"),
vi_progid("Msxml2.SAXAttributes"),
diff --git a/mingw-w64-headers/include/windows.foundation.idl b/mingw-w64-headers/include/windows.foundation.idl
index f4c1ea2..7fbb454 100644
--- a/mingw-w64-headers/include/windows.foundation.idl
+++ b/mingw-w64-headers/include/windows.foundation.idl
@@ -385,25 +385,25 @@
HRESULT GetPoint([out, retval] Windows.Foundation.Point *value);
HRESULT GetSize([out, retval] Windows.Foundation.Size *value);
HRESULT GetRect([out, retval] Windows.Foundation.Rect *value);
- HRESULT GetUInt8Array([out] UINT32 *value_size, [out, size_is(*value_size)] BYTE **value);
- HRESULT GetInt16Array([out] UINT32 *value_size, [out, size_is(*value_size)] INT16 **value);
- HRESULT GetUInt16Array([out] UINT32 *value_size, [out, size_is(*value_size)] UINT16 **value);
- HRESULT GetInt32Array([out] UINT32 *value_size, [out, size_is(*value_size)] INT32 **value);
- HRESULT GetUInt32Array([out] UINT32 *value_size, [out, size_is(*value_size)] UINT32 **value);
- HRESULT GetInt64Array([out] UINT32 *value_size, [out, size_is(*value_size)] INT64 **value);
- HRESULT GetUInt64Array([out] UINT32 *value_size, [out, size_is(*value_size)] UINT64 **value);
- HRESULT GetSingleArray([out] UINT32 *value_size, [out, size_is(*value_size)] FLOAT **value);
- HRESULT GetDoubleArray([out] UINT32 *value_size, [out, size_is(*value_size)] DOUBLE **value);
- HRESULT GetChar16Array([out] UINT32 *value_size, [out, size_is(*value_size)] WCHAR **value);
- HRESULT GetBooleanArray([out] UINT32 *value_size, [out, size_is(*value_size)] boolean **value);
- HRESULT GetStringArray([out] UINT32 *value_size, [out, size_is(*value_size)] HSTRING **value);
- HRESULT GetInspectableArray([out] UINT32 *value_size, [out, size_is(*value_size)] IInspectable ***value);
- HRESULT GetGuidArray([out] UINT32 *value_size, [out, size_is(*value_size)] GUID **value);
- HRESULT GetDateTimeArray([out] UINT32 *value_size, [out, size_is(*value_size)] Windows.Foundation.DateTime **value);
- HRESULT GetTimeSpanArray([out] UINT32 *value_size, [out, size_is(*value_size)] Windows.Foundation.TimeSpan **value);
- HRESULT GetPointArray([out] UINT32 *value_size, [out, size_is(*value_size)] Windows.Foundation.Point **value);
- HRESULT GetSizeArray([out] UINT32 *value_size, [out, size_is(*value_size)] Windows.Foundation.Size **value);
- HRESULT GetRectArray([out] UINT32 *value_size, [out, size_is(*value_size)] Windows.Foundation.Rect **value);
+ HRESULT GetUInt8Array([out] UINT32 *value_size, [out, size_is(, *value_size)] BYTE **value);
+ HRESULT GetInt16Array([out] UINT32 *value_size, [out, size_is(, *value_size)] INT16 **value);
+ HRESULT GetUInt16Array([out] UINT32 *value_size, [out, size_is(, *value_size)] UINT16 **value);
+ HRESULT GetInt32Array([out] UINT32 *value_size, [out, size_is(, *value_size)] INT32 **value);
+ HRESULT GetUInt32Array([out] UINT32 *value_size, [out, size_is(, *value_size)] UINT32 **value);
+ HRESULT GetInt64Array([out] UINT32 *value_size, [out, size_is(, *value_size)] INT64 **value);
+ HRESULT GetUInt64Array([out] UINT32 *value_size, [out, size_is(, *value_size)] UINT64 **value);
+ HRESULT GetSingleArray([out] UINT32 *value_size, [out, size_is(, *value_size)] FLOAT **value);
+ HRESULT GetDoubleArray([out] UINT32 *value_size, [out, size_is(, *value_size)] DOUBLE **value);
+ HRESULT GetChar16Array([out] UINT32 *value_size, [out, size_is(, *value_size)] WCHAR **value);
+ HRESULT GetBooleanArray([out] UINT32 *value_size, [out, size_is(, *value_size)] boolean **value);
+ HRESULT GetStringArray([out] UINT32 *value_size, [out, size_is(, *value_size)] HSTRING **value);
+ HRESULT GetInspectableArray([out] UINT32 *value_size, [out, size_is(, *value_size)] IInspectable ***value);
+ HRESULT GetGuidArray([out] UINT32 *value_size, [out, size_is(, *value_size)] GUID **value);
+ HRESULT GetDateTimeArray([out] UINT32 *value_size, [out, size_is(, *value_size)] Windows.Foundation.DateTime **value);
+ HRESULT GetTimeSpanArray([out] UINT32 *value_size, [out, size_is(, *value_size)] Windows.Foundation.TimeSpan **value);
+ HRESULT GetPointArray([out] UINT32 *value_size, [out, size_is(, *value_size)] Windows.Foundation.Point **value);
+ HRESULT GetSizeArray([out] UINT32 *value_size, [out, size_is(, *value_size)] Windows.Foundation.Size **value);
+ HRESULT GetRectArray([out] UINT32 *value_size, [out, size_is(, *value_size)] Windows.Foundation.Rect **value);
}
[
diff --git a/mingw-w64-headers/include/windows.perception.spatial.idl b/mingw-w64-headers/include/windows.perception.spatial.idl
index d193309..93be78a 100644
--- a/mingw-w64-headers/include/windows.perception.spatial.idl
+++ b/mingw-w64-headers/include/windows.perception.spatial.idl
@@ -36,13 +36,24 @@
typedef struct SpatialBoundingFrustum SpatialBoundingFrustum;
typedef struct SpatialBoundingOrientedBox SpatialBoundingOrientedBox;
typedef struct SpatialBoundingSphere SpatialBoundingSphere;
+ typedef enum SpatialAnchorExportPurpose SpatialAnchorExportPurpose;
interface ISpatialBoundingVolume;
interface ISpatialBoundingVolumeStatics;
interface ISpatialCoordinateSystem;
+ interface ISpatialAnchorRawCoordinateSystemAdjustedEventArgs;
+ interface ISpatialAnchor;
+ interface ISpatialAnchorStatics;
+ interface ISpatialAnchorExportSufficiency;
+ interface ISpatialAnchorExporter;
+ interface ISpatialAnchorExporterStatics;
runtimeclass SpatialBoundingVolume;
runtimeclass SpatialCoordinateSystem;
+ runtimeclass SpatialAnchorRawCoordinateSystemAdjustedEventArgs;
+ runtimeclass SpatialAnchor;
+ runtimeclass SpatialAnchorExportSufficiency;
+ runtimeclass SpatialAnchorExporter;
declare {
interface Windows.Foundation.Collections.IIterable<Windows.Perception.Spatial.SpatialBoundingVolume *>;
@@ -52,6 +63,9 @@
interface Windows.Foundation.IReference<Windows.Perception.Spatial.SpatialBoundingBox>;
interface Windows.Foundation.IReference<Windows.Perception.Spatial.SpatialBoundingFrustum>;
interface Windows.Foundation.IReference<Windows.Perception.Spatial.SpatialBoundingOrientedBox>;
+ interface Windows.Foundation.TypedEventHandler<Windows.Perception.Spatial.SpatialAnchor *, Windows.Perception.Spatial.SpatialAnchorRawCoordinateSystemAdjustedEventArgs *>;
+ interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Perception.Spatial.SpatialAnchorExportSufficiency *>;
+ interface Windows.Foundation.IAsyncOperation<Windows.Perception.Spatial.SpatialAnchorExportSufficiency *>;
}
[
@@ -66,6 +80,15 @@
};
[
+ contract(Windows.Foundation.UniversalApiContract, 7.0)
+ ]
+ enum SpatialAnchorExportPurpose
+ {
+ Relocalization = 0,
+ Sharing = 1
+ };
+
+ [
contract(Windows.Foundation.UniversalApiContract, 2.0)
]
struct SpatialBoundingBox
@@ -159,6 +182,100 @@
[
contract(Windows.Foundation.UniversalApiContract, 2.0),
+ exclusiveto(Windows.Perception.Spatial.SpatialAnchor),
+ uuid(a9928642-0174-311c-ae79-0e5107669f16),
+ ]
+ interface ISpatialAnchorStatics : IInspectable
+ {
+ [overload("TryCreateRelativeTo")] HRESULT TryCreateRelativeTo(
+ [in] Windows.Perception.Spatial.SpatialCoordinateSystem *coord_system,
+ [out] [retval] Windows.Perception.Spatial.SpatialAnchor **value
+ );
+ [overload("TryCreateRelativeTo")] HRESULT TryCreateWithPositionRelativeTo(
+ [in] Windows.Perception.Spatial.SpatialCoordinateSystem *coord_system,
+ [in] Windows.Foundation.Numerics.Vector3 position,
+ [out] [retval] Windows.Perception.Spatial.SpatialAnchor **value
+ );
+ [overload("TryCreateRelativeTo")] HRESULT TryCreateWithPositionAndOrientationRelativeTo(
+ [in] Windows.Perception.Spatial.SpatialCoordinateSystem *coord_system,
+ [in] Windows.Foundation.Numerics.Vector3 position,
+ [in] Windows.Foundation.Numerics.Quaternion orientation,
+ [out] [retval] Windows.Perception.Spatial.SpatialAnchor **value
+ );
+ }
+
+ [
+ contract(Windows.Foundation.UniversalApiContract, 2.0),
+ exclusiveto(Windows.Perception.Spatial.SpatialAnchor),
+ uuid(0529e5ce-1d34-3702-bcec-eabff578a869),
+ ]
+ interface ISpatialAnchor : IInspectable
+ {
+ [propget] HRESULT CoordinateSystem([out] [retval] Windows.Perception.Spatial.SpatialCoordinateSystem **value);
+ [propget] HRESULT RawCoordinateSystem([out] [retval] Windows.Perception.Spatial.SpatialCoordinateSystem **value);
+ [eventadd] HRESULT RawCoordinateSystemAdjusted(
+ [in] Windows.Foundation.TypedEventHandler<Windows.Perception.Spatial.SpatialAnchor *,
+ Windows.Perception.Spatial.SpatialAnchorRawCoordinateSystemAdjustedEventArgs*> *handler,
+ [out] [retval] EventRegistrationToken *cookie
+ );
+ [eventremove] HRESULT RawCoordinateSystemAdjusted([in] EventRegistrationToken cookie);
+ }
+
+ [
+ contract(Windows.Foundation.UniversalApiContract, 7.0),
+ exclusiveto(Windows.Perception.Spatial.SpatialAnchorExportSufficiency),
+ uuid(77c25b2b-3409-4088-b91b-fdfd05d1648f),
+ ]
+ interface ISpatialAnchorExportSufficiency : IInspectable
+ {
+ [propget] HRESULT IsMinimallySufficient([out] [retval] boolean *value);
+ [propget] HRESULT SufficiencyLevel([out] [retval] DOUBLE *value);
+ [propget] HRESULT RecommendedSufficiencyLevel([out] [retval] DOUBLE *value);
+ }
+
+ [
+ contract(Windows.Foundation.UniversalApiContract, 2.0),
+ exclusiveto(Windows.Perception.Spatial.SpatialAnchorRawCoordinateSystemAdjustedEventArgs),
+ uuid(a1e81eb8-56c7-3117-a2e4-81e0fcf28e00),
+ ]
+ interface ISpatialAnchorRawCoordinateSystemAdjustedEventArgs : IInspectable
+ {
+ [propget] HRESULT OldRawCoordinateSystemToNewRawCoordinateSystemTransform([out] [retval] Windows.Foundation.Numerics.Matrix4x4 *value);
+ }
+
+ [
+ contract(Windows.Foundation.UniversalApiContract, 7.0),
+ exclusiveto(Windows.Perception.Spatial.SpatialAnchorExporter),
+ uuid(9a2a4338-24fb-4269-89c5-88304aeef20f),
+ ]
+ interface ISpatialAnchorExporter : IInspectable
+ {
+ HRESULT GetAnchorExportSufficiencyAsync(
+ [in] Windows.Perception.Spatial.SpatialAnchor *anchor,
+ [in] Windows.Perception.Spatial.SpatialAnchorExportPurpose purpose,
+ [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Perception.Spatial.SpatialAnchorExportSufficiency*> **operation
+ );
+ HRESULT TryExportAnchorAsync(
+ [in] Windows.Perception.Spatial.SpatialAnchor* anchor,
+ [in] Windows.Perception.Spatial.SpatialAnchorExportPurpose purpose,
+ [in] Windows.Storage.Streams.IOutputStream* stream,
+ [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation
+ );
+ }
+
+ [
+ contract(Windows.Foundation.UniversalApiContract, 7.0),
+ exclusiveto(Windows.Perception.Spatial.SpatialAnchorExporter),
+ uuid(ed2507b8-2475-439c-85ff-7fed341fdc88),
+ ]
+ interface ISpatialAnchorExporterStatics : IInspectable
+ {
+ HRESULT GetDefault([out] [retval] Windows.Perception.Spatial.SpatialAnchorExporter **value);
+ HRESULT RequestAccessAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Perception.Spatial.SpatialPerceptionAccessStatus> **result);
+ }
+
+ [
+ contract(Windows.Foundation.UniversalApiContract, 2.0),
marshaling_behavior(agile),
static(Windows.Perception.Spatial.ISpatialBoundingVolumeStatics, Windows.Foundation.UniversalApiContract, 2.0),
threading(both)
@@ -177,4 +294,46 @@
{
[default] interface Windows.Perception.Spatial.ISpatialCoordinateSystem;
}
+
+ [
+ contract(Windows.Foundation.UniversalApiContract, 2.0),
+ marshaling_behavior(agile),
+ static(Windows.Perception.Spatial.ISpatialAnchorStatics, Windows.Foundation.UniversalApiContract, 2.0),
+ threading(both),
+ ]
+ runtimeclass SpatialAnchor
+ {
+ [default] interface Windows.Perception.Spatial.ISpatialAnchor;
+ }
+
+ [
+ contract(Windows.Foundation.UniversalApiContract, 7.0),
+ marshaling_behavior(agile),
+ threading(both),
+ ]
+ runtimeclass SpatialAnchorExportSufficiency
+ {
+ [default] interface Windows.Perception.Spatial.ISpatialAnchorExportSufficiency;
+ }
+
+ [
+ contract(Windows.Foundation.UniversalApiContract, 2.0),
+ marshaling_behavior(agile),
+ threading(both),
+ ]
+ runtimeclass SpatialAnchorRawCoordinateSystemAdjustedEventArgs
+ {
+ [default] interface Windows.Perception.Spatial.ISpatialAnchorRawCoordinateSystemAdjustedEventArgs;
+ }
+
+ [
+ contract(Windows.Foundation.UniversalApiContract, 7.0),
+ marshaling_behavior(agile),
+ static(Windows.Perception.Spatial.ISpatialAnchorExporterStatics, Windows.Foundation.UniversalApiContract, 7.0),
+ threading(both),
+ ]
+ runtimeclass SpatialAnchorExporter
+ {
+ [default] interface Windows.Perception.Spatial.ISpatialAnchorExporter;
+ }
}
diff --git a/mingw-w64-headers/include/windows.ui.viewmanagement.core.idl b/mingw-w64-headers/include/windows.ui.viewmanagement.core.idl
index c3d7f0d..83e5c73 100644
--- a/mingw-w64-headers/include/windows.ui.viewmanagement.core.idl
+++ b/mingw-w64-headers/include/windows.ui.viewmanagement.core.idl
@@ -56,6 +56,7 @@
{
interface Windows.Foundation.Collections.IIterable<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion *>;
interface Windows.Foundation.Collections.IIterator<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion *>;
+ interface Windows.Foundation.Collections.IVector<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion *>;
interface Windows.Foundation.Collections.IVectorView<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion *>;
interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, IInspectable *>;
interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, Windows.UI.ViewManagement.Core.CoreInputViewHidingEventArgs *>;
diff --git a/mingw-w64-headers/include/xaudio2.idl b/mingw-w64-headers/include/xaudio2.idl
index ac63757..2ecc006 100644
--- a/mingw-w64-headers/include/xaudio2.idl
+++ b/mingw-w64-headers/include/xaudio2.idl
@@ -603,4 +603,5 @@
#if XAUDIO2_VER >= 8
cpp_quote("HRESULT WINAPI XAudio2Create(IXAudio2** pxaudio2, UINT32 flags, XAUDIO2_PROCESSOR processor);")
+cpp_quote("HRESULT WINAPI XAudio2CreateWithVersionInfo(IXAudio2** pxaudio2, UINT32 flags, XAUDIO2_PROCESSOR processor, DWORD version);")
#endif