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