• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="UTF-8"?>
2<registry>
3    <comment>
4Copyright 2021-2023 The Khronos Group Inc.
5SPDX-License-Identifier: Apache-2.0 OR MIT
6    </comment>
7
8    <comment>
9This file, video.xml, provides the machine readable definition of data
10structures and enumerations that are related to the externally-provided
11video compression standards.
12
13The current public version of video.xml is maintained in the default branch
14(currently named main) of the Khronos Vulkan GitHub project.
15    </comment>
16
17    <types comment="Video type definitions">
18            <!-- base types -->
19        <type name="stdint" category="include">#include &lt;stdint.h&gt;</type>
20        <type name="uint32_t" requires="stdint"/>
21        <type name="uint16_t" requires="stdint"/>
22        <type name="uint8_t" requires="stdint"/>
23        <type name="int32_t" requires="stdint"/>
24        <type name="int8_t" requires="stdint"/>
25
26            <!-- vulkan_video_codecs_common macros -->
27        <type category="define">#define <name>VK_MAKE_VIDEO_STD_VERSION</name>(major, minor, patch) \
28    ((((uint32_t)(major)) &lt;&lt; 22) | (((uint32_t)(minor)) &lt;&lt; 12) | ((uint32_t)(patch)))</type>
29
30            <!-- vulkan_video_codec_h264std_decode.h macros -->
31        <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">
32#define <name>VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(1, 0, 0)</type>
33
34            <!-- vulkan_video_codec_h264std_encode.h macros -->
35        <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.264 encode std specification version number
36#define <name>VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_9</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(0, 9, 9)</type>
37
38            <!-- vulkan_video_codec_h265std_decode.h macros -->
39        <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">
40#define <name>VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(1, 0, 0)</type>
41
42            <!-- vulkan_video_codec_h265std_encode.h macros -->
43        <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.265 encode std specification version number
44#define <name>VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_10</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(0, 9, 10)</type>
45
46            <!-- vulkan_video_codec_h264std.h enumerated types -->
47        <type name="StdVideoH264ChromaFormatIdc" category="enum"/>
48        <type name="StdVideoH264ProfileIdc" category="enum"/>
49        <type name="StdVideoH264LevelIdc" category="enum"/>
50        <type name="StdVideoH264PocType" category="enum"/>
51        <type name="StdVideoH264AspectRatioIdc" category="enum"/>
52        <type name="StdVideoH264WeightedBipredIdc" category="enum"/>
53        <type name="StdVideoH264ModificationOfPicNumsIdc" category="enum"/>
54        <type name="StdVideoH264MemMgmtControlOp" category="enum"/>
55        <type name="StdVideoH264CabacInitIdc" category="enum"/>
56        <type name="StdVideoH264DisableDeblockingFilterIdc" category="enum"/>
57        <type name="StdVideoH264SliceType" category="enum"/>
58        <type name="StdVideoH264PictureType" category="enum"/>
59        <type name="StdVideoH264NonVclNaluType" category="enum"/>
60
61            <!-- vulkan_video_codec_h264std.h structs -->
62        <type category="struct" name="StdVideoH264SpsVuiFlags">
63            <member><type>uint32_t</type>                             <name>aspect_ratio_info_present_flag</name> : 1</member>
64            <member><type>uint32_t</type>                             <name>overscan_info_present_flag</name> : 1</member>
65            <member><type>uint32_t</type>                             <name>overscan_appropriate_flag</name> : 1</member>
66            <member><type>uint32_t</type>                             <name>video_signal_type_present_flag</name> : 1</member>
67            <member><type>uint32_t</type>                             <name>video_full_range_flag</name> : 1</member>
68            <member><type>uint32_t</type>                             <name>color_description_present_flag</name> : 1</member>
69            <member><type>uint32_t</type>                             <name>chroma_loc_info_present_flag</name> : 1</member>
70            <member><type>uint32_t</type>                             <name>timing_info_present_flag</name> : 1</member>
71            <member><type>uint32_t</type>                             <name>fixed_frame_rate_flag</name> : 1</member>
72            <member><type>uint32_t</type>                             <name>bitstream_restriction_flag</name> : 1</member>
73            <member><type>uint32_t</type>                             <name>nal_hrd_parameters_present_flag</name> : 1</member>
74            <member><type>uint32_t</type>                             <name>vcl_hrd_parameters_present_flag</name> : 1</member>
75        </type>
76        <type category="struct" name="StdVideoH264HrdParameters" comment="hrd_parameters">
77            <member><type>uint8_t</type>                              <name>cpb_cnt_minus1</name></member>
78            <member><type>uint8_t</type>                              <name>bit_rate_scale</name></member>
79            <member><type>uint8_t</type>                              <name>cpb_size_scale</name></member>
80            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
81            <member><type>uint32_t</type>                             <name>bit_rate_value_minus1</name>[<enum>STD_VIDEO_H264_CPB_CNT_LIST_SIZE</enum>]<comment>cpb_cnt_minus1 number of valid elements</comment></member>
82            <member><type>uint32_t</type>                             <name>cpb_size_value_minus1</name>[<enum>STD_VIDEO_H264_CPB_CNT_LIST_SIZE</enum>]<comment>cpb_cnt_minus1 number of valid elements</comment></member>
83            <member><type>uint8_t</type>                              <name>cbr_flag</name>[<enum>STD_VIDEO_H264_CPB_CNT_LIST_SIZE</enum>]<comment>cpb_cnt_minus1 number of valid elements</comment></member>
84            <member><type>uint32_t</type>                             <name>initial_cpb_removal_delay_length_minus1</name></member>
85            <member><type>uint32_t</type>                             <name>cpb_removal_delay_length_minus1</name></member>
86            <member><type>uint32_t</type>                             <name>dpb_output_delay_length_minus1</name></member>
87            <member><type>uint32_t</type>                             <name>time_offset_length</name></member>
88        </type>
89        <type category="struct" name="StdVideoH264SequenceParameterSetVui">
90            <member><type>StdVideoH264SpsVuiFlags</type>              <name>flags</name></member>
91            <member><type>StdVideoH264AspectRatioIdc</type>           <name>aspect_ratio_idc</name></member>
92            <member><type>uint16_t</type>                             <name>sar_width</name></member>
93            <member><type>uint16_t</type>                             <name>sar_height</name></member>
94            <member><type>uint8_t</type>                              <name>video_format</name></member>
95            <member><type>uint8_t</type>                              <name>colour_primaries</name></member>
96            <member><type>uint8_t</type>                              <name>transfer_characteristics</name></member>
97            <member><type>uint8_t</type>                              <name>matrix_coefficients</name></member>
98            <member><type>uint32_t</type>                             <name>num_units_in_tick</name></member>
99            <member><type>uint32_t</type>                             <name>time_scale</name></member>
100            <member><type>uint8_t</type>                              <name>max_num_reorder_frames</name></member>
101            <member><type>uint8_t</type>                              <name>max_dec_frame_buffering</name></member>
102            <member><type>uint8_t</type>                              <name>chroma_sample_loc_type_top_field</name></member>
103            <member><type>uint8_t</type>                              <name>chroma_sample_loc_type_bottom_field</name></member>
104            <member><type>uint32_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
105            <member>const <type>StdVideoH264HrdParameters</type>*     <name>pHrdParameters</name><comment>must be a valid ptr to hrd_parameters, if nal_hrd_parameters_present_flag or vcl_hrd_parameters_present_flag are set</comment></member>
106        </type>
107        <type category="struct" name="StdVideoH264SpsFlags">
108            <member><type>uint32_t</type>                             <name>constraint_set0_flag</name> : 1</member>
109            <member><type>uint32_t</type>                             <name>constraint_set1_flag</name> : 1</member>
110            <member><type>uint32_t</type>                             <name>constraint_set2_flag</name> : 1</member>
111            <member><type>uint32_t</type>                             <name>constraint_set3_flag</name> : 1</member>
112            <member><type>uint32_t</type>                             <name>constraint_set4_flag</name> : 1</member>
113            <member><type>uint32_t</type>                             <name>constraint_set5_flag</name> : 1</member>
114            <member><type>uint32_t</type>                             <name>direct_8x8_inference_flag</name> : 1</member>
115            <member><type>uint32_t</type>                             <name>mb_adaptive_frame_field_flag</name> : 1</member>
116            <member><type>uint32_t</type>                             <name>frame_mbs_only_flag</name> : 1</member>
117            <member><type>uint32_t</type>                             <name>delta_pic_order_always_zero_flag</name> : 1</member>
118            <member><type>uint32_t</type>                             <name>separate_colour_plane_flag</name> : 1</member>
119            <member><type>uint32_t</type>                             <name>gaps_in_frame_num_value_allowed_flag</name> : 1</member>
120            <member><type>uint32_t</type>                             <name>qpprime_y_zero_transform_bypass_flag</name> : 1</member>
121            <member><type>uint32_t</type>                             <name>frame_cropping_flag</name> : 1</member>
122            <member><type>uint32_t</type>                             <name>seq_scaling_matrix_present_flag</name> : 1</member>
123            <member><type>uint32_t</type>                             <name>vui_parameters_present_flag</name> : 1</member>
124        </type>
125        <type category="struct" name="StdVideoH264ScalingLists">
126            <comment>
127                scaling_list_present_mask has one bit for each
128                seq_scaling_list_present_flag[i] for SPS OR
129                pic_scaling_list_present_flag[i] for PPS,
130                bit 0 - 5 are for each entry of ScalingList4x4
131                bit 6 - 11 are for each entry plus 6 for ScalingList8x8
132            </comment>
133            <member><type>uint16_t</type>                             <name>scaling_list_present_mask</name></member>
134            <comment>
135                use_default_scaling_matrix_mask has one bit for each
136                UseDefaultScalingMatrix4x4Flag[ i ] and
137                UseDefaultScalingMatrix8x8Flag[ i - 6 ] for SPS OR PPS
138                bit 0 - 5 are for each entry of ScalingList4x4
139                bit 6 - 11 are for each entry plus 6 for ScalingList8x8
140            </comment>
141            <member><type>uint16_t</type>                             <name>use_default_scaling_matrix_mask</name></member>
142            <member><type>uint8_t</type>                              <name>ScalingList4x4</name>[<enum>STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS</enum>][<enum>STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS</enum>]</member>
143            <member><type>uint8_t</type>                              <name>ScalingList8x8</name>[<enum>STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS</enum>][<enum>STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS</enum>]</member>
144        </type>
145        <type category="struct" name="StdVideoH264SequenceParameterSet">
146            <member><type>StdVideoH264SpsFlags</type>                 <name>flags</name></member>
147            <member><type>StdVideoH264ProfileIdc</type>               <name>profile_idc</name></member>
148            <member><type>StdVideoH264LevelIdc</type>                 <name>level_idc</name></member>
149            <member><type>StdVideoH264ChromaFormatIdc</type>          <name>chroma_format_idc</name></member>
150            <member><type>uint8_t</type>                              <name>seq_parameter_set_id</name></member>
151            <member><type>uint8_t</type>                              <name>bit_depth_luma_minus8</name></member>
152            <member><type>uint8_t</type>                              <name>bit_depth_chroma_minus8</name></member>
153            <member><type>uint8_t</type>                              <name>log2_max_frame_num_minus4</name></member>
154            <member><type>StdVideoH264PocType</type>                  <name>pic_order_cnt_type</name></member>
155            <member><type>int32_t</type>                              <name>offset_for_non_ref_pic</name></member>
156            <member><type>int32_t</type>                              <name>offset_for_top_to_bottom_field</name></member>
157            <member><type>uint8_t</type>                              <name>log2_max_pic_order_cnt_lsb_minus4</name></member>
158            <member><type>uint8_t</type>                              <name>num_ref_frames_in_pic_order_cnt_cycle</name></member>
159            <member><type>uint8_t</type>                              <name>max_num_ref_frames</name></member>
160            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
161            <member><type>uint32_t</type>                             <name>pic_width_in_mbs_minus1</name></member>
162            <member><type>uint32_t</type>                             <name>pic_height_in_map_units_minus1</name></member>
163            <member><type>uint32_t</type>                             <name>frame_crop_left_offset</name></member>
164            <member><type>uint32_t</type>                             <name>frame_crop_right_offset</name></member>
165            <member><type>uint32_t</type>                             <name>frame_crop_top_offset</name></member>
166            <member><type>uint32_t</type>                             <name>frame_crop_bottom_offset</name></member>
167            <member><type>uint32_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
168            <comment>
169                pOffsetForRefFrame is a pointer representing the offset_for_ref_frame array with num_ref_frames_in_pic_order_cnt_cycle number of elements.
170                If pOffsetForRefFrame has nullptr value, then num_ref_frames_in_pic_order_cnt_cycle must also be "0".
171            </comment>
172            <member>const <type>int32_t</type>*                             <name>pOffsetForRefFrame</name></member>
173            <member>const <type>StdVideoH264ScalingLists</type>*            <name>pScalingLists</name><comment>Must be a valid pointer if seq_scaling_matrix_present_flag is set</comment></member>
174            <member>const <type>StdVideoH264SequenceParameterSetVui</type>* <name>pSequenceParameterSetVui</name><comment>Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set</comment></member>
175        </type>
176        <type category="struct" name="StdVideoH264PpsFlags">
177            <member><type>uint32_t</type>                             <name>transform_8x8_mode_flag</name> : 1</member>
178            <member><type>uint32_t</type>                             <name>redundant_pic_cnt_present_flag</name> : 1</member>
179            <member><type>uint32_t</type>                             <name>constrained_intra_pred_flag</name> : 1</member>
180            <member><type>uint32_t</type>                             <name>deblocking_filter_control_present_flag</name> : 1</member>
181            <member><type>uint32_t</type>                             <name>weighted_pred_flag</name> : 1</member>
182            <member><type>uint32_t</type>                             <name>bottom_field_pic_order_in_frame_present_flag</name> : 1</member>
183            <member><type>uint32_t</type>                             <name>entropy_coding_mode_flag</name> : 1</member>
184            <member><type>uint32_t</type>                             <name>pic_scaling_matrix_present_flag</name> : 1</member>
185        </type>
186        <type category="struct" name="StdVideoH264PictureParameterSet">
187            <member><type>StdVideoH264PpsFlags</type>                 <name>flags</name></member>
188            <member><type>uint8_t</type>                              <name>seq_parameter_set_id</name></member>
189            <member><type>uint8_t</type>                              <name>pic_parameter_set_id</name></member>
190            <member><type>uint8_t</type>                              <name>num_ref_idx_l0_default_active_minus1</name></member>
191            <member><type>uint8_t</type>                              <name>num_ref_idx_l1_default_active_minus1</name></member>
192            <member><type>StdVideoH264WeightedBipredIdc</type>        <name>weighted_bipred_idc</name></member>
193            <member><type>int8_t</type>                               <name>pic_init_qp_minus26</name></member>
194            <member><type>int8_t</type>                               <name>pic_init_qs_minus26</name></member>
195            <member><type>int8_t</type>                               <name>chroma_qp_index_offset</name></member>
196            <member><type>int8_t</type>                               <name>second_chroma_qp_index_offset</name></member>
197            <member>const <type>StdVideoH264ScalingLists</type>*      <name>pScalingLists</name><comment>Must be a valid pointer if StdVideoH264PpsFlags::pic_scaling_matrix_present_flag is set.</comment></member>
198        </type>
199
200            <!-- vulkan_video_codec_h264std_decode.h enumerated types -->
201        <type name="StdVideoDecodeH264FieldOrderCount" category="enum"/>
202
203            <!-- vulkan_video_codec_h264std_decode.h structs -->
204        <type category="struct" name="StdVideoDecodeH264PictureInfoFlags">
205            <member><type>uint32_t</type>                             <name>field_pic_flag</name> : 1<comment>Is field picture</comment></member>
206            <member><type>uint32_t</type>                             <name>is_intra</name> : 1<comment>Is intra picture</comment></member>
207            <member><type>uint32_t</type>                             <name>IdrPicFlag</name> : 1<comment>instantaneous decoding refresh (IDR) picture</comment></member>
208            <member><type>uint32_t</type>                             <name>bottom_field_flag</name> : 1<comment>bottom (true) or top (false) field if field_pic_flag is set.</comment></member>
209            <member><type>uint32_t</type>                             <name>is_reference</name> : 1<comment>This only applies to picture info, and not to the DPB lists.</comment></member>
210            <member><type>uint32_t</type>                             <name>complementary_field_pair</name> : 1<comment>complementary field pair, complementary non-reference field pair, complementary reference field pair</comment></member>
211        </type>
212        <type category="struct" name="StdVideoDecodeH264PictureInfo" requires="StdVideoDecodeH264FieldOrderCount" comment="requires tag is for PicOrderCnt, which needs the enum type">
213            <member><type>StdVideoDecodeH264PictureInfoFlags</type>   <name>flags</name></member>
214            <member><type>uint8_t</type>                              <name>seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
215            <member><type>uint8_t</type>                              <name>pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member>
216            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
217            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
218            <member><type>uint16_t</type>                             <name>frame_num</name><comment>7.4.3 Slice header semantics</comment></member>
219            <member><type>uint16_t</type>                             <name>idr_pic_id</name><comment>7.4.3 Slice header semantics</comment></member>
220            <comment>
221                PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2
222            </comment>
223            <member><type>int32_t</type>                              <name>PicOrderCnt</name>[<enum>STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE</enum>]<comment>TopFieldOrderCnt and BottomFieldOrderCnt fields.</comment></member>
224        </type>
225        <type category="struct" name="StdVideoDecodeH264ReferenceInfoFlags">
226            <member><type>uint32_t</type>                             <name>top_field_flag</name> : 1<comment>Reference is used for top field reference.</comment></member>
227            <member><type>uint32_t</type>                             <name>bottom_field_flag</name> : 1<comment>Reference is used for bottom field reference.</comment></member>
228            <member><type>uint32_t</type>                             <name>used_for_long_term_reference</name> : 1<comment>: A picture that is marked as "used for long-term reference", derived binary value from clause 8.2.5.1 Sequence of operations for decoded reference picture marking process</comment></member>
229            <member><type>uint32_t</type>                             <name>is_non_existing</name> : 1<comment>Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num</comment></member>
230        </type>
231        <type category="struct" name="StdVideoDecodeH264ReferenceInfo">
232            <member><type>StdVideoDecodeH264ReferenceInfoFlags</type> <name>flags</name></member>
233            <comment>
234                FrameNum = used_for_long_term_reference ?  long_term_frame_idx : frame_num
235            </comment>
236            <member><type>uint16_t</type>                             <name>FrameNum</name><comment>7.4.3.3 Decoded reference picture marking semantics</comment></member>
237            <member><type>uint16_t</type>                             <name>reserved</name><comment>for structure members 32-bit packing/alignment</comment></member>
238            <member><type>int32_t</type>                              <name>PicOrderCnt</name>[<enum>STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE</enum>]<comment>TopFieldOrderCnt and BottomFieldOrderCnt fields.</comment></member>
239        </type>
240
241            <!-- vulkan_video_codec_h264std_encode.h structs -->
242        <type category="struct" name="StdVideoEncodeH264WeightTableFlags">
243            <member><type>uint32_t</type> <name>luma_weight_l0_flag</name><comment>each bit n represents the nth entry in reference list l0, n &lt;= num_ref_idx_l0_active_minus1</comment></member>
244            <member><type>uint32_t</type> <name>chroma_weight_l0_flag</name><comment>each bit n represents the nth entry in reference list l0, n &lt;= num_ref_idx_l0_active_minus1</comment></member>
245            <member><type>uint32_t</type> <name>luma_weight_l1_flag</name><comment>each bit n represents the nth entry in reference list l1, n &lt;= num_ref_idx_l1_active_minus1</comment></member>
246            <member><type>uint32_t</type> <name>chroma_weight_l1_flag</name><comment>each bit n represents the nth entry in reference list l1, n &lt;= num_ref_idx_l1_active_minus1</comment></member>
247        </type>
248
249       <type category="struct" name="StdVideoEncodeH264WeightTable">
250            <comment>
251                StdVideoEncodeH264WeightTable corresponds to the values produced by pred_weight_table() for the h.264 specification.
252                For details, refer to weighted_pred_flag, weighted_bipred_idc, pre_pred_weight_table_src and pred_weight_table().
253            </comment>
254            <member><type>StdVideoEncodeH264WeightTableFlags</type> <name>flags</name><comment></comment></member>
255            <member><type>uint8_t</type>                            <name>luma_log2_weight_denom</name><comment></comment></member>
256            <member><type>uint8_t</type>                            <name>chroma_log2_weight_denom</name><comment></comment></member>
257            <member><type>int8_t</type>                             <name>luma_weight_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l0_active_minus1]</comment></member>
258            <member><type>int8_t</type>                             <name>luma_offset_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l0_active_minus1]</comment></member>
259            <member><type>int8_t</type>                             <name>chroma_weight_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
260            <member><type>int8_t</type>                             <name>chroma_offset_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
261            <member><type>int8_t</type>                             <name>luma_weight_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l1_active_minus1]</comment></member>
262            <member><type>int8_t</type>                             <name>luma_offset_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l1_active_minus1]</comment></member>
263            <member><type>int8_t</type>                             <name>chroma_weight_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
264            <member><type>int8_t</type>                             <name>chroma_offset_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
265        </type>
266
267        <type category="struct" name="StdVideoEncodeH264SliceHeaderFlags">
268            <member><type>uint32_t</type>                             <name>direct_spatial_mv_pred_flag</name> : 1</member>
269            <member><type>uint32_t</type>                             <name>num_ref_idx_active_override_flag</name> : 1</member>
270            <member><type>uint32_t</type>                             <name>no_output_of_prior_pics_flag</name> : 1</member>
271            <member><type>uint32_t</type>                             <name>adaptive_ref_pic_marking_mode_flag</name> : 1</member>
272            <member><type>uint32_t</type>                             <name>no_prior_references_available_flag</name> : 1</member>
273        </type>
274        <type category="struct" name="StdVideoEncodeH264PictureInfoFlags">
275            <member><type>uint32_t</type>                             <name>idr_flag</name> : 1</member>
276            <member><type>uint32_t</type>                             <name>is_reference_flag</name> : 1</member>
277            <member><type>uint32_t</type>                             <name>used_for_long_term_reference</name> : 1<comment>: A picture that is marked as "used for long-term reference", derived binary value from clause 8.2.5.1 Sequence of operations for decoded reference picture marking process</comment></member>
278        </type>
279        <type category="struct" name="StdVideoEncodeH264ReferenceInfoFlags">
280            <member><type>uint32_t</type>                             <name>used_for_long_term_reference</name> : 1<comment>: A picture that is marked as "used for long-term reference", derived binary value from clause 8.2.5.1 Sequence of operations for decoded reference picture marking process</comment></member>
281        </type>
282        <type category="struct" name="StdVideoEncodeH264ReferenceListsInfoFlags">
283            <member><type>uint32_t</type>                             <name>ref_pic_list_modification_flag_l0</name> : 1</member>
284            <member><type>uint32_t</type>                             <name>ref_pic_list_modification_flag_l1</name> : 1</member>
285        </type>
286        <type category="struct" name="StdVideoEncodeH264RefListModEntry">
287            <member><type>StdVideoH264ModificationOfPicNumsIdc</type> <name>modification_of_pic_nums_idc</name></member>
288            <member><type>uint16_t</type>                             <name>abs_diff_pic_num_minus1</name></member>
289            <member><type>uint16_t</type>                             <name>long_term_pic_num</name></member>
290        </type>
291        <type category="struct" name="StdVideoEncodeH264RefPicMarkingEntry">
292            <member><type>StdVideoH264MemMgmtControlOp</type>         <name>operation</name></member>
293            <member><type>uint16_t</type>                             <name>difference_of_pic_nums_minus1</name></member>
294            <member><type>uint16_t</type>                             <name>long_term_pic_num</name></member>
295            <member><type>uint16_t</type>                             <name>long_term_frame_idx</name></member>
296            <member><type>uint16_t</type>                             <name>max_long_term_frame_idx_plus1</name></member>
297        </type>
298        <type category="struct" name="StdVideoEncodeH264ReferenceListsInfo">
299            <member><type>StdVideoEncodeH264ReferenceListsInfoFlags</type>   <name>flags</name></member>
300            <member><type>uint8_t</type>                                     <name>refPicList0EntryCount</name><comment>num_ref_idx_l0_active_minus1 plus one</comment></member>
301            <member><type>uint8_t</type>                                     <name>refPicList1EntryCount</name><comment>num_ref_idx_l1_active_minus1 plus one</comment></member>
302            <member><type>uint8_t</type>                                     <name>refList0ModOpCount</name></member>
303            <member><type>uint8_t</type>                                     <name>refList1ModOpCount</name></member>
304            <member><type>uint8_t</type>                                     <name>refPicMarkingOpCount</name></member>
305            <member><type>uint8_t</type>                                     <name>reserved1</name>[7]<comment>Reserved for future use and must be initialized with 0.</comment></member>
306            <member>const <type>uint8_t</type>*                              <name>pRefPicList0Entries</name><comment>Must be a valid pointer to an array with size refPicList0EntryCount and contains the slotIndex values corresponding to the RefPicList0 as used in VkVideoReferenceSlotInfoKHR structures, 0xff for invalid slotIndex.</comment></member>
307            <member>const <type>uint8_t</type>*                              <name>pRefPicList1Entries</name><comment>Must be a valid pointer to an array with size refPicList1EntryCount and contains the slotIndex values corresponding to the RefPicList1 as used in VkVideoReferenceSlotInfoKHR structures, 0xff for invalid slotIndex.</comment></member>
308            <member>const <type>StdVideoEncodeH264RefListModEntry</type>*    <name>pRefList0ModOperations</name><comment>Must be a valid pointer to an array with size refList0ModOpCount if ref_pic_list_modification_flag_l0 is set and contains the RefList0 modification parameters as defined in section 7.4.3.1</comment></member>
309            <member>const <type>StdVideoEncodeH264RefListModEntry</type>*    <name>pRefList1ModOperations</name><comment>Must be a valid pointer to an array with size refList1ModOpCount if ref_pic_list_modification_flag_l1 is set and contains the RefList1 modification parameters as defined in section 7.4.3.1</comment></member>
310            <member>const <type>StdVideoEncodeH264RefPicMarkingEntry</type>* <name>pRefPicMarkingOperations</name><comment>Must be a valid pointer to an array with size refPicMarkingOpCount and contains the reference picture markings as defined in section 7.4.3.3</comment></member>
311        </type>
312        <type category="struct" name="StdVideoEncodeH264PictureInfo">
313            <member><type>StdVideoEncodeH264PictureInfoFlags</type>   <name>flags</name></member>
314            <member><type>uint8_t</type>                              <name>seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
315            <member><type>uint8_t</type>                              <name>pic_parameter_set_id</name><comment>Selecting PPS from the Picture Parameters for all StdVideoEncodeH264SliceHeader(s)</comment></member>
316            <member><type>uint16_t</type>                             <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
317            <member><type>StdVideoH264PictureType</type>              <name>pictureType</name></member>
318            <member><type>uint32_t</type>                             <name>frame_num</name></member>
319            <member><type>int32_t</type>                              <name>PicOrderCnt</name></member>
320        </type>
321        <type category="struct" name="StdVideoEncodeH264ReferenceInfo">
322            <member><type>StdVideoEncodeH264ReferenceInfoFlags</type> <name>flags</name></member>
323            <member><type>StdVideoH264PictureType</type>              <name>pictureType</name></member>
324            <member><type>uint32_t</type>                             <name>FrameNum</name></member>
325            <member><type>int32_t</type>                              <name>PicOrderCnt</name></member>
326            <member><type>uint16_t</type>                             <name>long_term_pic_num</name></member>
327            <member><type>uint16_t</type>                             <name>long_term_frame_idx</name></member>
328        </type>
329        <type category="struct" name="StdVideoEncodeH264SliceHeader">
330            <member><type>StdVideoEncodeH264SliceHeaderFlags</type>   <name>flags</name></member>
331            <member><type>uint32_t</type>                             <name>first_mb_in_slice</name></member>
332            <member><type>StdVideoH264SliceType</type>                <name>slice_type</name></member>
333            <member><type>uint16_t</type>                             <name>idr_pic_id</name></member>
334            <member><type>uint8_t</type>                              <name>num_ref_idx_l0_active_minus1</name></member>
335            <member><type>uint8_t</type>                              <name>num_ref_idx_l1_active_minus1</name></member>
336            <member><type>StdVideoH264CabacInitIdc</type>             <name>cabac_init_idc</name></member>
337            <member><type>StdVideoH264DisableDeblockingFilterIdc</type> <name>disable_deblocking_filter_idc</name></member>
338            <member><type>int8_t</type>                               <name>slice_alpha_c0_offset_div2</name></member>
339            <member><type>int8_t</type>                               <name>slice_beta_offset_div2</name></member>
340            <member><type>uint16_t</type>                             <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
341            <member><type>uint32_t</type>                             <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
342            <member>const <type>StdVideoEncodeH264WeightTable</type>* <name>pWeightTable</name><comment></comment></member>
343        </type>
344
345            <!-- vulkan_video_codec_h265std.h enumerated types -->
346        <type name="StdVideoH265ChromaFormatIdc" category="enum"/>
347        <type name="StdVideoH265ProfileIdc" category="enum"/>
348        <type name="StdVideoH265LevelIdc" category="enum"/>
349        <type name="StdVideoH265SliceType" category="enum"/>
350        <type name="StdVideoH265PictureType" category="enum"/>
351        <type name="StdVideoH265AspectRatioIdc" category="enum"/>
352
353            <!-- vulkan_video_codec_h265std.h structs -->
354        <type category="struct" name="StdVideoH265ProfileTierLevelFlags">
355            <member><type>uint32_t</type>                             <name>general_tier_flag</name> : 1</member>
356            <member><type>uint32_t</type>                             <name>general_progressive_source_flag</name> : 1</member>
357            <member><type>uint32_t</type>                             <name>general_interlaced_source_flag</name> : 1</member>
358            <member><type>uint32_t</type>                             <name>general_non_packed_constraint_flag</name> : 1</member>
359            <member><type>uint32_t</type>                             <name>general_frame_only_constraint_flag</name> : 1</member>
360        </type>
361        <type category="struct" name="StdVideoH265ProfileTierLevel" comment="profile_tier_level">
362            <member><type>StdVideoH265ProfileTierLevelFlags</type>    <name>flags</name></member>
363            <member><type>StdVideoH265ProfileIdc</type>               <name>general_profile_idc</name></member>
364            <member><type>StdVideoH265LevelIdc</type>                 <name>general_level_idc</name></member>
365        </type>
366        <type category="struct" name="StdVideoH265DecPicBufMgr" comment="sps_ or vps_ parameters, based on if the StdVideoH265DecPicBufMgr is used within the StdVideoH265SequenceParameterSet or StdVideoH265VideoParameterSet">
367            <member><type>uint32_t</type>                             <name>max_latency_increase_plus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_LIST_SIZE</enum>]<comment>represents sps_max_latency_increase_plus1 or vps_max_latency_increase_plus1</comment></member>
368            <member><type>uint8_t</type>                              <name>max_dec_pic_buffering_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_LIST_SIZE</enum>]<comment>represents sps_max_dec_pic_buffering_minus1 or vps_max_dec_pic_buffering_minus1</comment></member>
369            <member><type>uint8_t</type>                              <name>max_num_reorder_pics</name>[<enum>STD_VIDEO_H265_SUBLAYERS_LIST_SIZE</enum>]<comment>represents sps_max_num_reorder_pics or vps_max_num_reorder_pics</comment></member>
370        </type>
371        <type category="struct" name="StdVideoH265SubLayerHrdParameters" comment="sub_layer_hrd_parameters">
372            <member><type>uint32_t</type>                             <name>bit_rate_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
373            <member><type>uint32_t</type>                             <name>cpb_size_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
374            <member><type>uint32_t</type>                             <name>cpb_size_du_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
375            <member><type>uint32_t</type>                             <name>bit_rate_du_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
376            <member><type>uint32_t</type>                             <name>cbr_flag</name><comment>each bit represents a range of CpbCounts (bit 0 - cpb_cnt_minus1) per sub-layer</comment></member>
377        </type>
378        <type category="struct" name="StdVideoH265HrdFlags">
379            <member><type>uint32_t</type>                             <name>nal_hrd_parameters_present_flag</name> : 1</member>
380            <member><type>uint32_t</type>                             <name>vcl_hrd_parameters_present_flag</name> : 1</member>
381            <member><type>uint32_t</type>                             <name>sub_pic_hrd_params_present_flag</name> : 1</member>
382            <member><type>uint32_t</type>                             <name>sub_pic_cpb_params_in_pic_timing_sei_flag</name> : 1</member>
383            <member><type>uint32_t</type>                             <name>fixed_pic_rate_general_flag</name> : 8<comment>each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1</comment></member>
384            <member><type>uint32_t</type>                             <name>fixed_pic_rate_within_cvs_flag</name> : 8<comment>each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1</comment></member>
385            <member><type>uint32_t</type>                             <name>low_delay_hrd_flag</name> : 8<comment>each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1</comment></member>
386        </type>
387        <type category="struct" name="StdVideoH265HrdParameters">
388            <member><type>StdVideoH265HrdFlags</type>                       <name>flags</name></member>
389            <member><type>uint8_t</type>                                    <name>tick_divisor_minus2</name></member>
390            <member><type>uint8_t</type>                                    <name>du_cpb_removal_delay_increment_length_minus1</name></member>
391            <member><type>uint8_t</type>                                    <name>dpb_output_delay_du_length_minus1</name></member>
392            <member><type>uint8_t</type>                                    <name>bit_rate_scale</name></member>
393            <member><type>uint8_t</type>                                    <name>cpb_size_scale</name></member>
394            <member><type>uint8_t</type>                                    <name>cpb_size_du_scale</name></member>
395            <member><type>uint8_t</type>                                    <name>initial_cpb_removal_delay_length_minus1</name></member>
396            <member><type>uint8_t</type>                                    <name>au_cpb_removal_delay_length_minus1</name></member>
397            <member><type>uint8_t</type>                                    <name>dpb_output_delay_length_minus1</name></member>
398            <member><type>uint8_t</type>                                    <name>cpb_cnt_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_LIST_SIZE</enum>]</member>
399            <member><type>uint16_t</type>                                   <name>elemental_duration_in_tc_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_LIST_SIZE</enum>]</member>
400            <member><type>uint16_t</type>                                   <name>reserved</name>[3]<comment>Reserved for future use and must be initialized with 0.</comment></member>
401            <member>const <type>StdVideoH265SubLayerHrdParameters</type>*   <name>pSubLayerHrdParametersNal</name><comment>if flags.nal_hrd_parameters_present_flag is set, then this must be a ptr to an array of StdVideoH265SubLayerHrdParameters with a size specified by sps_max_sub_layers_minus1 + 1 or vps_max_sub_layers_minus1 + 1, depending on whether the HRD parameters are part of the SPS or VPS, respectively.</comment></member>
402            <member>const <type>StdVideoH265SubLayerHrdParameters</type>*   <name>pSubLayerHrdParametersVcl</name><comment>if flags.vcl_hrd_parameters_present_flag is set, then this must be a ptr to an array of StdVideoH265SubLayerHrdParameters with a size specified by sps_max_sub_layers_minus1 + 1 or vps_max_sub_layers_minus1 + 1, depending on whether the HRD parameters are part of the SPS or VPS, respectively.</comment></member>
403        </type>
404        <type category="struct" name="StdVideoH265VpsFlags">
405            <member><type>uint32_t</type>                             <name>vps_temporal_id_nesting_flag</name> : 1</member>
406            <member><type>uint32_t</type>                             <name>vps_sub_layer_ordering_info_present_flag</name> : 1</member>
407            <member><type>uint32_t</type>                             <name>vps_timing_info_present_flag</name> : 1</member>
408            <member><type>uint32_t</type>                             <name>vps_poc_proportional_to_timing_flag</name> : 1</member>
409        </type>
410        <type category="struct" name="StdVideoH265VideoParameterSet">
411            <member><type>StdVideoH265VpsFlags</type>                 <name>flags</name></member>
412            <member><type>uint8_t</type>                              <name>vps_video_parameter_set_id</name></member>
413            <member><type>uint8_t</type>                              <name>vps_max_sub_layers_minus1</name></member>
414            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
415            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
416            <member><type>uint32_t</type>                             <name>vps_num_units_in_tick</name></member>
417            <member><type>uint32_t</type>                             <name>vps_time_scale</name></member>
418            <member><type>uint32_t</type>                             <name>vps_num_ticks_poc_diff_one_minus1</name></member>
419            <member><type>uint32_t</type>                             <name>reserved3</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
420            <member>const <type>StdVideoH265DecPicBufMgr</type>*      <name>pDecPicBufMgr</name></member>
421            <member>const <type>StdVideoH265HrdParameters</type>*     <name>pHrdParameters</name></member>
422            <member>const <type>StdVideoH265ProfileTierLevel</type>*  <name>pProfileTierLevel</name></member>
423        </type>
424        <type category="struct" name="StdVideoH265ScalingLists">
425            <member><type>uint8_t</type>                              <name>ScalingList4x4</name>[<enum>STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS</enum>]<comment>ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0)</comment></member>
426            <member><type>uint8_t</type>                              <name>ScalingList8x8</name>[<enum>STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS</enum>]<comment>ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1)</comment></member>
427            <member><type>uint8_t</type>                              <name>ScalingList16x16</name>[<enum>STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS</enum>]<comment>ScalingList[ 2 ][ Matri]xID ][ i ] (sizeID = 2)</comment></member>
428            <member><type>uint8_t</type>                              <name>ScalingList32x32</name>[<enum>STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS</enum>]<comment>ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3)</comment></member>
429            <member><type>uint8_t</type>                              <name>ScalingListDCCoef16x16</name>[<enum>STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS</enum>]<comment>scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2</comment></member>
430            <member><type>uint8_t</type>                              <name>ScalingListDCCoef32x32</name>[<enum>STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS</enum>]<comment>scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3</comment></member>
431        </type>
432        <type category="struct" name="StdVideoH265ShortTermRefPicSetFlags">
433            <member><type>uint32_t</type>                             <name>inter_ref_pic_set_prediction_flag</name> : 1</member>
434            <member><type>uint32_t</type>                             <name>delta_rps_sign</name> : 1</member>
435        </type>
436        <type category="struct" name="StdVideoH265ShortTermRefPicSet">
437            <member><type>StdVideoH265ShortTermRefPicSetFlags</type>  <name>flags</name></member>
438            <member><type>uint32_t</type>                             <name>delta_idx_minus1</name></member>
439            <member><type>uint16_t</type>                             <name>use_delta_flag</name><comment>each bit represents a use_delta_flag[j] syntax</comment></member>
440            <member><type>uint16_t</type>                             <name>abs_delta_rps_minus1</name></member>
441            <member><type>uint16_t</type>                             <name>used_by_curr_pic_flag</name><comment>each bit represents a used_by_curr_pic_flag[j] syntax</comment></member>
442            <member><type>uint16_t</type>                             <name>used_by_curr_pic_s0_flag</name><comment>each bit represents a used_by_curr_pic_s0_flag[i] syntax</comment></member>
443            <member><type>uint16_t</type>                             <name>used_by_curr_pic_s1_flag</name><comment>each bit represents a used_by_curr_pic_s1_flag[i] syntax</comment></member>
444            <member><type>uint16_t</type>                             <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
445            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
446            <member><type>uint8_t</type>                              <name>reserved3</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
447            <member><type>uint8_t</type>                              <name>num_negative_pics</name></member>
448            <member><type>uint8_t</type>                              <name>num_positive_pics</name></member>
449            <member><type>uint16_t</type>                             <name>delta_poc_s0_minus1</name>[<enum>STD_VIDEO_H265_MAX_DPB_SIZE</enum>]</member>
450            <member><type>uint16_t</type>                             <name>delta_poc_s1_minus1</name>[<enum>STD_VIDEO_H265_MAX_DPB_SIZE</enum>]</member>
451        </type>
452        <type category="struct" name="StdVideoH265LongTermRefPicsSps">
453            <member><type>uint32_t</type>                             <name>used_by_curr_pic_lt_sps_flag</name><comment>each bit represents a used_by_curr_pic_lt_sps_flag[i] syntax</comment></member>
454            <member><type>uint32_t</type>                             <name>lt_ref_pic_poc_lsb_sps</name>[<enum>STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS</enum>]</member>
455        </type>
456        <type category="struct" name="StdVideoH265SpsVuiFlags">
457            <member><type>uint32_t</type>                             <name>aspect_ratio_info_present_flag</name> : 1</member>
458            <member><type>uint32_t</type>                             <name>overscan_info_present_flag</name> : 1</member>
459            <member><type>uint32_t</type>                             <name>overscan_appropriate_flag</name> : 1</member>
460            <member><type>uint32_t</type>                             <name>video_signal_type_present_flag</name> : 1</member>
461            <member><type>uint32_t</type>                             <name>video_full_range_flag</name> : 1</member>
462            <member><type>uint32_t</type>                             <name>colour_description_present_flag</name> : 1</member>
463            <member><type>uint32_t</type>                             <name>chroma_loc_info_present_flag</name> : 1</member>
464            <member><type>uint32_t</type>                             <name>neutral_chroma_indication_flag</name> : 1</member>
465            <member><type>uint32_t</type>                             <name>field_seq_flag</name> : 1</member>
466            <member><type>uint32_t</type>                             <name>frame_field_info_present_flag</name> : 1</member>
467            <member><type>uint32_t</type>                             <name>default_display_window_flag</name> : 1</member>
468            <member><type>uint32_t</type>                             <name>vui_timing_info_present_flag</name> : 1</member>
469            <member><type>uint32_t</type>                             <name>vui_poc_proportional_to_timing_flag</name> : 1</member>
470            <member><type>uint32_t</type>                             <name>vui_hrd_parameters_present_flag</name> : 1</member>
471            <member><type>uint32_t</type>                             <name>bitstream_restriction_flag</name> : 1</member>
472            <member><type>uint32_t</type>                             <name>tiles_fixed_structure_flag</name> : 1</member>
473            <member><type>uint32_t</type>                             <name>motion_vectors_over_pic_boundaries_flag</name> : 1</member>
474            <member><type>uint32_t</type>                             <name>restricted_ref_pic_lists_flag</name> : 1</member>
475        </type>
476        <type category="struct" name="StdVideoH265SequenceParameterSetVui">
477            <member><type>StdVideoH265SpsVuiFlags</type>              <name>flags</name></member>
478            <member><type>StdVideoH265AspectRatioIdc</type>           <name>aspect_ratio_idc</name></member>
479            <member><type>uint16_t</type>                             <name>sar_width</name></member>
480            <member><type>uint16_t</type>                             <name>sar_height</name></member>
481            <member><type>uint8_t</type>                              <name>video_format</name></member>
482            <member><type>uint8_t</type>                              <name>colour_primaries</name></member>
483            <member><type>uint8_t</type>                              <name>transfer_characteristics</name></member>
484            <member><type>uint8_t</type>                              <name>matrix_coeffs</name></member>
485            <member><type>uint8_t</type>                              <name>chroma_sample_loc_type_top_field</name></member>
486            <member><type>uint8_t</type>                              <name>chroma_sample_loc_type_bottom_field</name></member>
487            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
488            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
489            <member><type>uint16_t</type>                             <name>def_disp_win_left_offset</name></member>
490            <member><type>uint16_t</type>                             <name>def_disp_win_right_offset</name></member>
491            <member><type>uint16_t</type>                             <name>def_disp_win_top_offset</name></member>
492            <member><type>uint16_t</type>                             <name>def_disp_win_bottom_offset</name></member>
493            <member><type>uint32_t</type>                             <name>vui_num_units_in_tick</name></member>
494            <member><type>uint32_t</type>                             <name>vui_time_scale</name></member>
495            <member><type>uint32_t</type>                             <name>vui_num_ticks_poc_diff_one_minus1</name></member>
496            <member><type>uint16_t</type>                             <name>min_spatial_segmentation_idc</name></member>
497            <member><type>uint16_t</type>                             <name>reserved3</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
498            <member><type>uint8_t</type>                              <name>max_bytes_per_pic_denom</name></member>
499            <member><type>uint8_t</type>                              <name>max_bits_per_min_cu_denom</name></member>
500            <member><type>uint8_t</type>                              <name>log2_max_mv_length_horizontal</name></member>
501            <member><type>uint8_t</type>                              <name>log2_max_mv_length_vertical</name></member>
502            <member>const <type>StdVideoH265HrdParameters</type>*     <name>pHrdParameters</name></member>
503        </type>
504        <type category="struct" name="StdVideoH265PredictorPaletteEntries">
505            <member><type>uint16_t</type>                             <name>PredictorPaletteEntries</name>[<enum>STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE</enum>][<enum>STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE</enum>]</member>
506        </type>
507        <type category="struct" name="StdVideoH265SpsFlags">
508            <member><type>uint32_t</type>                             <name>sps_temporal_id_nesting_flag</name> : 1</member>
509            <member><type>uint32_t</type>                             <name>separate_colour_plane_flag</name> : 1</member>
510            <member><type>uint32_t</type>                             <name>conformance_window_flag</name> : 1</member>
511            <member><type>uint32_t</type>                             <name>sps_sub_layer_ordering_info_present_flag</name> : 1</member>
512            <member><type>uint32_t</type>                             <name>scaling_list_enabled_flag</name> : 1</member>
513            <member><type>uint32_t</type>                             <name>sps_scaling_list_data_present_flag</name> : 1</member>
514            <member><type>uint32_t</type>                             <name>amp_enabled_flag</name> : 1</member>
515            <member><type>uint32_t</type>                             <name>sample_adaptive_offset_enabled_flag</name> : 1</member>
516            <member><type>uint32_t</type>                             <name>pcm_enabled_flag</name> : 1</member>
517            <member><type>uint32_t</type>                             <name>pcm_loop_filter_disabled_flag</name> : 1</member>
518            <member><type>uint32_t</type>                             <name>long_term_ref_pics_present_flag</name> : 1</member>
519            <member><type>uint32_t</type>                             <name>sps_temporal_mvp_enabled_flag</name> : 1</member>
520            <member><type>uint32_t</type>                             <name>strong_intra_smoothing_enabled_flag</name> : 1</member>
521            <member><type>uint32_t</type>                             <name>vui_parameters_present_flag</name> : 1</member>
522            <member><type>uint32_t</type>                             <name>sps_extension_present_flag</name> : 1</member>
523            <member><type>uint32_t</type>                             <name>sps_range_extension_flag</name> : 1</member>
524            <comment>
525                extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
526            </comment>
527            <member><type>uint32_t</type>                             <name>transform_skip_rotation_enabled_flag</name> : 1</member>
528            <member><type>uint32_t</type>                             <name>transform_skip_context_enabled_flag</name> : 1</member>
529            <member><type>uint32_t</type>                             <name>implicit_rdpcm_enabled_flag</name> : 1</member>
530            <member><type>uint32_t</type>                             <name>explicit_rdpcm_enabled_flag</name> : 1</member>
531            <member><type>uint32_t</type>                             <name>extended_precision_processing_flag</name> : 1</member>
532            <member><type>uint32_t</type>                             <name>intra_smoothing_disabled_flag</name> : 1</member>
533            <member><type>uint32_t</type>                             <name>high_precision_offsets_enabled_flag</name> : 1</member>
534            <member><type>uint32_t</type>                             <name>persistent_rice_adaptation_enabled_flag</name> : 1</member>
535            <member><type>uint32_t</type>                             <name>cabac_bypass_alignment_enabled_flag</name> : 1</member>
536            <comment>
537                extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
538            </comment>
539            <member><type>uint32_t</type>                             <name>sps_scc_extension_flag</name> : 1</member>
540            <member><type>uint32_t</type>                             <name>sps_curr_pic_ref_enabled_flag</name> : 1</member>
541            <member><type>uint32_t</type>                             <name>palette_mode_enabled_flag</name> : 1</member>
542            <member><type>uint32_t</type>                             <name>sps_palette_predictor_initializers_present_flag</name> : 1</member>
543            <member><type>uint32_t</type>                             <name>intra_boundary_filtering_disabled_flag</name> : 1</member>
544        </type>
545        <type category="struct" name="StdVideoH265SequenceParameterSet">
546            <member><type>StdVideoH265SpsFlags</type>                 <name>flags</name></member>
547            <member><type>StdVideoH265ChromaFormatIdc</type>          <name>chroma_format_idc</name></member>
548            <member><type>uint32_t</type>                             <name>pic_width_in_luma_samples</name></member>
549            <member><type>uint32_t</type>                             <name>pic_height_in_luma_samples</name></member>
550            <member><type>uint8_t</type>                              <name>sps_video_parameter_set_id</name></member>
551            <member><type>uint8_t</type>                              <name>sps_max_sub_layers_minus1</name></member>
552            <member><type>uint8_t</type>                              <name>sps_seq_parameter_set_id</name></member>
553            <member><type>uint8_t</type>                              <name>bit_depth_luma_minus8</name></member>
554            <member><type>uint8_t</type>                              <name>bit_depth_chroma_minus8</name></member>
555            <member><type>uint8_t</type>                              <name>log2_max_pic_order_cnt_lsb_minus4</name></member>
556            <member><type>uint8_t</type>                              <name>log2_min_luma_coding_block_size_minus3</name></member>
557            <member><type>uint8_t</type>                              <name>log2_diff_max_min_luma_coding_block_size</name></member>
558            <member><type>uint8_t</type>                              <name>log2_min_luma_transform_block_size_minus2</name></member>
559            <member><type>uint8_t</type>                              <name>log2_diff_max_min_luma_transform_block_size</name></member>
560            <member><type>uint8_t</type>                              <name>max_transform_hierarchy_depth_inter</name></member>
561            <member><type>uint8_t</type>                              <name>max_transform_hierarchy_depth_intra</name></member>
562            <member><type>uint8_t</type>                              <name>num_short_term_ref_pic_sets</name></member>
563            <member><type>uint8_t</type>                              <name>num_long_term_ref_pics_sps</name></member>
564            <member><type>uint8_t</type>                              <name>pcm_sample_bit_depth_luma_minus1</name></member>
565            <member><type>uint8_t</type>                              <name>pcm_sample_bit_depth_chroma_minus1</name></member>
566            <member><type>uint8_t</type>                              <name>log2_min_pcm_luma_coding_block_size_minus3</name></member>
567            <member><type>uint8_t</type>                              <name>log2_diff_max_min_pcm_luma_coding_block_size</name></member>
568            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
569            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
570            <comment>
571                Start extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
572            </comment>
573            <member><type>uint8_t</type>                              <name>palette_max_size</name></member>
574            <member><type>uint8_t</type>                              <name>delta_palette_max_predictor_size</name></member>
575            <member><type>uint8_t</type>                              <name>motion_vector_resolution_control_idc</name></member>
576            <member><type>uint8_t</type>                              <name>sps_num_palette_predictor_initializers_minus1</name></member>
577            <comment>
578                End extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
579            </comment>
580            <member><type>uint32_t</type>                             <name>conf_win_left_offset</name></member>
581            <member><type>uint32_t</type>                             <name>conf_win_right_offset</name></member>
582            <member><type>uint32_t</type>                             <name>conf_win_top_offset</name></member>
583            <member><type>uint32_t</type>                             <name>conf_win_bottom_offset</name></member>
584            <member>const <type>StdVideoH265ProfileTierLevel</type>*  <name>pProfileTierLevel</name></member>
585            <member>const <type>StdVideoH265DecPicBufMgr</type>*      <name>pDecPicBufMgr</name></member>
586            <member>const <type>StdVideoH265ScalingLists</type>*      <name>pScalingLists</name><comment>Must be a valid pointer if sps_scaling_list_data_present_flag is set</comment></member>
587            <member>const <type>StdVideoH265ShortTermRefPicSet</type>*      <name>pShortTermRefPicSet</name><comment>Must be a valid pointer to an array with size num_short_term_ref_pic_sets if num_short_term_ref_pic_sets is not 0.</comment></member>
588            <member>const <type>StdVideoH265LongTermRefPicsSps</type>*      <name>pLongTermRefPicsSps</name><comment>Must be a valid pointer if long_term_ref_pics_present_flag is set</comment></member>
589            <member>const <type>StdVideoH265SequenceParameterSetVui</type>* <name>pSequenceParameterSetVui</name><comment>Must be a valid pointer if StdVideoH265SpsFlags:vui_parameters_present_flag is set palette_max_size</comment></member>
590            <member>const <type>StdVideoH265PredictorPaletteEntries</type>* <name>pPredictorPaletteEntries</name><comment>Must be a valid pointer if sps_palette_predictor_initializer_present_flag is set</comment></member>
591        </type>
592        <type category="struct" name="StdVideoH265PpsFlags">
593            <member><type>uint32_t</type>                             <name>dependent_slice_segments_enabled_flag</name> : 1</member>
594            <member><type>uint32_t</type>                             <name>output_flag_present_flag</name> : 1</member>
595            <member><type>uint32_t</type>                             <name>sign_data_hiding_enabled_flag</name> : 1</member>
596            <member><type>uint32_t</type>                             <name>cabac_init_present_flag</name> : 1</member>
597            <member><type>uint32_t</type>                             <name>constrained_intra_pred_flag</name> : 1</member>
598            <member><type>uint32_t</type>                             <name>transform_skip_enabled_flag</name> : 1</member>
599            <member><type>uint32_t</type>                             <name>cu_qp_delta_enabled_flag</name> : 1</member>
600            <member><type>uint32_t</type>                             <name>pps_slice_chroma_qp_offsets_present_flag</name> : 1</member>
601            <member><type>uint32_t</type>                             <name>weighted_pred_flag</name> : 1</member>
602            <member><type>uint32_t</type>                             <name>weighted_bipred_flag</name> : 1</member>
603            <member><type>uint32_t</type>                             <name>transquant_bypass_enabled_flag</name> : 1</member>
604            <member><type>uint32_t</type>                             <name>tiles_enabled_flag</name> : 1</member>
605            <member><type>uint32_t</type>                             <name>entropy_coding_sync_enabled_flag</name> : 1</member>
606            <member><type>uint32_t</type>                             <name>uniform_spacing_flag</name> : 1</member>
607            <member><type>uint32_t</type>                             <name>loop_filter_across_tiles_enabled_flag</name> : 1</member>
608            <member><type>uint32_t</type>                             <name>pps_loop_filter_across_slices_enabled_flag</name> : 1</member>
609            <member><type>uint32_t</type>                             <name>deblocking_filter_control_present_flag</name> : 1</member>
610            <member><type>uint32_t</type>                             <name>deblocking_filter_override_enabled_flag</name> : 1</member>
611            <member><type>uint32_t</type>                             <name>pps_deblocking_filter_disabled_flag</name> : 1</member>
612            <member><type>uint32_t</type>                             <name>pps_scaling_list_data_present_flag</name> : 1</member>
613            <member><type>uint32_t</type>                             <name>lists_modification_present_flag</name> : 1</member>
614            <member><type>uint32_t</type>                             <name>slice_segment_header_extension_present_flag</name> : 1</member>
615            <member><type>uint32_t</type>                             <name>pps_extension_present_flag</name> : 1</member>
616            <comment>
617                extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
618            </comment>
619            <member><type>uint32_t</type>                             <name>cross_component_prediction_enabled_flag</name> : 1</member>
620            <member><type>uint32_t</type>                             <name>chroma_qp_offset_list_enabled_flag</name> : 1</member>
621            <comment>
622                extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
623            </comment>
624            <member><type>uint32_t</type>                             <name>pps_curr_pic_ref_enabled_flag</name> : 1</member>
625            <member><type>uint32_t</type>                             <name>residual_adaptive_colour_transform_enabled_flag</name> : 1</member>
626            <member><type>uint32_t</type>                             <name>pps_slice_act_qp_offsets_present_flag</name> : 1</member>
627            <member><type>uint32_t</type>                             <name>pps_palette_predictor_initializers_present_flag</name> : 1</member>
628            <member><type>uint32_t</type>                             <name>monochrome_palette_flag</name> : 1</member>
629            <member><type>uint32_t</type>                             <name>pps_range_extension_flag</name> : 1</member>
630        </type>
631        <type category="struct" name="StdVideoH265PictureParameterSet">
632            <member><type>StdVideoH265PpsFlags</type>                 <name>flags</name></member>
633            <member><type>uint8_t</type>                              <name>pps_pic_parameter_set_id</name></member>
634            <member><type>uint8_t</type>                              <name>pps_seq_parameter_set_id</name></member>
635            <member><type>uint8_t</type>                              <name>sps_video_parameter_set_id</name></member>
636            <member><type>uint8_t</type>                              <name>num_extra_slice_header_bits</name></member>
637            <member><type>uint8_t</type>                              <name>num_ref_idx_l0_default_active_minus1</name></member>
638            <member><type>uint8_t</type>                              <name>num_ref_idx_l1_default_active_minus1</name></member>
639            <member><type>int8_t</type>                               <name>init_qp_minus26</name></member>
640            <member><type>uint8_t</type>                              <name>diff_cu_qp_delta_depth</name></member>
641            <member><type>int8_t</type>                               <name>pps_cb_qp_offset</name></member>
642            <member><type>int8_t</type>                               <name>pps_cr_qp_offset</name></member>
643            <member><type>int8_t</type>                               <name>pps_beta_offset_div2</name></member>
644            <member><type>int8_t</type>                               <name>pps_tc_offset_div2</name></member>
645            <member><type>uint8_t</type>                              <name>log2_parallel_merge_level_minus2</name></member>
646            <comment>
647                extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
648            </comment>
649            <member><type>uint8_t</type>                              <name>log2_max_transform_skip_block_size_minus2</name></member>
650            <member><type>uint8_t</type>                              <name>diff_cu_chroma_qp_offset_depth</name></member>
651            <member><type>uint8_t</type>                              <name>chroma_qp_offset_list_len_minus1</name></member>
652            <member><type>int8_t</type>                               <name>cb_qp_offset_list</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE</enum>]</member>
653            <member><type>int8_t</type>                               <name>cr_qp_offset_list</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE</enum>]</member>
654            <member><type>uint8_t</type>                              <name>log2_sao_offset_scale_luma</name></member>
655            <member><type>uint8_t</type>                              <name>log2_sao_offset_scale_chroma</name></member>
656            <comment>
657                extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
658            </comment>
659            <member><type>int8_t</type>                               <name>pps_act_y_qp_offset_plus5</name></member>
660            <member><type>int8_t</type>                               <name>pps_act_cb_qp_offset_plus5</name></member>
661            <member><type>int8_t</type>                               <name>pps_act_cr_qp_offset_plus3</name></member>
662            <member><type>uint8_t</type>                              <name>pps_num_palette_predictor_initializers</name></member>
663            <member><type>uint8_t</type>                              <name>luma_bit_depth_entry_minus8</name></member>
664            <member><type>uint8_t</type>                              <name>chroma_bit_depth_entry_minus8</name></member>
665            <member><type>uint8_t</type>                              <name>num_tile_columns_minus1</name></member>
666            <member><type>uint8_t</type>                              <name>num_tile_rows_minus1</name></member>
667            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
668            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
669            <member><type>uint16_t</type>                             <name>column_width_minus1</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE</enum>]</member>
670            <member><type>uint16_t</type>                             <name>row_height_minus1</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE</enum>]</member>
671            <member><type>uint32_t</type>                             <name>reserved3</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
672            <member>const <type>StdVideoH265ScalingLists</type>*      <name>pScalingLists</name><comment>Must be a valid pointer if pps_scaling_list_data_present_flag is set</comment></member>
673            <member>const <type>StdVideoH265PredictorPaletteEntries</type>* <name>pPredictorPaletteEntries</name><comment>Must be a valid pointer if pps_palette_predictor_initializer_present_flag is set</comment></member>
674        </type>
675
676            <!-- vulkan_video_codec_h265std_decode.h structs -->
677        <type category="struct" name="StdVideoDecodeH265PictureInfoFlags">
678            <member><type>uint32_t</type>                             <name>IrapPicFlag</name> : 1</member>
679            <member><type>uint32_t</type>                             <name>IdrPicFlag</name>  : 1</member>
680            <member><type>uint32_t</type>                             <name>IsReference</name> : 1</member>
681            <member><type>uint32_t</type>                             <name>short_term_ref_pic_set_sps_flag</name> : 1</member>
682        </type>
683        <type category="struct" name="StdVideoDecodeH265PictureInfo">
684            <member><type>StdVideoDecodeH265PictureInfoFlags</type>   <name>flags</name></member>
685            <member><type>uint8_t</type>                              <name>sps_video_parameter_set_id</name><comment>Selecting VPS id from the Video Parameters Set</comment></member>
686            <member><type>uint8_t</type>                              <name>pps_seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
687            <member><type>uint8_t</type>                              <name>pps_pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member>
688            <member><type>uint8_t</type>                              <name>NumDeltaPocsOfRefRpsIdx</name><comment>NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0</comment></member>
689            <member><type>int32_t</type>                              <name>PicOrderCntVal</name></member>
690            <member><type>uint16_t</type>                             <name>NumBitsForSTRefPicSetInSlice</name><comment>number of bits used in st_ref_pic_set() when short_term_ref_pic_set_sps_flag is 0otherwise set to 0.</comment></member>
691            <member><type>uint16_t</type>                             <name>reserved</name></member>
692            <member><type>uint8_t</type>                              <name>RefPicSetStCurrBefore</name>[<enum>STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE</enum>]<comment>slotIndex as used in VkVideoReferenceSlotInfoKHR structures representing pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex</comment></member>
693            <member><type>uint8_t</type>                              <name>RefPicSetStCurrAfter</name>[<enum>STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE</enum>]<comment>slotIndex as used in VkVideoReferenceSlotInfoKHR structures representing pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex</comment></member>
694            <member><type>uint8_t</type>                              <name>RefPicSetLtCurr</name>[<enum>STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE</enum>]<comment>slotIndex as used in VkVideoReferenceSlotInfoKHR structures representing pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex</comment></member>
695        </type>
696        <type category="struct" name="StdVideoDecodeH265ReferenceInfoFlags">
697            <member><type>uint32_t</type>                             <name>used_for_long_term_reference</name> : 1<comment>A picture that is marked as "used for long-term reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member>
698            <member><type>uint32_t</type>                             <name>unused_for_reference</name> : 1<comment>A picture that is marked as "unused for reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member>
699        </type>
700        <type category="struct" name="StdVideoDecodeH265ReferenceInfo">
701            <member><type>StdVideoDecodeH265ReferenceInfoFlags</type> <name>flags</name></member>
702            <member><type>int32_t</type>                              <name>PicOrderCntVal</name></member>
703        </type>
704
705        <!-- vulkan_video_codec_h265std_encode.h structs -->
706        <type category="struct" name="StdVideoEncodeH265WeightTableFlags">
707            <member><type>uint16_t</type> <name>luma_weight_l0_flag</name><comment>bit 0 - num_ref_idx_l0_active_minus1</comment></member>
708            <member><type>uint16_t</type> <name>chroma_weight_l0_flag</name><comment>bit 0 - num_ref_idx_l0_active_minus1</comment></member>
709            <member><type>uint16_t</type> <name>luma_weight_l1_flag</name><comment>bit 0 - num_ref_idx_l1_active_minus1</comment></member>
710            <member><type>uint16_t</type> <name>chroma_weight_l1_flag</name><comment>bit 0 - num_ref_idx_l1_active_minus1</comment></member>
711        </type>
712
713        <type category="struct" name="StdVideoEncodeH265WeightTable">
714            <comment>
715                StdVideoEncodeH265WeightTable corresponds to the values produced by pred_weight_table() for the h.265 specification.
716                For details, refer to weighted_pred_flag, weighted_bipred_flag and pred_weight_table().
717            </comment>
718            <member><type>StdVideoEncodeH265WeightTableFlags</type>  <name>flags</name></member>
719            <member><type>uint8_t</type>                             <name>luma_log2_weight_denom</name><comment>[0, 7]</comment></member>
720            <member><type>int8_t</type>                              <name>delta_chroma_log2_weight_denom</name></member>
721            <member><type>int8_t</type>                              <name>delta_luma_weight_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment>comment</comment></member>
722            <member><type>int8_t</type>                              <name>luma_offset_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment>comment</comment></member>
723            <member><type>int8_t</type>                              <name>delta_chroma_weight_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
724            <member><type>int8_t</type>                              <name>delta_chroma_offset_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
725            <member><type>int8_t</type>                              <name>delta_luma_weight_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment> </comment></member>
726            <member><type>int8_t</type>                              <name>luma_offset_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment> </comment></member>
727            <member><type>int8_t</type>                              <name>delta_chroma_weight_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
728            <member><type>int8_t</type>                              <name>delta_chroma_offset_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member>
729        </type>
730
731        <type category="struct" name="StdVideoEncodeH265SliceSegmentLongTermRefPics">
732            <member><type>uint8_t</type>                              <name>num_long_term_sps</name></member>
733            <member><type>uint8_t</type>                              <name>num_long_term_pics</name></member>
734            <member><type>uint8_t</type>                              <name>lt_idx_sps</name>[<enum>STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS</enum>]</member>
735            <member><type>uint8_t</type>                              <name>poc_lsb_lt</name>[<enum>STD_VIDEO_H265_MAX_LONG_TERM_PICS</enum>]</member>
736            <member><type>uint16_t</type>                             <name>used_by_curr_pic_lt_flag</name><comment>each bit represents a used_by_curr_pic_lt_flag[i] syntax</comment></member>
737            <member><type>uint8_t</type>                              <name>delta_poc_msb_present_flag</name>[<enum>STD_VIDEO_H265_MAX_DELTA_POC</enum>]</member>
738            <member><type>uint8_t</type>                              <name>delta_poc_msb_cycle_lt</name>[<enum>STD_VIDEO_H265_MAX_DELTA_POC</enum>]</member>
739        </type>
740
741        <type category="struct" name="StdVideoEncodeH265SliceSegmentHeaderFlags">
742            <member><type>uint32_t</type>  <name>first_slice_segment_in_pic_flag</name> : 1</member>
743            <member><type>uint32_t</type>  <name>no_output_of_prior_pics_flag</name> : 1</member>
744            <member><type>uint32_t</type>  <name>dependent_slice_segment_flag</name> : 1</member>
745            <member><type>uint32_t</type>  <name>pic_output_flag</name> : 1</member>
746            <member><type>uint32_t</type>  <name>short_term_ref_pic_set_sps_flag</name> : 1</member>
747            <member><type>uint32_t</type>  <name>slice_temporal_mvp_enable_flag</name> : 1</member>
748            <member><type>uint32_t</type>  <name>slice_sao_luma_flag</name> : 1</member>
749            <member><type>uint32_t</type>  <name>slice_sao_chroma_flag</name> : 1</member>
750            <member><type>uint32_t</type>  <name>num_ref_idx_active_override_flag</name> : 1</member>
751            <member><type>uint32_t</type>  <name>mvd_l1_zero_flag</name> : 1</member>
752            <member><type>uint32_t</type>  <name>cabac_init_flag</name> : 1</member>
753            <member><type>uint32_t</type>  <name>cu_chroma_qp_offset_enabled_flag</name> : 1</member>
754            <member><type>uint32_t</type>  <name>deblocking_filter_override_flag</name> : 1</member>
755            <member><type>uint32_t</type>  <name>slice_deblocking_filter_disabled_flag</name> : 1</member>
756            <member><type>uint32_t</type>  <name>collocated_from_l0_flag</name> : 1</member>
757            <member><type>uint32_t</type>  <name>slice_loop_filter_across_slices_enabled_flag</name> : 1</member>
758        </type>
759        <type category="struct" name="StdVideoEncodeH265SliceSegmentHeader">
760            <member><type>StdVideoEncodeH265SliceSegmentHeaderFlags</type>   <name>flags</name></member>
761            <member><type>StdVideoH265SliceType</type>                <name>slice_type</name></member>
762            <member><type>uint32_t</type>                             <name>slice_segment_address</name></member>
763            <member><type>uint8_t</type>                              <name>short_term_ref_pic_set_idx</name></member>
764            <member><type>uint8_t</type>                              <name>collocated_ref_idx</name></member>
765            <member><type>uint8_t</type>                              <name>num_ref_idx_l0_active_minus1</name><comment>[0, 14]</comment></member>
766            <member><type>uint8_t</type>                              <name>num_ref_idx_l1_active_minus1</name><comment>[0, 14]</comment></member>
767            <member><type>uint8_t</type>                              <name>MaxNumMergeCand</name></member>
768            <member><type>int8_t</type>                               <name>slice_cb_qp_offset</name><comment>[-12, 12]</comment></member>
769            <member><type>int8_t</type>                               <name>slice_cr_qp_offset</name><comment>[-12, 12]</comment></member>
770            <member><type>int8_t</type>                               <name>slice_beta_offset_div2</name><comment>[-6, 6]</comment></member>
771            <member><type>int8_t</type>                               <name>slice_tc_offset_div2</name><comment>[-6, 6]</comment></member>
772            <member><type>int8_t</type>                               <name>slice_act_y_qp_offset</name></member>
773            <member><type>int8_t</type>                               <name>slice_act_cb_qp_offset</name></member>
774            <member><type>int8_t</type>                               <name>slice_act_cr_qp_offset</name></member>
775            <member>const <type>StdVideoH265ShortTermRefPicSet</type>*<name>pShortTermRefPicSet</name><comment>Must be a valid pointer if short_term_ref_pic_set_sps_flag is not set</comment></member>
776            <member>const <type>StdVideoEncodeH265SliceSegmentLongTermRefPics</type>*<name>pLongTermRefPics</name><comment>Must be a valid pointer if StdVideoH265SpsFlags:long_term_ref_pics_present_flag is set</comment></member>
777            <member>const <type>StdVideoEncodeH265WeightTable</type>* <name>pWeightTable</name><comment></comment></member>
778        </type>
779        <type category="struct" name="StdVideoEncodeH265ReferenceListsInfoFlags">
780            <member><type>uint32_t</type>                             <name>ref_pic_list_modification_flag_l0</name> : 1</member>
781            <member><type>uint32_t</type>                             <name>ref_pic_list_modification_flag_l1</name> : 1</member>
782        </type>
783        <type category="struct" name="StdVideoEncodeH265ReferenceListsInfo">
784            <member><type>StdVideoEncodeH265ReferenceListsInfoFlags</type> <name>flags</name></member>
785            <member><type>uint8_t</type>                              <name>num_ref_idx_l0_active_minus1</name></member>
786            <member><type>uint8_t</type>                              <name>num_ref_idx_l1_active_minus1</name></member>
787            <member><type>uint16_t</type>                             <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
788            <member>const <type>uint8_t</type>*                       <name>pRefPicList0Entries</name><comment>Must be a valid pointer to an array with size num_ref_idx_l0_active_minus1 plus 1 and contains the slotIndex values corresponding to the RefPicList0 as used in VkVideoReferenceSlotInfoKHR structures, 0xff for invalid slotIndex.</comment></member>
789            <member>const <type>uint8_t</type>*                       <name>pRefPicList1Entries</name><comment>Must be a valid pointer to an array with size num_ref_idx_l1_active_minus1 plus 1 and contains the slotIndex values corresponding to the RefPicList1 as used in VkVideoReferenceSlotInfoKHR structures, 0xff for invalid slotIndex.</comment></member>
790            <member>const <type>uint8_t</type>*                       <name>pRefList0Modifications</name><comment>Must be a valid pointer to an array with size num_ref_idx_l0_active_minus1 plus 1 if ref_pic_list_modification_flag_l0 is set and contains the elements of list_entry_l0.</comment></member>
791            <member>const <type>uint8_t</type>*                       <name>pRefList1Modifications</name><comment>Must be a valid pointer to an array with size num_ref_idx_l1_active_minus1 plus 1 if ref_pic_list_modification_flag_l1 is set and contains the elements of list_entry_l1.</comment></member>
792        </type>
793        <type category="struct" name="StdVideoEncodeH265PictureInfoFlags">
794            <member><type>uint32_t</type>  <name>is_reference_flag</name> : 1</member>
795            <member><type>uint32_t</type>  <name>IrapPicFlag</name> : 1</member>
796            <member><type>uint32_t</type>  <name>long_term_flag</name> : 1</member>
797            <member><type>uint32_t</type>  <name>discardable_flag</name> : 1</member>
798            <member><type>uint32_t</type>  <name>cross_layer_bla_flag</name> : 1</member>
799        </type>
800        <type category="struct" name="StdVideoEncodeH265PictureInfo">
801            <member><type>StdVideoEncodeH265PictureInfoFlags</type>   <name>flags</name></member>
802            <member><type>StdVideoH265PictureType</type>              <name>PictureType</name></member>
803            <member><type>uint8_t</type>                              <name>sps_video_parameter_set_id</name><comment>Selecting VPS id from the Video Parameters Set</comment></member>
804            <member><type>uint8_t</type>                              <name>pps_seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
805            <member><type>uint8_t</type>                              <name>pps_pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member>
806            <member><type>uint8_t</type>                              <name>TemporalId</name></member>
807            <member><type>int32_t</type>                              <name>PicOrderCntVal</name></member>
808        </type>
809        <type category="struct" name="StdVideoEncodeH265ReferenceInfoFlags">
810            <member><type>uint32_t</type>                             <name>used_for_long_term_reference</name> : 1<comment>A picture that is marked as "used for long-term reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member>
811            <member><type>uint32_t</type>                             <name>unused_for_reference</name> : 1<comment>A picture that is marked as "unused for reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member>
812        </type>
813
814        <type category="struct" name="StdVideoEncodeH265ReferenceInfo">
815            <member><type>StdVideoEncodeH265ReferenceInfoFlags</type> <name>flags</name></member>
816            <member><type>StdVideoH265PictureType</type>              <name>PictureType</name></member>
817            <member><type>int32_t</type>                              <name>PicOrderCntVal</name></member>
818            <member><type>uint8_t</type>                              <name>TemporalId</name></member>
819        </type>
820    </types>
821
822        <!-- vulkan_video_codec_h264std.h enums -->
823    <enums name="StdVideoH264ChromaFormatIdc" type="enum">
824        <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME"            value="0"/>
825        <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_420"                   value="1"/>
826        <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_422"                   value="2"/>
827        <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_444"                   value="3"/>
828        <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID"               value="0x7FFFFFFF"/>
829    </enums>
830    <enums name="StdVideoH264ProfileIdc" type="enum">
831        <enum name="STD_VIDEO_H264_PROFILE_IDC_BASELINE"                    value="66" comment="Only constrained baseline is supported"/>
832        <enum name="STD_VIDEO_H264_PROFILE_IDC_MAIN"                        value="77"/>
833        <enum name="STD_VIDEO_H264_PROFILE_IDC_HIGH"                        value="100"/>
834        <enum name="STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE"         value="244"/>
835        <enum name="STD_VIDEO_H264_PROFILE_IDC_INVALID"                     value="0x7FFFFFFF"/>
836    </enums>
837    <enums name="StdVideoH264LevelIdc" type="enum">
838        <enum name="STD_VIDEO_H264_LEVEL_IDC_1_0"                           value="0"/>
839        <enum name="STD_VIDEO_H264_LEVEL_IDC_1_1"                           value="1"/>
840        <enum name="STD_VIDEO_H264_LEVEL_IDC_1_2"                           value="2"/>
841        <enum name="STD_VIDEO_H264_LEVEL_IDC_1_3"                           value="3"/>
842        <enum name="STD_VIDEO_H264_LEVEL_IDC_2_0"                           value="4"/>
843        <enum name="STD_VIDEO_H264_LEVEL_IDC_2_1"                           value="5"/>
844        <enum name="STD_VIDEO_H264_LEVEL_IDC_2_2"                           value="6"/>
845        <enum name="STD_VIDEO_H264_LEVEL_IDC_3_0"                           value="7"/>
846        <enum name="STD_VIDEO_H264_LEVEL_IDC_3_1"                           value="8"/>
847        <enum name="STD_VIDEO_H264_LEVEL_IDC_3_2"                           value="9"/>
848        <enum name="STD_VIDEO_H264_LEVEL_IDC_4_0"                           value="10"/>
849        <enum name="STD_VIDEO_H264_LEVEL_IDC_4_1"                           value="11"/>
850        <enum name="STD_VIDEO_H264_LEVEL_IDC_4_2"                           value="12"/>
851        <enum name="STD_VIDEO_H264_LEVEL_IDC_5_0"                           value="13"/>
852        <enum name="STD_VIDEO_H264_LEVEL_IDC_5_1"                           value="14"/>
853        <enum name="STD_VIDEO_H264_LEVEL_IDC_5_2"                           value="15"/>
854        <enum name="STD_VIDEO_H264_LEVEL_IDC_6_0"                           value="16"/>
855        <enum name="STD_VIDEO_H264_LEVEL_IDC_6_1"                           value="17"/>
856        <enum name="STD_VIDEO_H264_LEVEL_IDC_6_2"                           value="18"/>
857        <enum name="STD_VIDEO_H264_LEVEL_IDC_INVALID"                       value="0x7FFFFFFF"/>
858    </enums>
859    <enums name="StdVideoH264PocType" type="enum">
860        <enum name="STD_VIDEO_H264_POC_TYPE_0"                              value="0"/>
861        <enum name="STD_VIDEO_H264_POC_TYPE_1"                              value="1"/>
862        <enum name="STD_VIDEO_H264_POC_TYPE_2"                              value="2"/>
863        <enum name="STD_VIDEO_H264_POC_TYPE_INVALID"                        value="0x7FFFFFFF"/>
864    </enums>
865    <enums name="StdVideoH264AspectRatioIdc" type="enum">
866        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED"            value="0"/>
867        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE"                 value="1"/>
868        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11"                  value="2"/>
869        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11"                  value="3"/>
870        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11"                  value="4"/>
871        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33"                  value="5"/>
872        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11"                  value="6"/>
873        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11"                  value="7"/>
874        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11"                  value="8"/>
875        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33"                  value="9"/>
876        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11"                  value="10"/>
877        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11"                  value="11"/>
878        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33"                  value="12"/>
879        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99"                 value="13"/>
880        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3"                    value="14"/>
881        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2"                    value="15"/>
882        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1"                    value="16"/>
883        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR"           value="255"/>
884        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID"                value="0x7FFFFFFF"/>
885    </enums>
886    <enums name="StdVideoH264WeightedBipredIdc" type="enum">
887        <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT"             value="0"/>
888        <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT"            value="1"/>
889        <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT"            value="2"/>
890        <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID"             value="0x7FFFFFFF"/>
891    </enums>
892    <enums name="StdVideoH264ModificationOfPicNumsIdc" type="enum">
893        <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT" value="0"/>
894        <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD"     value="1"/>
895        <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM"          value="2"/>
896        <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END"                value="3"/>
897        <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID"            value="0x7FFFFFFF"/>
898    </enums>
899    <enums name="StdVideoH264MemMgmtControlOp" type="enum">
900        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END"                         value="0"/>
901        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM"           value="1"/>
902        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM"            value="2"/>
903        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM"              value="3"/>
904        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX"     value="4"/>
905        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL"                  value="5"/>
906        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM"   value="6"/>
907        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID"                     value="0x7FFFFFFF"/>
908    </enums>
909    <enums name="StdVideoH264CabacInitIdc" type="enum">
910        <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_0"                        value="0"/>
911        <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_1"                        value="1"/>
912        <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_2"                        value="2"/>
913        <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_INVALID"                  value="0x7FFFFFFF"/>
914    </enums>
915    <enums name="StdVideoH264DisableDeblockingFilterIdc" type="enum">
916        <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED"  value="0"/>
917        <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED"   value="1"/>
918        <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL"   value="2"/>
919        <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID"   value="0x7FFFFFFF"/>
920    </enums>
921    <enums name="StdVideoH264SliceType" type="enum">
922        <enum name="STD_VIDEO_H264_SLICE_TYPE_P"                            value="0"/>
923        <enum name="STD_VIDEO_H264_SLICE_TYPE_B"                            value="1"/>
924        <enum name="STD_VIDEO_H264_SLICE_TYPE_I"                            value="2"/>
925        <comment>
926                reserved STD_VIDEO_H264_SLICE_TYPE_SP = 3
927                reserved STD_VIDEO_H264_SLICE_TYPE_SI = 4
928        </comment>
929        <enum name="STD_VIDEO_H264_SLICE_TYPE_INVALID"                      value="0x7FFFFFFF"/>
930    </enums>
931    <enums name="StdVideoH264PictureType" type="enum">
932        <enum name="STD_VIDEO_H264_PICTURE_TYPE_P"                          value="0"/>
933        <enum name="STD_VIDEO_H264_PICTURE_TYPE_B"                          value="1"/>
934        <enum name="STD_VIDEO_H264_PICTURE_TYPE_I"                          value="2"/>
935        <comment>
936                reserved STD_VIDEO_H264_PICTURE_TYPE_SP = 3
937                reserved STD_VIDEO_H264_PICTURE_TYPE_SI = 4
938        </comment>
939        <enum name="STD_VIDEO_H264_PICTURE_TYPE_IDR"                        value="5"/>
940        <enum name="STD_VIDEO_H264_PICTURE_TYPE_INVALID"                    value="0x7FFFFFFF"/>
941    </enums>
942    <enums name="StdVideoH264NonVclNaluType" type="enum">
943        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS"                   value="0"/>
944        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS"                   value="1"/>
945        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD"                   value="2"/>
946        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX"                value="3"/>
947        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE"       value="4"/>
948        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM"         value="5"/>
949        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED"              value="6"/>
950        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID"               value="0x7FFFFFFF"/>
951    </enums>
952
953            <!-- vulkan_video_codec_h264std_decode.h enums -->
954    <enums name="StdVideoDecodeH264FieldOrderCount" type="enum">
955        <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP"            value="0"/>
956        <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM"         value="1"/>
957        <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID"        value="0x7FFFFFFF"/>
958    </enums>
959
960            <!-- vulkan_video_codec_h265std.h enums -->
961    <enums name="StdVideoH265ChromaFormatIdc" type="enum">
962        <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME"            value="0"/>
963        <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_420"                   value="1"/>
964        <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_422"                   value="2"/>
965        <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_444"                   value="3"/>
966        <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID"               value="0x7FFFFFFF"/>
967    </enums>
968    <enums name="StdVideoH265ProfileIdc" type="enum">
969        <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN"                        value="1"/>
970        <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN_10"                     value="2"/>
971        <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE"          value="3"/>
972        <enum name="STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS"     value="4"/>
973        <enum name="STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS"              value="9"/>
974        <enum name="STD_VIDEO_H265_PROFILE_IDC_INVALID"                     value="0x7FFFFFFF"/>
975    </enums>
976    <enums name="StdVideoH265LevelIdc" type="enum">
977        <enum name="STD_VIDEO_H265_LEVEL_IDC_1_0"                           value="0"/>
978        <enum name="STD_VIDEO_H265_LEVEL_IDC_2_0"                           value="1"/>
979        <enum name="STD_VIDEO_H265_LEVEL_IDC_2_1"                           value="2"/>
980        <enum name="STD_VIDEO_H265_LEVEL_IDC_3_0"                           value="3"/>
981        <enum name="STD_VIDEO_H265_LEVEL_IDC_3_1"                           value="4"/>
982        <enum name="STD_VIDEO_H265_LEVEL_IDC_4_0"                           value="5"/>
983        <enum name="STD_VIDEO_H265_LEVEL_IDC_4_1"                           value="6"/>
984        <enum name="STD_VIDEO_H265_LEVEL_IDC_5_0"                           value="7"/>
985        <enum name="STD_VIDEO_H265_LEVEL_IDC_5_1"                           value="8"/>
986        <enum name="STD_VIDEO_H265_LEVEL_IDC_5_2"                           value="9"/>
987        <enum name="STD_VIDEO_H265_LEVEL_IDC_6_0"                           value="10"/>
988        <enum name="STD_VIDEO_H265_LEVEL_IDC_6_1"                           value="11"/>
989        <enum name="STD_VIDEO_H265_LEVEL_IDC_6_2"                           value="12"/>
990        <enum name="STD_VIDEO_H265_LEVEL_IDC_INVALID"                       value="0x7FFFFFFF"/>
991    </enums>
992    <enums name="StdVideoH265SliceType" type="enum">
993        <enum name="STD_VIDEO_H265_SLICE_TYPE_B"                            value="0"/>
994        <enum name="STD_VIDEO_H265_SLICE_TYPE_P"                            value="1"/>
995        <enum name="STD_VIDEO_H265_SLICE_TYPE_I"                            value="2"/>
996        <enum name="STD_VIDEO_H265_SLICE_TYPE_INVALID"                      value="0x7FFFFFFF"/>
997    </enums>
998    <enums name="StdVideoH265PictureType" type="enum">
999        <enum name="STD_VIDEO_H265_PICTURE_TYPE_P"                          value="0"/>
1000        <enum name="STD_VIDEO_H265_PICTURE_TYPE_B"                          value="1"/>
1001        <enum name="STD_VIDEO_H265_PICTURE_TYPE_I"                          value="2"/>
1002        <enum name="STD_VIDEO_H265_PICTURE_TYPE_IDR"                        value="3"/>
1003        <enum name="STD_VIDEO_H265_PICTURE_TYPE_INVALID"                    value="0x7FFFFFFF"/>
1004    </enums>
1005    <enums name="StdVideoH265AspectRatioIdc" type="enum">
1006        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED"            value="0"/>
1007        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE"                 value="1"/>
1008        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11"                  value="2"/>
1009        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11"                  value="3"/>
1010        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11"                  value="4"/>
1011        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33"                  value="5"/>
1012        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11"                  value="6"/>
1013        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11"                  value="7"/>
1014        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11"                  value="8"/>
1015        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33"                  value="9"/>
1016        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11"                  value="10"/>
1017        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11"                  value="11"/>
1018        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33"                  value="12"/>
1019        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99"                 value="13"/>
1020        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3"                    value="14"/>
1021        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2"                    value="15"/>
1022        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1"                    value="16"/>
1023        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR"           value="255"/>
1024        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID"                value="0x7FFFFFFF"/>
1025    </enums>
1026
1027    <extensions>
1028        <extension name="vulkan_video_codecs_common" comment="protect with VULKAN_VIDEO_CODEC_COMMON_H_" supported="vulkan">
1029            <require>
1030                <type name="VK_MAKE_VIDEO_STD_VERSION"/>
1031            </require>
1032        </extension>
1033        <extension name="vulkan_video_codec_h264std" comment="protect with VULKAN_VIDEO_CODEC_H264STD_H_" supported="vulkan">
1034            <require>
1035                <type name="vk_video/vulkan_video_codecs_common.h"/>
1036
1037                <enum name="STD_VIDEO_H264_CPB_CNT_LIST_SIZE"               value="32"/>
1038                <enum name="STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS"      value="6"/>
1039                <enum name="STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS"   value="16"/>
1040                <enum name="STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS"      value="6"/>
1041                <enum name="STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS"   value="64"/>
1042                <enum name="STD_VIDEO_H264_MAX_NUM_LIST_REF"                value="32"/>
1043                <enum name="STD_VIDEO_H264_MAX_CHROMA_PLANES"               value="2"/>
1044
1045                <type name="StdVideoH264ChromaFormatIdc"/>
1046                <type name="StdVideoH264ProfileIdc"/>
1047                <type name="StdVideoH264LevelIdc"/>
1048                <type name="StdVideoH264PocType"/>
1049                <type name="StdVideoH264AspectRatioIdc"/>
1050                <type name="StdVideoH264WeightedBipredIdc"/>
1051                <type name="StdVideoH264ModificationOfPicNumsIdc"/>
1052                <type name="StdVideoH264MemMgmtControlOp"/>
1053                <type name="StdVideoH264CabacInitIdc"/>
1054                <type name="StdVideoH264DisableDeblockingFilterIdc"/>
1055                <type name="StdVideoH264SliceType"/>
1056                <type name="StdVideoH264PictureType"/>
1057                <type name="StdVideoH264NonVclNaluType"/>
1058
1059                <type name="StdVideoH264SpsVuiFlags"/>
1060                <type name="StdVideoH264HrdParameters"/>
1061                <type name="StdVideoH264SequenceParameterSetVui"/>
1062                <type name="StdVideoH264SpsFlags"/>
1063                <type name="StdVideoH264ScalingLists"/>
1064                <type name="StdVideoH264SequenceParameterSet"/>
1065                <type name="StdVideoH264PpsFlags"/>
1066                <type name="StdVideoH264PictureParameterSet"/>
1067            </require>
1068        </extension>
1069        <extension name="vulkan_video_codec_h264std_decode" comment="protect with VULKAN_VIDEO_CODEC_H264STD_DECODE_H_" supported="vulkan">
1070            <require>
1071                <type name="vk_video/vulkan_video_codec_h264std.h"/>
1072
1073                <type name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0"/>
1074                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION"    value="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0"/>
1075                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME"  value="&quot;VK_STD_vulkan_video_codec_h264_decode&quot;"/>
1076
1077                <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE" value="2"/>
1078
1079                <type name="StdVideoDecodeH264FieldOrderCount"/>
1080                <type name="StdVideoDecodeH264PictureInfoFlags"/>
1081                <type name="StdVideoDecodeH264PictureInfo"/>
1082                <type name="StdVideoDecodeH264ReferenceInfoFlags"/>
1083                <type name="StdVideoDecodeH264ReferenceInfo"/>
1084            </require>
1085        </extension>
1086        <extension name="vulkan_video_codec_h264std_encode" comment="protect with VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_" supported="vulkan">
1087            <require>
1088                <type name="vk_video/vulkan_video_codec_h264std.h"/>
1089
1090                <type name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_9"/>
1091                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION"    value="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_9"/>
1092                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME"  value="&quot;VK_STD_vulkan_video_codec_h264_encode&quot;"/>
1093
1094                <type name="StdVideoEncodeH264WeightTableFlags"/>
1095                <type name="StdVideoEncodeH264WeightTable"/>
1096                <type name="StdVideoEncodeH264SliceHeaderFlags"/>
1097                <type name="StdVideoEncodeH264PictureInfoFlags"/>
1098                <type name="StdVideoEncodeH264ReferenceInfoFlags"/>
1099                <type name="StdVideoEncodeH264ReferenceListsInfoFlags"/>
1100                <type name="StdVideoEncodeH264ReferenceListsInfo"/>
1101                <type name="StdVideoEncodeH264RefListModEntry"/>
1102                <type name="StdVideoEncodeH264RefPicMarkingEntry"/>
1103                <type name="StdVideoEncodeH264PictureInfo"/>
1104                <type name="StdVideoEncodeH264ReferenceInfo"/>
1105                <type name="StdVideoEncodeH264SliceHeader"/>
1106            </require>
1107        </extension>
1108        <extension name="vulkan_video_codec_h265std" comment="protect with VULKAN_VIDEO_CODEC_H265STD_H_" supported="vulkan">
1109            <require>
1110                <type name="vk_video/vulkan_video_codecs_common.h"/>
1111
1112                <enum name="STD_VIDEO_H265_CPB_CNT_LIST_SIZE"                           value="32"/>
1113                <enum name="STD_VIDEO_H265_SUBLAYERS_LIST_SIZE"                         value="7"/>
1114                <enum name="STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS"                  value="6"/>
1115                <enum name="STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS"               value="16"/>
1116                <enum name="STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS"                  value="6"/>
1117                <enum name="STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS"               value="64"/>
1118                <enum name="STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS"                value="6"/>
1119                <enum name="STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS"             value="64"/>
1120                <enum name="STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS"                value="2"/>
1121                <enum name="STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS"             value="64"/>
1122                <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE"                  value="6"/>
1123                <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE"        value="19"/>
1124                <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE"        value="21"/>
1125                <enum name="STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE"      value="3"/>
1126                <enum name="STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE"    value="128"/>
1127                <enum name="STD_VIDEO_H265_MAX_NUM_LIST_REF"                            value="15"/>
1128                <enum name="STD_VIDEO_H265_MAX_CHROMA_PLANES"                           value="2"/>
1129                <enum name="STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS"                 value="64"/>
1130                <enum name="STD_VIDEO_H265_MAX_DPB_SIZE"                                value="16"/>
1131                <enum name="STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS"                  value="32"/>
1132                <enum name="STD_VIDEO_H265_MAX_LONG_TERM_PICS"                          value="16"/>
1133                <enum name="STD_VIDEO_H265_MAX_DELTA_POC"                               value="48"/>
1134
1135                <type name="StdVideoH265ChromaFormatIdc"/>
1136                <type name="StdVideoH265ProfileIdc"/>
1137                <type name="StdVideoH265LevelIdc"/>
1138                <type name="StdVideoH265SliceType"/>
1139                <type name="StdVideoH265PictureType"/>
1140                <type name="StdVideoH265AspectRatioIdc"/>
1141                <type name="StdVideoH265DecPicBufMgr"/>
1142                <type name="StdVideoH265SubLayerHrdParameters"/>
1143                <type name="StdVideoH265HrdFlags"/>
1144                <type name="StdVideoH265HrdParameters"/>
1145                <type name="StdVideoH265VpsFlags"/>
1146                <type name="StdVideoH265VideoParameterSet"/>
1147                <type name="StdVideoH265ScalingLists"/>
1148                <type name="StdVideoH265SpsVuiFlags"/>
1149                <type name="StdVideoH265SequenceParameterSetVui"/>
1150                <type name="StdVideoH265PredictorPaletteEntries"/>
1151                <type name="StdVideoH265SpsFlags"/>
1152                <type name="StdVideoH265SequenceParameterSet"/>
1153                <type name="StdVideoH265PpsFlags"/>
1154                <type name="StdVideoH265PictureParameterSet"/>
1155            </require>
1156        </extension>
1157        <extension name="vulkan_video_codec_h265std_decode" comment="protect with VULKAN_VIDEO_CODEC_H265STD_DECODE_H_" supported="vulkan">
1158            <require>
1159                <type name="vk_video/vulkan_video_codec_h265std.h"/>
1160
1161                <type name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0"/>
1162                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION"    value="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0"/>
1163                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME"  value="&quot;VK_STD_vulkan_video_codec_h265_decode&quot;"/>
1164
1165                <enum name="STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE"    value="8"/>
1166
1167                <type name="StdVideoDecodeH265PictureInfoFlags"/>
1168                <type name="StdVideoDecodeH265PictureInfo"/>
1169                <type name="StdVideoDecodeH265ReferenceInfoFlags"/>
1170                <type name="StdVideoDecodeH265ReferenceInfo"/>
1171            </require>
1172        </extension>
1173        <extension name="vulkan_video_codec_h265std_encode" comment="protect with VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_" supported="vulkan">
1174            <require>
1175                <type name="vk_video/vulkan_video_codec_h265std.h"/>
1176
1177                <type name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_10"/>
1178                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION"    value="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_10"/>
1179                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME"  value="&quot;VK_STD_vulkan_video_codec_h265_encode&quot;"/>
1180
1181                <type name="StdVideoEncodeH265WeightTableFlags"/>
1182                <type name="StdVideoEncodeH265WeightTable"/>
1183                <type name="StdVideoEncodeH265SliceSegmentHeaderFlags"/>
1184                <type name="StdVideoEncodeH265SliceSegmentHeader"/>
1185                <type name="StdVideoEncodeH265ReferenceListsInfoFlags"/>
1186                <type name="StdVideoEncodeH265ReferenceListsInfo"/>
1187                <type name="StdVideoEncodeH265PictureInfoFlags"/>
1188                <type name="StdVideoEncodeH265PictureInfo"/>
1189                <type name="StdVideoEncodeH265ReferenceInfoFlags"/>
1190                <type name="StdVideoEncodeH265ReferenceInfo"/>
1191            </require>
1192        </extension>
1193    </extensions>
1194</registry>
1195