<?xml version="1.0" encoding="UTF-8"?>
<registry>
    <comment>
Copyright 2021-2023 The Khronos Group Inc.
SPDX-License-Identifier: Apache-2.0 OR MIT
    </comment>

    <comment>
This file, video.xml, provides the machine readable definition of data
structures and enumerations that are related to the externally-provided
video compression standards.

The current public version of video.xml is maintained in the default branch
(currently named main) of the Khronos Vulkan GitHub project.
    </comment>

    <types comment="Video type definitions">
            <!-- base types -->
        <type name="stdint" category="include">#if !defined(VK_NO_STDINT_H)
    #include &lt;stdint.h&gt;
#endif</type>
        <type name="uint32_t" requires="stdint"/>
        <type name="uint16_t" requires="stdint"/>
        <type name="uint8_t" requires="stdint"/>
        <type name="int32_t" requires="stdint"/>
        <type name="int8_t" requires="stdint"/>

        <type category="include" name="vk_video/vulkan_video_codecs_common.h">#include "vulkan_video_codecs_common.h"</type>
        <type category="include" name="vk_video/vulkan_video_codec_h264std.h">#include "vulkan_video_codec_h264std.h"</type>
        <type category="include" name="vk_video/vulkan_video_codec_h265std.h">#include "vulkan_video_codec_h265std.h"</type>

            <!-- vulkan_video_codecs_common macros -->
        <type category="define">#define <name>VK_MAKE_VIDEO_STD_VERSION</name>(major, minor, patch) \
    ((((uint32_t)(major)) &lt;&lt; 22) | (((uint32_t)(minor)) &lt;&lt; 12) | ((uint32_t)(patch)))</type>

            <!-- vulkan_video_codec_h264std_decode.h macros -->
        <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">
#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>

            <!-- vulkan_video_codec_h264std_encode.h macros -->
        <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.264 encode std specification version number
#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>

            <!-- vulkan_video_codec_h265std_decode.h macros -->
        <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">
#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>

            <!-- vulkan_video_codec_h265std_encode.h macros -->
        <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.265 encode std specification version number
#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>

            <!-- vulkan_video_codec_h264std.h enumerated types -->
        <type name="StdVideoH264ChromaFormatIdc" category="enum"/>
        <type name="StdVideoH264ProfileIdc" category="enum"/>
        <type name="StdVideoH264LevelIdc" category="enum"/>
        <type name="StdVideoH264PocType" category="enum"/>
        <type name="StdVideoH264AspectRatioIdc" category="enum"/>
        <type name="StdVideoH264WeightedBipredIdc" category="enum"/>
        <type name="StdVideoH264ModificationOfPicNumsIdc" category="enum"/>
        <type name="StdVideoH264MemMgmtControlOp" category="enum"/>
        <type name="StdVideoH264CabacInitIdc" category="enum"/>
        <type name="StdVideoH264DisableDeblockingFilterIdc" category="enum"/>
        <type name="StdVideoH264SliceType" category="enum"/>
        <type name="StdVideoH264PictureType" category="enum"/>
        <type name="StdVideoH264NonVclNaluType" category="enum"/>

            <!-- vulkan_video_codec_h264std.h structs -->
        <type category="struct" name="StdVideoH264SpsVuiFlags">
            <member><type>uint32_t</type>                             <name>aspect_ratio_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>overscan_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>overscan_appropriate_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>video_signal_type_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>video_full_range_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>color_description_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>chroma_loc_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>timing_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>fixed_frame_rate_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>bitstream_restriction_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>nal_hrd_parameters_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>vcl_hrd_parameters_present_flag</name> : 1</member>
        </type>
        <type category="struct" name="StdVideoH264HrdParameters" comment="hrd_parameters">
            <member><type>uint8_t</type>                              <name>cpb_cnt_minus1</name></member>
            <member><type>uint8_t</type>                              <name>bit_rate_scale</name></member>
            <member><type>uint8_t</type>                              <name>cpb_size_scale</name></member>
            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <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>
            <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>
            <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>
            <member><type>uint32_t</type>                             <name>initial_cpb_removal_delay_length_minus1</name></member>
            <member><type>uint32_t</type>                             <name>cpb_removal_delay_length_minus1</name></member>
            <member><type>uint32_t</type>                             <name>dpb_output_delay_length_minus1</name></member>
            <member><type>uint32_t</type>                             <name>time_offset_length</name></member>
        </type>
        <type category="struct" name="StdVideoH264SequenceParameterSetVui">
            <member><type>StdVideoH264SpsVuiFlags</type>              <name>flags</name></member>
            <member><type>StdVideoH264AspectRatioIdc</type>           <name>aspect_ratio_idc</name></member>
            <member><type>uint16_t</type>                             <name>sar_width</name></member>
            <member><type>uint16_t</type>                             <name>sar_height</name></member>
            <member><type>uint8_t</type>                              <name>video_format</name></member>
            <member><type>uint8_t</type>                              <name>colour_primaries</name></member>
            <member><type>uint8_t</type>                              <name>transfer_characteristics</name></member>
            <member><type>uint8_t</type>                              <name>matrix_coefficients</name></member>
            <member><type>uint32_t</type>                             <name>num_units_in_tick</name></member>
            <member><type>uint32_t</type>                             <name>time_scale</name></member>
            <member><type>uint8_t</type>                              <name>max_num_reorder_frames</name></member>
            <member><type>uint8_t</type>                              <name>max_dec_frame_buffering</name></member>
            <member><type>uint8_t</type>                              <name>chroma_sample_loc_type_top_field</name></member>
            <member><type>uint8_t</type>                              <name>chroma_sample_loc_type_bottom_field</name></member>
            <member><type>uint32_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <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>
        </type>
        <type category="struct" name="StdVideoH264SpsFlags">
            <member><type>uint32_t</type>                             <name>constraint_set0_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>constraint_set1_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>constraint_set2_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>constraint_set3_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>constraint_set4_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>constraint_set5_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>direct_8x8_inference_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>mb_adaptive_frame_field_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>frame_mbs_only_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>delta_pic_order_always_zero_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>separate_colour_plane_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>gaps_in_frame_num_value_allowed_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>qpprime_y_zero_transform_bypass_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>frame_cropping_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>seq_scaling_matrix_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>vui_parameters_present_flag</name> : 1</member>
        </type>
        <type category="struct" name="StdVideoH264ScalingLists">
            <comment>
                scaling_list_present_mask has one bit for each
                seq_scaling_list_present_flag[i] for SPS OR
                pic_scaling_list_present_flag[i] for PPS,
                bit 0 - 5 are for each entry of ScalingList4x4
                bit 6 - 11 are for each entry plus 6 for ScalingList8x8
            </comment>
            <member><type>uint16_t</type>                             <name>scaling_list_present_mask</name></member>
            <comment>
                use_default_scaling_matrix_mask has one bit for each
                UseDefaultScalingMatrix4x4Flag[ i ] and
                UseDefaultScalingMatrix8x8Flag[ i - 6 ] for SPS OR PPS
                bit 0 - 5 are for each entry of ScalingList4x4
                bit 6 - 11 are for each entry plus 6 for ScalingList8x8
            </comment>
            <member><type>uint16_t</type>                             <name>use_default_scaling_matrix_mask</name></member>
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoH264SequenceParameterSet">
            <member><type>StdVideoH264SpsFlags</type>                 <name>flags</name></member>
            <member><type>StdVideoH264ProfileIdc</type>               <name>profile_idc</name></member>
            <member><type>StdVideoH264LevelIdc</type>                 <name>level_idc</name></member>
            <member><type>StdVideoH264ChromaFormatIdc</type>          <name>chroma_format_idc</name></member>
            <member><type>uint8_t</type>                              <name>seq_parameter_set_id</name></member>
            <member><type>uint8_t</type>                              <name>bit_depth_luma_minus8</name></member>
            <member><type>uint8_t</type>                              <name>bit_depth_chroma_minus8</name></member>
            <member><type>uint8_t</type>                              <name>log2_max_frame_num_minus4</name></member>
            <member><type>StdVideoH264PocType</type>                  <name>pic_order_cnt_type</name></member>
            <member><type>int32_t</type>                              <name>offset_for_non_ref_pic</name></member>
            <member><type>int32_t</type>                              <name>offset_for_top_to_bottom_field</name></member>
            <member><type>uint8_t</type>                              <name>log2_max_pic_order_cnt_lsb_minus4</name></member>
            <member><type>uint8_t</type>                              <name>num_ref_frames_in_pic_order_cnt_cycle</name></member>
            <member><type>uint8_t</type>                              <name>max_num_ref_frames</name></member>
            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint32_t</type>                             <name>pic_width_in_mbs_minus1</name></member>
            <member><type>uint32_t</type>                             <name>pic_height_in_map_units_minus1</name></member>
            <member><type>uint32_t</type>                             <name>frame_crop_left_offset</name></member>
            <member><type>uint32_t</type>                             <name>frame_crop_right_offset</name></member>
            <member><type>uint32_t</type>                             <name>frame_crop_top_offset</name></member>
            <member><type>uint32_t</type>                             <name>frame_crop_bottom_offset</name></member>
            <member><type>uint32_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <comment>
                pOffsetForRefFrame is a pointer representing the offset_for_ref_frame array with num_ref_frames_in_pic_order_cnt_cycle number of elements.
                If pOffsetForRefFrame has nullptr value, then num_ref_frames_in_pic_order_cnt_cycle must also be "0".
            </comment>
            <member>const <type>int32_t</type>*                             <name>pOffsetForRefFrame</name></member>
            <member>const <type>StdVideoH264ScalingLists</type>*            <name>pScalingLists</name><comment>Must be a valid pointer if seq_scaling_matrix_present_flag is set</comment></member>
            <member>const <type>StdVideoH264SequenceParameterSetVui</type>* <name>pSequenceParameterSetVui</name><comment>Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set</comment></member>
        </type>
        <type category="struct" name="StdVideoH264PpsFlags">
            <member><type>uint32_t</type>                             <name>transform_8x8_mode_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>redundant_pic_cnt_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>constrained_intra_pred_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>deblocking_filter_control_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>weighted_pred_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>bottom_field_pic_order_in_frame_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>entropy_coding_mode_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>pic_scaling_matrix_present_flag</name> : 1</member>
        </type>
        <type category="struct" name="StdVideoH264PictureParameterSet">
            <member><type>StdVideoH264PpsFlags</type>                 <name>flags</name></member>
            <member><type>uint8_t</type>                              <name>seq_parameter_set_id</name></member>
            <member><type>uint8_t</type>                              <name>pic_parameter_set_id</name></member>
            <member><type>uint8_t</type>                              <name>num_ref_idx_l0_default_active_minus1</name></member>
            <member><type>uint8_t</type>                              <name>num_ref_idx_l1_default_active_minus1</name></member>
            <member><type>StdVideoH264WeightedBipredIdc</type>        <name>weighted_bipred_idc</name></member>
            <member><type>int8_t</type>                               <name>pic_init_qp_minus26</name></member>
            <member><type>int8_t</type>                               <name>pic_init_qs_minus26</name></member>
            <member><type>int8_t</type>                               <name>chroma_qp_index_offset</name></member>
            <member><type>int8_t</type>                               <name>second_chroma_qp_index_offset</name></member>
            <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>
        </type>

            <!-- vulkan_video_codec_h264std_decode.h enumerated types -->
        <type name="StdVideoDecodeH264FieldOrderCount" category="enum"/>

            <!-- vulkan_video_codec_h264std_decode.h structs -->
        <type category="struct" name="StdVideoDecodeH264PictureInfoFlags">
            <member><type>uint32_t</type>                             <name>field_pic_flag</name> : 1<comment>Is field picture</comment></member>
            <member><type>uint32_t</type>                             <name>is_intra</name> : 1<comment>Is intra picture</comment></member>
            <member><type>uint32_t</type>                             <name>IdrPicFlag</name> : 1<comment>instantaneous decoding refresh (IDR) picture</comment></member>
            <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>
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoDecodeH264PictureInfo" requires="StdVideoDecodeH264FieldOrderCount" comment="requires tag is for PicOrderCnt, which needs the enum type">
            <member><type>StdVideoDecodeH264PictureInfoFlags</type>   <name>flags</name></member>
            <member><type>uint8_t</type>                              <name>seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
            <member><type>uint8_t</type>                              <name>pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member>
            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint16_t</type>                             <name>frame_num</name><comment>7.4.3 Slice header semantics</comment></member>
            <member><type>uint16_t</type>                             <name>idr_pic_id</name><comment>7.4.3 Slice header semantics</comment></member>
            <comment>
                PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2
            </comment>
            <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>
        </type>
        <type category="struct" name="StdVideoDecodeH264ReferenceInfoFlags">
            <member><type>uint32_t</type>                             <name>top_field_flag</name> : 1<comment>Reference is used for top field reference.</comment></member>
            <member><type>uint32_t</type>                             <name>bottom_field_flag</name> : 1<comment>Reference is used for bottom field reference.</comment></member>
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoDecodeH264ReferenceInfo">
            <member><type>StdVideoDecodeH264ReferenceInfoFlags</type> <name>flags</name></member>
            <comment>
                FrameNum = used_for_long_term_reference ?  long_term_frame_idx : frame_num
            </comment>
            <member><type>uint16_t</type>                             <name>FrameNum</name><comment>7.4.3.3 Decoded reference picture marking semantics</comment></member>
            <member><type>uint16_t</type>                             <name>reserved</name><comment>for structure members 32-bit packing/alignment</comment></member>
            <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>
        </type>

            <!-- vulkan_video_codec_h264std_encode.h structs -->
        <type category="struct" name="StdVideoEncodeH264WeightTableFlags">
            <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>
            <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>
            <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>
            <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>
        </type>

       <type category="struct" name="StdVideoEncodeH264WeightTable">
            <comment>
                StdVideoEncodeH264WeightTable corresponds to the values produced by pred_weight_table() for the h.264 specification.
                For details, refer to weighted_pred_flag, weighted_bipred_idc, pre_pred_weight_table_src and pred_weight_table().
            </comment>
            <member><type>StdVideoEncodeH264WeightTableFlags</type> <name>flags</name><comment></comment></member>
            <member><type>uint8_t</type>                            <name>luma_log2_weight_denom</name><comment></comment></member>
            <member><type>uint8_t</type>                            <name>chroma_log2_weight_denom</name><comment></comment></member>
            <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>
            <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>
            <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>
            <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>
            <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>
            <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>
            <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>
            <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>
        </type>

        <type category="struct" name="StdVideoEncodeH264SliceHeaderFlags">
            <member><type>uint32_t</type>                             <name>direct_spatial_mv_pred_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>num_ref_idx_active_override_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>reserved</name> : 30</member>
        </type>
        <type category="struct" name="StdVideoEncodeH264PictureInfoFlags">
            <member><type>uint32_t</type>                             <name>IdrPicFlag</name> : 1</member>
            <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>
            <member><type>uint32_t</type>                             <name>no_output_of_prior_pics_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>long_term_reference_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>adaptive_ref_pic_marking_mode_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>reserved</name> : 27</member>
        </type>
        <type category="struct" name="StdVideoEncodeH264ReferenceInfoFlags">
            <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>
            <member><type>uint32_t</type>                             <name>reserved</name> : 31</member>
        </type>
        <type category="struct" name="StdVideoEncodeH264ReferenceListsInfoFlags">
            <member><type>uint32_t</type>                             <name>ref_pic_list_modification_flag_l0</name> : 1</member>
            <member><type>uint32_t</type>                             <name>ref_pic_list_modification_flag_l1</name> : 1</member>
            <member><type>uint32_t</type>                             <name>reserved</name> : 30</member>
        </type>
        <type category="struct" name="StdVideoEncodeH264RefListModEntry">
            <member><type>StdVideoH264ModificationOfPicNumsIdc</type> <name>modification_of_pic_nums_idc</name></member>
            <member><type>uint16_t</type>                             <name>abs_diff_pic_num_minus1</name></member>
            <member><type>uint16_t</type>                             <name>long_term_pic_num</name></member>
        </type>
        <type category="struct" name="StdVideoEncodeH264RefPicMarkingEntry">
            <member><type>StdVideoH264MemMgmtControlOp</type>         <name>memory_management_control_operation</name></member>
            <member><type>uint16_t</type>                             <name>difference_of_pic_nums_minus1</name></member>
            <member><type>uint16_t</type>                             <name>long_term_pic_num</name></member>
            <member><type>uint16_t</type>                             <name>long_term_frame_idx</name></member>
            <member><type>uint16_t</type>                             <name>max_long_term_frame_idx_plus1</name></member>
        </type>
        <type category="struct" name="StdVideoEncodeH264ReferenceListsInfo">
            <member><type>StdVideoEncodeH264ReferenceListsInfoFlags</type>   <name>flags</name></member>
            <member><type>uint8_t</type>                                     <name>num_ref_idx_l0_active_minus1</name></member>
            <member><type>uint8_t</type>                                     <name>num_ref_idx_l1_active_minus1</name></member>
            <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>
            <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>
            <member><type>uint8_t</type>                                     <name>refList0ModOpCount</name></member>
            <member><type>uint8_t</type>                                     <name>refList1ModOpCount</name></member>
            <member><type>uint8_t</type>                                     <name>refPicMarkingOpCount</name></member>
            <member><type>uint8_t</type>                                     <name>reserved1</name>[7]<comment>Reserved for future use and must be initialized with 0.</comment></member>
            <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>
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoEncodeH264PictureInfo">
            <member><type>StdVideoEncodeH264PictureInfoFlags</type>   <name>flags</name></member>
            <member><type>uint8_t</type>                              <name>seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
            <member><type>uint8_t</type>                              <name>pic_parameter_set_id</name><comment>Selecting PPS from the Picture Parameters for all StdVideoEncodeH264SliceHeader(s)</comment></member>
            <member><type>uint16_t</type>                             <name>idr_pic_id</name></member>
            <member><type>StdVideoH264PictureType</type>              <name>primary_pic_type</name></member>
            <member><type>uint32_t</type>                             <name>frame_num</name></member>
            <member><type>int32_t</type>                              <name>PicOrderCnt</name><comment>Picture order count, as defined in 8.2</comment></member>
            <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>
            <member><type>uint8_t</type>                              <name>reserved1</name>[3]<comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member>const <type>StdVideoEncodeH264ReferenceListsInfo</type>* <name>pRefLists</name></member>
        </type>
        <type category="struct" name="StdVideoEncodeH264ReferenceInfo">
            <member><type>StdVideoEncodeH264ReferenceInfoFlags</type> <name>flags</name></member>
            <member><type>StdVideoH264PictureType</type>              <name>primary_pic_type</name></member>
            <member><type>uint32_t</type>                             <name>FrameNum</name><comment>Frame number, as defined in 8.2</comment></member>
            <member><type>int32_t</type>                              <name>PicOrderCnt</name><comment>Picture order count, as defined in 8.2</comment></member>
            <member><type>uint16_t</type>                             <name>long_term_pic_num</name></member>
            <member><type>uint16_t</type>                             <name>long_term_frame_idx</name></member>
            <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>
        </type>
        <type category="struct" name="StdVideoEncodeH264SliceHeader">
            <member><type>StdVideoEncodeH264SliceHeaderFlags</type>   <name>flags</name></member>
            <member><type>uint32_t</type>                             <name>first_mb_in_slice</name></member>
            <member><type>StdVideoH264SliceType</type>                <name>slice_type</name></member>
            <member><type>int8_t</type>                               <name>slice_alpha_c0_offset_div2</name></member>
            <member><type>int8_t</type>                               <name>slice_beta_offset_div2</name></member>
            <member><type>int8_t</type>                               <name>slice_qp_delta</name></member>
            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>StdVideoH264CabacInitIdc</type>             <name>cabac_init_idc</name></member>
            <member><type>StdVideoH264DisableDeblockingFilterIdc</type> <name>disable_deblocking_filter_idc</name></member>
            <member>const <type>StdVideoEncodeH264WeightTable</type>* <name>pWeightTable</name><comment></comment></member>
        </type>

            <!-- vulkan_video_codec_h265std.h enumerated types -->
        <type name="StdVideoH265ChromaFormatIdc" category="enum"/>
        <type name="StdVideoH265ProfileIdc" category="enum"/>
        <type name="StdVideoH265LevelIdc" category="enum"/>
        <type name="StdVideoH265SliceType" category="enum"/>
        <type name="StdVideoH265PictureType" category="enum"/>
        <type name="StdVideoH265AspectRatioIdc" category="enum"/>

            <!-- vulkan_video_codec_h265std.h structs -->
        <type category="struct" name="StdVideoH265ProfileTierLevelFlags">
            <member><type>uint32_t</type>                             <name>general_tier_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>general_progressive_source_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>general_interlaced_source_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>general_non_packed_constraint_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>general_frame_only_constraint_flag</name> : 1</member>
        </type>
        <type category="struct" name="StdVideoH265ProfileTierLevel" comment="profile_tier_level">
            <member><type>StdVideoH265ProfileTierLevelFlags</type>    <name>flags</name></member>
            <member><type>StdVideoH265ProfileIdc</type>               <name>general_profile_idc</name></member>
            <member><type>StdVideoH265LevelIdc</type>                 <name>general_level_idc</name></member>
        </type>
        <type category="struct" name="StdVideoH265DecPicBufMgr" comment="sps_ or vps_ parameters, based on if the StdVideoH265DecPicBufMgr is used within the StdVideoH265SequenceParameterSet or StdVideoH265VideoParameterSet">
            <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>
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoH265SubLayerHrdParameters" comment="sub_layer_hrd_parameters">
            <member><type>uint32_t</type>                             <name>bit_rate_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
            <member><type>uint32_t</type>                             <name>cpb_size_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
            <member><type>uint32_t</type>                             <name>cpb_size_du_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
            <member><type>uint32_t</type>                             <name>bit_rate_du_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member>
            <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>
        </type>
        <type category="struct" name="StdVideoH265HrdFlags">
            <member><type>uint32_t</type>                             <name>nal_hrd_parameters_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>vcl_hrd_parameters_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>sub_pic_hrd_params_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>sub_pic_cpb_params_in_pic_timing_sei_flag</name> : 1</member>
            <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>
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoH265HrdParameters">
            <member><type>StdVideoH265HrdFlags</type>                       <name>flags</name></member>
            <member><type>uint8_t</type>                                    <name>tick_divisor_minus2</name></member>
            <member><type>uint8_t</type>                                    <name>du_cpb_removal_delay_increment_length_minus1</name></member>
            <member><type>uint8_t</type>                                    <name>dpb_output_delay_du_length_minus1</name></member>
            <member><type>uint8_t</type>                                    <name>bit_rate_scale</name></member>
            <member><type>uint8_t</type>                                    <name>cpb_size_scale</name></member>
            <member><type>uint8_t</type>                                    <name>cpb_size_du_scale</name></member>
            <member><type>uint8_t</type>                                    <name>initial_cpb_removal_delay_length_minus1</name></member>
            <member><type>uint8_t</type>                                    <name>au_cpb_removal_delay_length_minus1</name></member>
            <member><type>uint8_t</type>                                    <name>dpb_output_delay_length_minus1</name></member>
            <member><type>uint8_t</type>                                    <name>cpb_cnt_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_LIST_SIZE</enum>]</member>
            <member><type>uint16_t</type>                                   <name>elemental_duration_in_tc_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_LIST_SIZE</enum>]</member>
            <member><type>uint16_t</type>                                   <name>reserved</name>[3]<comment>Reserved for future use and must be initialized with 0.</comment></member>
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoH265VpsFlags">
            <member><type>uint32_t</type>                             <name>vps_temporal_id_nesting_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>vps_sub_layer_ordering_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>vps_timing_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>vps_poc_proportional_to_timing_flag</name> : 1</member>
        </type>
        <type category="struct" name="StdVideoH265VideoParameterSet">
            <member><type>StdVideoH265VpsFlags</type>                 <name>flags</name></member>
            <member><type>uint8_t</type>                              <name>vps_video_parameter_set_id</name></member>
            <member><type>uint8_t</type>                              <name>vps_max_sub_layers_minus1</name></member>
            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint32_t</type>                             <name>vps_num_units_in_tick</name></member>
            <member><type>uint32_t</type>                             <name>vps_time_scale</name></member>
            <member><type>uint32_t</type>                             <name>vps_num_ticks_poc_diff_one_minus1</name></member>
            <member><type>uint32_t</type>                             <name>reserved3</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member>const <type>StdVideoH265DecPicBufMgr</type>*      <name>pDecPicBufMgr</name></member>
            <member>const <type>StdVideoH265HrdParameters</type>*     <name>pHrdParameters</name></member>
            <member>const <type>StdVideoH265ProfileTierLevel</type>*  <name>pProfileTierLevel</name></member>
        </type>
        <type category="struct" name="StdVideoH265ScalingLists">
            <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>
            <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>
            <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>
            <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>
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoH265ShortTermRefPicSetFlags">
            <member><type>uint32_t</type>                             <name>inter_ref_pic_set_prediction_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>delta_rps_sign</name> : 1</member>
        </type>
        <type category="struct" name="StdVideoH265ShortTermRefPicSet">
            <member><type>StdVideoH265ShortTermRefPicSetFlags</type>  <name>flags</name></member>
            <member><type>uint32_t</type>                             <name>delta_idx_minus1</name></member>
            <member><type>uint16_t</type>                             <name>use_delta_flag</name><comment>each bit represents a use_delta_flag[j] syntax</comment></member>
            <member><type>uint16_t</type>                             <name>abs_delta_rps_minus1</name></member>
            <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>
            <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>
            <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>
            <member><type>uint16_t</type>                             <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint8_t</type>                              <name>reserved3</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint8_t</type>                              <name>num_negative_pics</name></member>
            <member><type>uint8_t</type>                              <name>num_positive_pics</name></member>
            <member><type>uint16_t</type>                             <name>delta_poc_s0_minus1</name>[<enum>STD_VIDEO_H265_MAX_DPB_SIZE</enum>]</member>
            <member><type>uint16_t</type>                             <name>delta_poc_s1_minus1</name>[<enum>STD_VIDEO_H265_MAX_DPB_SIZE</enum>]</member>
        </type>
        <type category="struct" name="StdVideoH265LongTermRefPicsSps">
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoH265SpsVuiFlags">
            <member><type>uint32_t</type>                             <name>aspect_ratio_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>overscan_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>overscan_appropriate_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>video_signal_type_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>video_full_range_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>colour_description_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>chroma_loc_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>neutral_chroma_indication_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>field_seq_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>frame_field_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>default_display_window_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>vui_timing_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>vui_poc_proportional_to_timing_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>vui_hrd_parameters_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>bitstream_restriction_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>tiles_fixed_structure_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>motion_vectors_over_pic_boundaries_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>restricted_ref_pic_lists_flag</name> : 1</member>
        </type>
        <type category="struct" name="StdVideoH265SequenceParameterSetVui">
            <member><type>StdVideoH265SpsVuiFlags</type>              <name>flags</name></member>
            <member><type>StdVideoH265AspectRatioIdc</type>           <name>aspect_ratio_idc</name></member>
            <member><type>uint16_t</type>                             <name>sar_width</name></member>
            <member><type>uint16_t</type>                             <name>sar_height</name></member>
            <member><type>uint8_t</type>                              <name>video_format</name></member>
            <member><type>uint8_t</type>                              <name>colour_primaries</name></member>
            <member><type>uint8_t</type>                              <name>transfer_characteristics</name></member>
            <member><type>uint8_t</type>                              <name>matrix_coeffs</name></member>
            <member><type>uint8_t</type>                              <name>chroma_sample_loc_type_top_field</name></member>
            <member><type>uint8_t</type>                              <name>chroma_sample_loc_type_bottom_field</name></member>
            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint16_t</type>                             <name>def_disp_win_left_offset</name></member>
            <member><type>uint16_t</type>                             <name>def_disp_win_right_offset</name></member>
            <member><type>uint16_t</type>                             <name>def_disp_win_top_offset</name></member>
            <member><type>uint16_t</type>                             <name>def_disp_win_bottom_offset</name></member>
            <member><type>uint32_t</type>                             <name>vui_num_units_in_tick</name></member>
            <member><type>uint32_t</type>                             <name>vui_time_scale</name></member>
            <member><type>uint32_t</type>                             <name>vui_num_ticks_poc_diff_one_minus1</name></member>
            <member><type>uint16_t</type>                             <name>min_spatial_segmentation_idc</name></member>
            <member><type>uint16_t</type>                             <name>reserved3</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint8_t</type>                              <name>max_bytes_per_pic_denom</name></member>
            <member><type>uint8_t</type>                              <name>max_bits_per_min_cu_denom</name></member>
            <member><type>uint8_t</type>                              <name>log2_max_mv_length_horizontal</name></member>
            <member><type>uint8_t</type>                              <name>log2_max_mv_length_vertical</name></member>
            <member>const <type>StdVideoH265HrdParameters</type>*     <name>pHrdParameters</name></member>
        </type>
        <type category="struct" name="StdVideoH265PredictorPaletteEntries">
            <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>
        </type>
        <type category="struct" name="StdVideoH265SpsFlags">
            <member><type>uint32_t</type>                             <name>sps_temporal_id_nesting_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>separate_colour_plane_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>conformance_window_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>sps_sub_layer_ordering_info_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>scaling_list_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>sps_scaling_list_data_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>amp_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>sample_adaptive_offset_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>pcm_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>pcm_loop_filter_disabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>long_term_ref_pics_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>sps_temporal_mvp_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>strong_intra_smoothing_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>vui_parameters_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>sps_extension_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>sps_range_extension_flag</name> : 1</member>
            <comment>
                extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
            </comment>
            <member><type>uint32_t</type>                             <name>transform_skip_rotation_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>transform_skip_context_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>implicit_rdpcm_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>explicit_rdpcm_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>extended_precision_processing_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>intra_smoothing_disabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>high_precision_offsets_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>persistent_rice_adaptation_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>cabac_bypass_alignment_enabled_flag</name> : 1</member>
            <comment>
                extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
            </comment>
            <member><type>uint32_t</type>                             <name>sps_scc_extension_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>sps_curr_pic_ref_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>palette_mode_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>sps_palette_predictor_initializers_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>intra_boundary_filtering_disabled_flag</name> : 1</member>
        </type>
        <type category="struct" name="StdVideoH265SequenceParameterSet">
            <member><type>StdVideoH265SpsFlags</type>                 <name>flags</name></member>
            <member><type>StdVideoH265ChromaFormatIdc</type>          <name>chroma_format_idc</name></member>
            <member><type>uint32_t</type>                             <name>pic_width_in_luma_samples</name></member>
            <member><type>uint32_t</type>                             <name>pic_height_in_luma_samples</name></member>
            <member><type>uint8_t</type>                              <name>sps_video_parameter_set_id</name></member>
            <member><type>uint8_t</type>                              <name>sps_max_sub_layers_minus1</name></member>
            <member><type>uint8_t</type>                              <name>sps_seq_parameter_set_id</name></member>
            <member><type>uint8_t</type>                              <name>bit_depth_luma_minus8</name></member>
            <member><type>uint8_t</type>                              <name>bit_depth_chroma_minus8</name></member>
            <member><type>uint8_t</type>                              <name>log2_max_pic_order_cnt_lsb_minus4</name></member>
            <member><type>uint8_t</type>                              <name>log2_min_luma_coding_block_size_minus3</name></member>
            <member><type>uint8_t</type>                              <name>log2_diff_max_min_luma_coding_block_size</name></member>
            <member><type>uint8_t</type>                              <name>log2_min_luma_transform_block_size_minus2</name></member>
            <member><type>uint8_t</type>                              <name>log2_diff_max_min_luma_transform_block_size</name></member>
            <member><type>uint8_t</type>                              <name>max_transform_hierarchy_depth_inter</name></member>
            <member><type>uint8_t</type>                              <name>max_transform_hierarchy_depth_intra</name></member>
            <member><type>uint8_t</type>                              <name>num_short_term_ref_pic_sets</name></member>
            <member><type>uint8_t</type>                              <name>num_long_term_ref_pics_sps</name></member>
            <member><type>uint8_t</type>                              <name>pcm_sample_bit_depth_luma_minus1</name></member>
            <member><type>uint8_t</type>                              <name>pcm_sample_bit_depth_chroma_minus1</name></member>
            <member><type>uint8_t</type>                              <name>log2_min_pcm_luma_coding_block_size_minus3</name></member>
            <member><type>uint8_t</type>                              <name>log2_diff_max_min_pcm_luma_coding_block_size</name></member>
            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <comment>
                Start extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
            </comment>
            <member><type>uint8_t</type>                              <name>palette_max_size</name></member>
            <member><type>uint8_t</type>                              <name>delta_palette_max_predictor_size</name></member>
            <member><type>uint8_t</type>                              <name>motion_vector_resolution_control_idc</name></member>
            <member><type>uint8_t</type>                              <name>sps_num_palette_predictor_initializers_minus1</name></member>
            <comment>
                End extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
            </comment>
            <member><type>uint32_t</type>                             <name>conf_win_left_offset</name></member>
            <member><type>uint32_t</type>                             <name>conf_win_right_offset</name></member>
            <member><type>uint32_t</type>                             <name>conf_win_top_offset</name></member>
            <member><type>uint32_t</type>                             <name>conf_win_bottom_offset</name></member>
            <member>const <type>StdVideoH265ProfileTierLevel</type>*  <name>pProfileTierLevel</name></member>
            <member>const <type>StdVideoH265DecPicBufMgr</type>*      <name>pDecPicBufMgr</name></member>
            <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>
            <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>
            <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>
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoH265PpsFlags">
            <member><type>uint32_t</type>                             <name>dependent_slice_segments_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>output_flag_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>sign_data_hiding_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>cabac_init_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>constrained_intra_pred_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>transform_skip_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>cu_qp_delta_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>pps_slice_chroma_qp_offsets_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>weighted_pred_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>weighted_bipred_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>transquant_bypass_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>tiles_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>entropy_coding_sync_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>uniform_spacing_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>loop_filter_across_tiles_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>pps_loop_filter_across_slices_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>deblocking_filter_control_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>deblocking_filter_override_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>pps_deblocking_filter_disabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>pps_scaling_list_data_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>lists_modification_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>slice_segment_header_extension_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>pps_extension_present_flag</name> : 1</member>
            <comment>
                extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
            </comment>
            <member><type>uint32_t</type>                             <name>cross_component_prediction_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>chroma_qp_offset_list_enabled_flag</name> : 1</member>
            <comment>
                extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
            </comment>
            <member><type>uint32_t</type>                             <name>pps_curr_pic_ref_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>residual_adaptive_colour_transform_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>pps_slice_act_qp_offsets_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>pps_palette_predictor_initializers_present_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>monochrome_palette_flag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>pps_range_extension_flag</name> : 1</member>
        </type>
        <type category="struct" name="StdVideoH265PictureParameterSet">
            <member><type>StdVideoH265PpsFlags</type>                 <name>flags</name></member>
            <member><type>uint8_t</type>                              <name>pps_pic_parameter_set_id</name></member>
            <member><type>uint8_t</type>                              <name>pps_seq_parameter_set_id</name></member>
            <member><type>uint8_t</type>                              <name>sps_video_parameter_set_id</name></member>
            <member><type>uint8_t</type>                              <name>num_extra_slice_header_bits</name></member>
            <member><type>uint8_t</type>                              <name>num_ref_idx_l0_default_active_minus1</name></member>
            <member><type>uint8_t</type>                              <name>num_ref_idx_l1_default_active_minus1</name></member>
            <member><type>int8_t</type>                               <name>init_qp_minus26</name></member>
            <member><type>uint8_t</type>                              <name>diff_cu_qp_delta_depth</name></member>
            <member><type>int8_t</type>                               <name>pps_cb_qp_offset</name></member>
            <member><type>int8_t</type>                               <name>pps_cr_qp_offset</name></member>
            <member><type>int8_t</type>                               <name>pps_beta_offset_div2</name></member>
            <member><type>int8_t</type>                               <name>pps_tc_offset_div2</name></member>
            <member><type>uint8_t</type>                              <name>log2_parallel_merge_level_minus2</name></member>
            <comment>
                extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set
            </comment>
            <member><type>uint8_t</type>                              <name>log2_max_transform_skip_block_size_minus2</name></member>
            <member><type>uint8_t</type>                              <name>diff_cu_chroma_qp_offset_depth</name></member>
            <member><type>uint8_t</type>                              <name>chroma_qp_offset_list_len_minus1</name></member>
            <member><type>int8_t</type>                               <name>cb_qp_offset_list</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE</enum>]</member>
            <member><type>int8_t</type>                               <name>cr_qp_offset_list</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE</enum>]</member>
            <member><type>uint8_t</type>                              <name>log2_sao_offset_scale_luma</name></member>
            <member><type>uint8_t</type>                              <name>log2_sao_offset_scale_chroma</name></member>
            <comment>
                extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set
            </comment>
            <member><type>int8_t</type>                               <name>pps_act_y_qp_offset_plus5</name></member>
            <member><type>int8_t</type>                               <name>pps_act_cb_qp_offset_plus5</name></member>
            <member><type>int8_t</type>                               <name>pps_act_cr_qp_offset_plus3</name></member>
            <member><type>uint8_t</type>                              <name>pps_num_palette_predictor_initializers</name></member>
            <member><type>uint8_t</type>                              <name>luma_bit_depth_entry_minus8</name></member>
            <member><type>uint8_t</type>                              <name>chroma_bit_depth_entry_minus8</name></member>
            <member><type>uint8_t</type>                              <name>num_tile_columns_minus1</name></member>
            <member><type>uint8_t</type>                              <name>num_tile_rows_minus1</name></member>
            <member><type>uint8_t</type>                              <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint8_t</type>                              <name>reserved2</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member><type>uint16_t</type>                             <name>column_width_minus1</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE</enum>]</member>
            <member><type>uint16_t</type>                             <name>row_height_minus1</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE</enum>]</member>
            <member><type>uint32_t</type>                             <name>reserved3</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <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>
            <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>
        </type>

            <!-- vulkan_video_codec_h265std_decode.h structs -->
        <type category="struct" name="StdVideoDecodeH265PictureInfoFlags">
            <member><type>uint32_t</type>                             <name>IrapPicFlag</name> : 1</member>
            <member><type>uint32_t</type>                             <name>IdrPicFlag</name>  : 1</member>
            <member><type>uint32_t</type>                             <name>IsReference</name> : 1</member>
            <member><type>uint32_t</type>                             <name>short_term_ref_pic_set_sps_flag</name> : 1</member>
        </type>
        <type category="struct" name="StdVideoDecodeH265PictureInfo">
            <member><type>StdVideoDecodeH265PictureInfoFlags</type>   <name>flags</name></member>
            <member><type>uint8_t</type>                              <name>sps_video_parameter_set_id</name><comment>Selecting VPS id from the Video Parameters Set</comment></member>
            <member><type>uint8_t</type>                              <name>pps_seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
            <member><type>uint8_t</type>                              <name>pps_pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member>
            <member><type>uint8_t</type>                              <name>NumDeltaPocsOfRefRpsIdx</name><comment>NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0</comment></member>
            <member><type>int32_t</type>                              <name>PicOrderCntVal</name></member>
            <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>
            <member><type>uint16_t</type>                             <name>reserved</name></member>
            <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>
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoDecodeH265ReferenceInfoFlags">
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoDecodeH265ReferenceInfo">
            <member><type>StdVideoDecodeH265ReferenceInfoFlags</type> <name>flags</name></member>
            <member><type>int32_t</type>                              <name>PicOrderCntVal</name></member>
        </type>

        <!-- vulkan_video_codec_h265std_encode.h structs -->
        <type category="struct" name="StdVideoEncodeH265WeightTableFlags">
            <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>
            <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>
            <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>
            <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>
        </type>

        <type category="struct" name="StdVideoEncodeH265WeightTable">
            <comment>
                StdVideoEncodeH265WeightTable corresponds to the values produced by pred_weight_table() for the h.265 specification.
                For details, refer to weighted_pred_flag, weighted_bipred_flag and pred_weight_table().
            </comment>
            <member><type>StdVideoEncodeH265WeightTableFlags</type>  <name>flags</name></member>
            <member><type>uint8_t</type>                             <name>luma_log2_weight_denom</name><comment>[0, 7]</comment></member>
            <member><type>int8_t</type>                              <name>delta_chroma_log2_weight_denom</name></member>
            <member><type>int8_t</type>                              <name>delta_luma_weight_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment>comment</comment></member>
            <member><type>int8_t</type>                              <name>luma_offset_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment>comment</comment></member>
            <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>
            <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>
            <member><type>int8_t</type>                              <name>delta_luma_weight_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment> </comment></member>
            <member><type>int8_t</type>                              <name>luma_offset_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment> </comment></member>
            <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>
            <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>
        </type>

        <type category="struct" name="StdVideoEncodeH265LongTermRefPics">
            <member><type>uint8_t</type>                              <name>num_long_term_sps</name></member>
            <member><type>uint8_t</type>                              <name>num_long_term_pics</name></member>
            <member><type>uint8_t</type>                              <name>lt_idx_sps</name>[<enum>STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS</enum>]</member>
            <member><type>uint8_t</type>                              <name>poc_lsb_lt</name>[<enum>STD_VIDEO_H265_MAX_LONG_TERM_PICS</enum>]</member>
            <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>
            <member><type>uint8_t</type>                              <name>delta_poc_msb_present_flag</name>[<enum>STD_VIDEO_H265_MAX_DELTA_POC</enum>]</member>
            <member><type>uint8_t</type>                              <name>delta_poc_msb_cycle_lt</name>[<enum>STD_VIDEO_H265_MAX_DELTA_POC</enum>]</member>
        </type>

        <type category="struct" name="StdVideoEncodeH265SliceSegmentHeaderFlags">
            <member><type>uint32_t</type>  <name>first_slice_segment_in_pic_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>dependent_slice_segment_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>slice_sao_luma_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>slice_sao_chroma_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>num_ref_idx_active_override_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>mvd_l1_zero_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>cabac_init_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>cu_chroma_qp_offset_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>deblocking_filter_override_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>slice_deblocking_filter_disabled_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>collocated_from_l0_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>slice_loop_filter_across_slices_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>reserved</name> : 20</member>
        </type>
        <type category="struct" name="StdVideoEncodeH265SliceSegmentHeader">
            <member><type>StdVideoEncodeH265SliceSegmentHeaderFlags</type>   <name>flags</name></member>
            <member><type>StdVideoH265SliceType</type>                <name>slice_type</name></member>
            <member><type>uint32_t</type>                             <name>slice_segment_address</name></member>
            <member><type>uint8_t</type>                              <name>collocated_ref_idx</name></member>
            <member><type>uint8_t</type>                              <name>MaxNumMergeCand</name></member>
            <member><type>int8_t</type>                               <name>slice_cb_qp_offset</name><comment>[-12, 12]</comment></member>
            <member><type>int8_t</type>                               <name>slice_cr_qp_offset</name><comment>[-12, 12]</comment></member>
            <member><type>int8_t</type>                               <name>slice_beta_offset_div2</name><comment>[-6, 6]</comment></member>
            <member><type>int8_t</type>                               <name>slice_tc_offset_div2</name><comment>[-6, 6]</comment></member>
            <member><type>int8_t</type>                               <name>slice_act_y_qp_offset</name></member>
            <member><type>int8_t</type>                               <name>slice_act_cb_qp_offset</name></member>
            <member><type>int8_t</type>                               <name>slice_act_cr_qp_offset</name></member>
            <member><type>int8_t</type>                               <name>slice_qp_delta</name></member>
            <member><type>uint16_t</type>                             <name>reserved1</name><comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member>const <type>StdVideoEncodeH265WeightTable</type>* <name>pWeightTable</name><comment></comment></member>
        </type>
        <type category="struct" name="StdVideoEncodeH265ReferenceListsInfoFlags">
            <member><type>uint32_t</type>                             <name>ref_pic_list_modification_flag_l0</name> : 1</member>
            <member><type>uint32_t</type>                             <name>ref_pic_list_modification_flag_l1</name> : 1</member>
            <member><type>uint32_t</type>                             <name>reserved</name> : 30</member>
        </type>
        <type category="struct" name="StdVideoEncodeH265ReferenceListsInfo">
            <member><type>StdVideoEncodeH265ReferenceListsInfoFlags</type> <name>flags</name></member>
            <member><type>uint8_t</type>                              <name>num_ref_idx_l0_active_minus1</name></member>
            <member><type>uint8_t</type>                              <name>num_ref_idx_l1_active_minus1</name></member>
            <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>
            <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>
            <member><type>uint8_t</type>                              <name>list_entry_l0</name>[STD_VIDEO_H265_MAX_NUM_LIST_REF]</member>
            <member><type>uint8_t</type>                              <name>list_entry_l1</name>[STD_VIDEO_H265_MAX_NUM_LIST_REF]</member>
        </type>
        <type category="struct" name="StdVideoEncodeH265PictureInfoFlags">
            <member><type>uint32_t</type>  <name>is_reference</name> : 1<comment>A reference picture, as defined in clause 3.132</comment></member>
            <member><type>uint32_t</type>  <name>IrapPicFlag</name> : 1<comment>A reference picture, as defined in clause 3.73</comment></member>
            <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>
            <member><type>uint32_t</type>  <name>discardable_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>cross_layer_bla_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>pic_output_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>no_output_of_prior_pics_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>short_term_ref_pic_set_sps_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>slice_temporal_mvp_enabled_flag</name> : 1</member>
            <member><type>uint32_t</type>  <name>reserved</name> : 23</member>
        </type>
        <type category="struct" name="StdVideoEncodeH265PictureInfo">
            <member><type>StdVideoEncodeH265PictureInfoFlags</type>   <name>flags</name></member>
            <member><type>StdVideoH265PictureType</type>              <name>pic_type</name></member>
            <member><type>uint8_t</type>                              <name>sps_video_parameter_set_id</name><comment>Selecting VPS id from the Video Parameters Set</comment></member>
            <member><type>uint8_t</type>                              <name>pps_seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member>
            <member><type>uint8_t</type>                              <name>pps_pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member>
            <member><type>uint8_t</type>                              <name>short_term_ref_pic_set_idx</name></member>
            <member><type>int32_t</type>                              <name>PicOrderCntVal</name><comment>Picture order count derived as specified in 8.3.1</comment></member>
            <member><type>uint8_t</type>                              <name>TemporalId</name><comment>Temporal ID, as defined in 7.4.2.2</comment></member>
            <member><type>uint8_t</type>                              <name>reserved1</name>[7]<comment>Reserved for future use and must be initialized with 0.</comment></member>
            <member>const <type>StdVideoEncodeH265ReferenceListsInfo</type>* <name>pRefLists</name></member>
            <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>
            <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>
        </type>
        <type category="struct" name="StdVideoEncodeH265ReferenceInfoFlags">
            <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>
            <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>
            <member><type>uint32_t</type>                             <name>reserved</name> : 30</member>
        </type>

        <type category="struct" name="StdVideoEncodeH265ReferenceInfo">
            <member><type>StdVideoEncodeH265ReferenceInfoFlags</type> <name>flags</name></member>
            <member><type>StdVideoH265PictureType</type>              <name>pic_type</name></member>
            <member><type>int32_t</type>                              <name>PicOrderCntVal</name><comment>Picture order count derived as specified in 8.3.1</comment></member>
            <member><type>uint8_t</type>                              <name>TemporalId</name><comment>Temporal ID, as defined in 7.4.2.2</comment></member>
        </type>
    </types>

        <!-- vulkan_video_codec_h264std.h enums -->
    <enums name="StdVideoH264ChromaFormatIdc" type="enum">
        <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME"            value="0"/>
        <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_420"                   value="1"/>
        <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_422"                   value="2"/>
        <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_444"                   value="3"/>
        <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID"               value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264ProfileIdc" type="enum">
        <enum name="STD_VIDEO_H264_PROFILE_IDC_BASELINE"                    value="66" comment="Only constrained baseline is supported"/>
        <enum name="STD_VIDEO_H264_PROFILE_IDC_MAIN"                        value="77"/>
        <enum name="STD_VIDEO_H264_PROFILE_IDC_HIGH"                        value="100"/>
        <enum name="STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE"         value="244"/>
        <enum name="STD_VIDEO_H264_PROFILE_IDC_INVALID"                     value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264LevelIdc" type="enum">
        <enum name="STD_VIDEO_H264_LEVEL_IDC_1_0"                           value="0"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_1_1"                           value="1"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_1_2"                           value="2"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_1_3"                           value="3"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_2_0"                           value="4"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_2_1"                           value="5"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_2_2"                           value="6"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_3_0"                           value="7"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_3_1"                           value="8"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_3_2"                           value="9"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_4_0"                           value="10"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_4_1"                           value="11"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_4_2"                           value="12"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_5_0"                           value="13"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_5_1"                           value="14"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_5_2"                           value="15"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_6_0"                           value="16"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_6_1"                           value="17"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_6_2"                           value="18"/>
        <enum name="STD_VIDEO_H264_LEVEL_IDC_INVALID"                       value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264PocType" type="enum">
        <enum name="STD_VIDEO_H264_POC_TYPE_0"                              value="0"/>
        <enum name="STD_VIDEO_H264_POC_TYPE_1"                              value="1"/>
        <enum name="STD_VIDEO_H264_POC_TYPE_2"                              value="2"/>
        <enum name="STD_VIDEO_H264_POC_TYPE_INVALID"                        value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264AspectRatioIdc" type="enum">
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED"            value="0"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE"                 value="1"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11"                  value="2"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11"                  value="3"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11"                  value="4"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33"                  value="5"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11"                  value="6"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11"                  value="7"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11"                  value="8"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33"                  value="9"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11"                  value="10"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11"                  value="11"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33"                  value="12"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99"                 value="13"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3"                    value="14"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2"                    value="15"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1"                    value="16"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR"           value="255"/>
        <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID"                value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264WeightedBipredIdc" type="enum">
        <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT"             value="0"/>
        <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT"            value="1"/>
        <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT"            value="2"/>
        <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID"             value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264ModificationOfPicNumsIdc" type="enum">
        <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT" value="0"/>
        <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD"     value="1"/>
        <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM"          value="2"/>
        <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END"                value="3"/>
        <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID"            value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264MemMgmtControlOp" type="enum">
        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END"                         value="0"/>
        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM"           value="1"/>
        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM"            value="2"/>
        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM"              value="3"/>
        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX"     value="4"/>
        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL"                  value="5"/>
        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM"   value="6"/>
        <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID"                     value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264CabacInitIdc" type="enum">
        <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_0"                        value="0"/>
        <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_1"                        value="1"/>
        <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_2"                        value="2"/>
        <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_INVALID"                  value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264DisableDeblockingFilterIdc" type="enum">
        <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED"  value="0"/>
        <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED"   value="1"/>
        <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL"   value="2"/>
        <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID"   value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264SliceType" type="enum">
        <enum name="STD_VIDEO_H264_SLICE_TYPE_P"                            value="0"/>
        <enum name="STD_VIDEO_H264_SLICE_TYPE_B"                            value="1"/>
        <enum name="STD_VIDEO_H264_SLICE_TYPE_I"                            value="2"/>
        <comment>
                reserved STD_VIDEO_H264_SLICE_TYPE_SP = 3
                reserved STD_VIDEO_H264_SLICE_TYPE_SI = 4
        </comment>
        <enum name="STD_VIDEO_H264_SLICE_TYPE_INVALID"                      value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264PictureType" type="enum">
        <enum name="STD_VIDEO_H264_PICTURE_TYPE_P"                          value="0"/>
        <enum name="STD_VIDEO_H264_PICTURE_TYPE_B"                          value="1"/>
        <enum name="STD_VIDEO_H264_PICTURE_TYPE_I"                          value="2"/>
        <comment>
                reserved STD_VIDEO_H264_PICTURE_TYPE_SP = 3
                reserved STD_VIDEO_H264_PICTURE_TYPE_SI = 4
        </comment>
        <enum name="STD_VIDEO_H264_PICTURE_TYPE_IDR"                        value="5"/>
        <enum name="STD_VIDEO_H264_PICTURE_TYPE_INVALID"                    value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH264NonVclNaluType" type="enum">
        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS"                   value="0"/>
        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS"                   value="1"/>
        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD"                   value="2"/>
        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX"                value="3"/>
        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE"       value="4"/>
        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM"         value="5"/>
        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED"              value="6"/>
        <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID"               value="0x7FFFFFFF"/>
    </enums>

            <!-- vulkan_video_codec_h264std_decode.h enums -->
    <enums name="StdVideoDecodeH264FieldOrderCount" type="enum">
        <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP"            value="0"/>
        <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM"         value="1"/>
        <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID"        value="0x7FFFFFFF"/>
    </enums>

            <!-- vulkan_video_codec_h265std.h enums -->
    <enums name="StdVideoH265ChromaFormatIdc" type="enum">
        <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME"            value="0"/>
        <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_420"                   value="1"/>
        <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_422"                   value="2"/>
        <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_444"                   value="3"/>
        <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID"               value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH265ProfileIdc" type="enum">
        <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN"                        value="1"/>
        <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN_10"                     value="2"/>
        <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE"          value="3"/>
        <enum name="STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS"     value="4"/>
        <enum name="STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS"              value="9"/>
        <enum name="STD_VIDEO_H265_PROFILE_IDC_INVALID"                     value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH265LevelIdc" type="enum">
        <enum name="STD_VIDEO_H265_LEVEL_IDC_1_0"                           value="0"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_2_0"                           value="1"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_2_1"                           value="2"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_3_0"                           value="3"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_3_1"                           value="4"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_4_0"                           value="5"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_4_1"                           value="6"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_5_0"                           value="7"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_5_1"                           value="8"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_5_2"                           value="9"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_6_0"                           value="10"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_6_1"                           value="11"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_6_2"                           value="12"/>
        <enum name="STD_VIDEO_H265_LEVEL_IDC_INVALID"                       value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH265SliceType" type="enum">
        <enum name="STD_VIDEO_H265_SLICE_TYPE_B"                            value="0"/>
        <enum name="STD_VIDEO_H265_SLICE_TYPE_P"                            value="1"/>
        <enum name="STD_VIDEO_H265_SLICE_TYPE_I"                            value="2"/>
        <enum name="STD_VIDEO_H265_SLICE_TYPE_INVALID"                      value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH265PictureType" type="enum">
        <enum name="STD_VIDEO_H265_PICTURE_TYPE_P"                          value="0"/>
        <enum name="STD_VIDEO_H265_PICTURE_TYPE_B"                          value="1"/>
        <enum name="STD_VIDEO_H265_PICTURE_TYPE_I"                          value="2"/>
        <enum name="STD_VIDEO_H265_PICTURE_TYPE_IDR"                        value="3"/>
        <enum name="STD_VIDEO_H265_PICTURE_TYPE_INVALID"                    value="0x7FFFFFFF"/>
    </enums>
    <enums name="StdVideoH265AspectRatioIdc" type="enum">
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED"            value="0"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE"                 value="1"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11"                  value="2"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11"                  value="3"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11"                  value="4"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33"                  value="5"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11"                  value="6"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11"                  value="7"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11"                  value="8"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33"                  value="9"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11"                  value="10"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11"                  value="11"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33"                  value="12"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99"                 value="13"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3"                    value="14"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2"                    value="15"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1"                    value="16"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR"           value="255"/>
        <enum name="STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID"                value="0x7FFFFFFF"/>
    </enums>

    <extensions>
        <extension name="vulkan_video_codecs_common" comment="protect with VULKAN_VIDEO_CODEC_COMMON_H_" supported="vulkan">
            <require>
                <type name="VK_MAKE_VIDEO_STD_VERSION"/>
                <type name="stdint"/>
            </require>
        </extension>
        <extension name="vulkan_video_codec_h264std" comment="protect with VULKAN_VIDEO_CODEC_H264STD_H_" supported="vulkan">
            <require>
                <type name="vk_video/vulkan_video_codecs_common.h"/>

                <enum name="STD_VIDEO_H264_CPB_CNT_LIST_SIZE"               value="32"/>
                <enum name="STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS"      value="6"/>
                <enum name="STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS"   value="16"/>
                <enum name="STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS"      value="6"/>
                <enum name="STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS"   value="64"/>
                <enum name="STD_VIDEO_H264_MAX_NUM_LIST_REF"                value="32"/>
                <enum name="STD_VIDEO_H264_MAX_CHROMA_PLANES"               value="2"/>
                <enum name="STD_VIDEO_H264_NO_REFERENCE_PICTURE"            value="0xFF"/>

                <type name="StdVideoH264ChromaFormatIdc"/>
                <type name="StdVideoH264ProfileIdc"/>
                <type name="StdVideoH264LevelIdc"/>
                <type name="StdVideoH264PocType"/>
                <type name="StdVideoH264AspectRatioIdc"/>
                <type name="StdVideoH264WeightedBipredIdc"/>
                <type name="StdVideoH264ModificationOfPicNumsIdc"/>
                <type name="StdVideoH264MemMgmtControlOp"/>
                <type name="StdVideoH264CabacInitIdc"/>
                <type name="StdVideoH264DisableDeblockingFilterIdc"/>
                <type name="StdVideoH264SliceType"/>
                <type name="StdVideoH264PictureType"/>
                <type name="StdVideoH264NonVclNaluType"/>

                <type name="StdVideoH264SpsVuiFlags"/>
                <type name="StdVideoH264HrdParameters"/>
                <type name="StdVideoH264SequenceParameterSetVui"/>
                <type name="StdVideoH264SpsFlags"/>
                <type name="StdVideoH264ScalingLists"/>
                <type name="StdVideoH264SequenceParameterSet"/>
                <type name="StdVideoH264PpsFlags"/>
                <type name="StdVideoH264PictureParameterSet"/>
            </require>
        </extension>
        <extension name="vulkan_video_codec_h264std_decode" comment="protect with VULKAN_VIDEO_CODEC_H264STD_DECODE_H_" supported="vulkan">
            <require>
                <type name="vk_video/vulkan_video_codec_h264std.h"/>

                <type name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0"/>
                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION"    value="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0"/>
                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME"  value="&quot;VK_STD_vulkan_video_codec_h264_decode&quot;"/>

                <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE" value="2"/>

                <type name="StdVideoDecodeH264FieldOrderCount"/>
                <type name="StdVideoDecodeH264PictureInfoFlags"/>
                <type name="StdVideoDecodeH264PictureInfo"/>
                <type name="StdVideoDecodeH264ReferenceInfoFlags"/>
                <type name="StdVideoDecodeH264ReferenceInfo"/>
            </require>
        </extension>
        <extension name="vulkan_video_codec_h264std_encode" comment="protect with VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_" supported="vulkan">
            <require>
                <type name="vk_video/vulkan_video_codec_h264std.h"/>

                <type name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_11"/>
                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION"    value="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_11"/>
                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME"  value="&quot;VK_STD_vulkan_video_codec_h264_encode&quot;"/>

                <type name="StdVideoEncodeH264WeightTableFlags"/>
                <type name="StdVideoEncodeH264WeightTable"/>
                <type name="StdVideoEncodeH264SliceHeaderFlags"/>
                <type name="StdVideoEncodeH264PictureInfoFlags"/>
                <type name="StdVideoEncodeH264ReferenceInfoFlags"/>
                <type name="StdVideoEncodeH264ReferenceListsInfoFlags"/>
                <type name="StdVideoEncodeH264RefListModEntry"/>
                <type name="StdVideoEncodeH264RefPicMarkingEntry"/>
                <type name="StdVideoEncodeH264ReferenceListsInfo"/>
                <type name="StdVideoEncodeH264PictureInfo"/>
                <type name="StdVideoEncodeH264ReferenceInfo"/>
                <type name="StdVideoEncodeH264SliceHeader"/>
            </require>
        </extension>
        <extension name="vulkan_video_codec_h265std" comment="protect with VULKAN_VIDEO_CODEC_H265STD_H_" supported="vulkan">
            <require>
                <type name="vk_video/vulkan_video_codecs_common.h"/>

                <enum name="STD_VIDEO_H265_CPB_CNT_LIST_SIZE"                           value="32"/>
                <enum name="STD_VIDEO_H265_SUBLAYERS_LIST_SIZE"                         value="7"/>
                <enum name="STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS"                  value="6"/>
                <enum name="STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS"               value="16"/>
                <enum name="STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS"                  value="6"/>
                <enum name="STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS"               value="64"/>
                <enum name="STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS"                value="6"/>
                <enum name="STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS"             value="64"/>
                <enum name="STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS"                value="2"/>
                <enum name="STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS"             value="64"/>
                <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE"                  value="6"/>
                <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE"        value="19"/>
                <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE"        value="21"/>
                <enum name="STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE"      value="3"/>
                <enum name="STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE"    value="128"/>
                <enum name="STD_VIDEO_H265_MAX_NUM_LIST_REF"                            value="15"/>
                <enum name="STD_VIDEO_H265_MAX_CHROMA_PLANES"                           value="2"/>
                <enum name="STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS"                 value="64"/>
                <enum name="STD_VIDEO_H265_MAX_DPB_SIZE"                                value="16"/>
                <enum name="STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS"                  value="32"/>
                <enum name="STD_VIDEO_H265_MAX_LONG_TERM_PICS"                          value="16"/>
                <enum name="STD_VIDEO_H265_MAX_DELTA_POC"                               value="48"/>
                <enum name="STD_VIDEO_H265_NO_REFERENCE_PICTURE"                        value="0xFF"/>

                <type name="StdVideoH265ChromaFormatIdc"/>
                <type name="StdVideoH265ProfileIdc"/>
                <type name="StdVideoH265LevelIdc"/>
                <type name="StdVideoH265SliceType"/>
                <type name="StdVideoH265PictureType"/>
                <type name="StdVideoH265AspectRatioIdc"/>
                <type name="StdVideoH265DecPicBufMgr"/>
                <type name="StdVideoH265SubLayerHrdParameters"/>
                <type name="StdVideoH265HrdFlags"/>
                <type name="StdVideoH265HrdParameters"/>
                <type name="StdVideoH265VpsFlags"/>
                <type name="StdVideoH265ProfileTierLevelFlags"/>
                <type name="StdVideoH265ProfileTierLevel"/>
                <type name="StdVideoH265VideoParameterSet"/>
                <type name="StdVideoH265ScalingLists"/>
                <type name="StdVideoH265SpsVuiFlags"/>
                <type name="StdVideoH265SequenceParameterSetVui"/>
                <type name="StdVideoH265PredictorPaletteEntries"/>
                <type name="StdVideoH265SpsFlags"/>
                <type name="StdVideoH265ShortTermRefPicSetFlags"/>
                <type name="StdVideoH265ShortTermRefPicSet"/>
                <type name="StdVideoH265LongTermRefPicsSps"/>
                <type name="StdVideoH265SequenceParameterSet"/>
                <type name="StdVideoH265PpsFlags"/>
                <type name="StdVideoH265PictureParameterSet"/>
            </require>
        </extension>
        <extension name="vulkan_video_codec_h265std_decode" comment="protect with VULKAN_VIDEO_CODEC_H265STD_DECODE_H_" supported="vulkan">
            <require>
                <type name="vk_video/vulkan_video_codec_h265std.h"/>

                <type name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0"/>
                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION"    value="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0"/>
                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME"  value="&quot;VK_STD_vulkan_video_codec_h265_decode&quot;"/>

                <enum name="STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE"    value="8"/>

                <type name="StdVideoDecodeH265PictureInfoFlags"/>
                <type name="StdVideoDecodeH265PictureInfo"/>
                <type name="StdVideoDecodeH265ReferenceInfoFlags"/>
                <type name="StdVideoDecodeH265ReferenceInfo"/>
            </require>
        </extension>
        <extension name="vulkan_video_codec_h265std_encode" comment="protect with VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_" supported="vulkan">
            <require>
                <type name="vk_video/vulkan_video_codec_h265std.h"/>

                <type name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_12"/>
                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION"    value="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_12"/>
                <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME"  value="&quot;VK_STD_vulkan_video_codec_h265_encode&quot;"/>

                <type name="StdVideoEncodeH265WeightTableFlags"/>
                <type name="StdVideoEncodeH265WeightTable"/>
                <type name="StdVideoEncodeH265SliceSegmentHeaderFlags"/>
                <type name="StdVideoEncodeH265SliceSegmentHeader"/>
                <type name="StdVideoEncodeH265ReferenceListsInfoFlags"/>
                <type name="StdVideoEncodeH265ReferenceListsInfo"/>
                <type name="StdVideoEncodeH265PictureInfoFlags"/>
                <type name="StdVideoEncodeH265LongTermRefPics"/>
                <type name="StdVideoEncodeH265PictureInfo"/>
                <type name="StdVideoEncodeH265ReferenceInfoFlags"/>
                <type name="StdVideoEncodeH265ReferenceInfo"/>
            </require>
        </extension>
    </extensions>
</registry>
