• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef VULKAN_VIDEO_CODEC_H265STD_H_
2 #define VULKAN_VIDEO_CODEC_H265STD_H_ 1
3 
4 /*
5 ** Copyright 2015-2023 The Khronos Group Inc.
6 **
7 ** SPDX-License-Identifier: Apache-2.0
8 */
9 
10 /*
11 ** This header is generated from the Khronos Vulkan XML API Registry.
12 **
13 */
14 
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 
21 
22 #define vulkan_video_codec_h265std 1
23 #define STD_VIDEO_H265_SUBLAYERS_LIST_SIZE 7
24 #define STD_VIDEO_H265_CPB_CNT_LIST_SIZE  32
25 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6
26 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16
27 #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6
28 #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS 64
29 #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS 6
30 #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64
31 #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2
32 #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64
33 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3
34 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128
35 #define STD_VIDEO_H265_MAX_DPB_SIZE       16
36 #define STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS 32
37 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
38 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
39 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
40 #define STD_VIDEO_H265_MAX_NUM_LIST_REF   15
41 #define STD_VIDEO_H265_MAX_CHROMA_PLANES  2
42 #define STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS 64
43 #define STD_VIDEO_H265_MAX_LONG_TERM_PICS 16
44 #define STD_VIDEO_H265_MAX_DELTA_POC      48
45 
46 typedef enum StdVideoH265ChromaFormatIdc {
47     STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0,
48     STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1,
49     STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2,
50     STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3,
51     STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
52     STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF
53 } StdVideoH265ChromaFormatIdc;
54 
55 typedef enum StdVideoH265ProfileIdc {
56     STD_VIDEO_H265_PROFILE_IDC_MAIN = 1,
57     STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2,
58     STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3,
59     STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4,
60     STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9,
61     STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF,
62     STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
63 } StdVideoH265ProfileIdc;
64 
65 typedef enum StdVideoH265LevelIdc {
66     STD_VIDEO_H265_LEVEL_IDC_1_0 = 0,
67     STD_VIDEO_H265_LEVEL_IDC_2_0 = 1,
68     STD_VIDEO_H265_LEVEL_IDC_2_1 = 2,
69     STD_VIDEO_H265_LEVEL_IDC_3_0 = 3,
70     STD_VIDEO_H265_LEVEL_IDC_3_1 = 4,
71     STD_VIDEO_H265_LEVEL_IDC_4_0 = 5,
72     STD_VIDEO_H265_LEVEL_IDC_4_1 = 6,
73     STD_VIDEO_H265_LEVEL_IDC_5_0 = 7,
74     STD_VIDEO_H265_LEVEL_IDC_5_1 = 8,
75     STD_VIDEO_H265_LEVEL_IDC_5_2 = 9,
76     STD_VIDEO_H265_LEVEL_IDC_6_0 = 10,
77     STD_VIDEO_H265_LEVEL_IDC_6_1 = 11,
78     STD_VIDEO_H265_LEVEL_IDC_6_2 = 12,
79     STD_VIDEO_H265_LEVEL_IDC_INVALID = 0x7FFFFFFF,
80     STD_VIDEO_H265_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF
81 } StdVideoH265LevelIdc;
82 
83 typedef enum StdVideoH265SliceType {
84     STD_VIDEO_H265_SLICE_TYPE_B = 0,
85     STD_VIDEO_H265_SLICE_TYPE_P = 1,
86     STD_VIDEO_H265_SLICE_TYPE_I = 2,
87     STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF,
88     STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF
89 } StdVideoH265SliceType;
90 
91 typedef enum StdVideoH265PictureType {
92     STD_VIDEO_H265_PICTURE_TYPE_P = 0,
93     STD_VIDEO_H265_PICTURE_TYPE_B = 1,
94     STD_VIDEO_H265_PICTURE_TYPE_I = 2,
95     STD_VIDEO_H265_PICTURE_TYPE_IDR = 3,
96     STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
97     STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
98 } StdVideoH265PictureType;
99 
100 typedef enum StdVideoH265AspectRatioIdc {
101     STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED = 0,
102     STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE = 1,
103     STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11 = 2,
104     STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11 = 3,
105     STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11 = 4,
106     STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33 = 5,
107     STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11 = 6,
108     STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11 = 7,
109     STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11 = 8,
110     STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33 = 9,
111     STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11 = 10,
112     STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11 = 11,
113     STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33 = 12,
114     STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99 = 13,
115     STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3 = 14,
116     STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2 = 15,
117     STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1 = 16,
118     STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR = 255,
119     STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF,
120     STD_VIDEO_H265_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF
121 } StdVideoH265AspectRatioIdc;
122 typedef struct StdVideoH265DecPicBufMgr {
123     uint32_t    max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
124     uint8_t     max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
125     uint8_t     max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
126 } StdVideoH265DecPicBufMgr;
127 
128 typedef struct StdVideoH265SubLayerHrdParameters {
129     uint32_t    bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
130     uint32_t    cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
131     uint32_t    cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
132     uint32_t    bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
133     uint32_t    cbr_flag;
134 } StdVideoH265SubLayerHrdParameters;
135 
136 typedef struct StdVideoH265HrdFlags {
137     uint32_t    nal_hrd_parameters_present_flag : 1;
138     uint32_t    vcl_hrd_parameters_present_flag : 1;
139     uint32_t    sub_pic_hrd_params_present_flag : 1;
140     uint32_t    sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
141     uint32_t    fixed_pic_rate_general_flag : 8;
142     uint32_t    fixed_pic_rate_within_cvs_flag : 8;
143     uint32_t    low_delay_hrd_flag : 8;
144 } StdVideoH265HrdFlags;
145 
146 typedef struct StdVideoH265HrdParameters {
147     StdVideoH265HrdFlags                        flags;
148     uint8_t                                     tick_divisor_minus2;
149     uint8_t                                     du_cpb_removal_delay_increment_length_minus1;
150     uint8_t                                     dpb_output_delay_du_length_minus1;
151     uint8_t                                     bit_rate_scale;
152     uint8_t                                     cpb_size_scale;
153     uint8_t                                     cpb_size_du_scale;
154     uint8_t                                     initial_cpb_removal_delay_length_minus1;
155     uint8_t                                     au_cpb_removal_delay_length_minus1;
156     uint8_t                                     dpb_output_delay_length_minus1;
157     uint8_t                                     cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
158     uint16_t                                    elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
159     uint16_t                                    reserved[3];
160     const StdVideoH265SubLayerHrdParameters*    pSubLayerHrdParametersNal;
161     const StdVideoH265SubLayerHrdParameters*    pSubLayerHrdParametersVcl;
162 } StdVideoH265HrdParameters;
163 
164 typedef struct StdVideoH265VpsFlags {
165     uint32_t    vps_temporal_id_nesting_flag : 1;
166     uint32_t    vps_sub_layer_ordering_info_present_flag : 1;
167     uint32_t    vps_timing_info_present_flag : 1;
168     uint32_t    vps_poc_proportional_to_timing_flag : 1;
169 } StdVideoH265VpsFlags;
170 
171 typedef struct StdVideoH265ProfileTierLevelFlags {
172     uint32_t    general_tier_flag : 1;
173     uint32_t    general_progressive_source_flag : 1;
174     uint32_t    general_interlaced_source_flag : 1;
175     uint32_t    general_non_packed_constraint_flag : 1;
176     uint32_t    general_frame_only_constraint_flag : 1;
177 } StdVideoH265ProfileTierLevelFlags;
178 
179 typedef struct StdVideoH265ProfileTierLevel {
180     StdVideoH265ProfileTierLevelFlags    flags;
181     StdVideoH265ProfileIdc               general_profile_idc;
182     StdVideoH265LevelIdc                 general_level_idc;
183 } StdVideoH265ProfileTierLevel;
184 
185 typedef struct StdVideoH265VideoParameterSet {
186     StdVideoH265VpsFlags                   flags;
187     uint8_t                                vps_video_parameter_set_id;
188     uint8_t                                vps_max_sub_layers_minus1;
189     uint8_t                                reserved1;
190     uint8_t                                reserved2;
191     uint32_t                               vps_num_units_in_tick;
192     uint32_t                               vps_time_scale;
193     uint32_t                               vps_num_ticks_poc_diff_one_minus1;
194     uint32_t                               reserved3;
195     const StdVideoH265DecPicBufMgr*        pDecPicBufMgr;
196     const StdVideoH265HrdParameters*       pHrdParameters;
197     const StdVideoH265ProfileTierLevel*    pProfileTierLevel;
198 } StdVideoH265VideoParameterSet;
199 
200 typedef struct StdVideoH265ScalingLists {
201     uint8_t    ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS];
202     uint8_t    ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS];
203     uint8_t    ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS];
204     uint8_t    ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS];
205     uint8_t    ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS];
206     uint8_t    ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS];
207 } StdVideoH265ScalingLists;
208 
209 typedef struct StdVideoH265SpsVuiFlags {
210     uint32_t    aspect_ratio_info_present_flag : 1;
211     uint32_t    overscan_info_present_flag : 1;
212     uint32_t    overscan_appropriate_flag : 1;
213     uint32_t    video_signal_type_present_flag : 1;
214     uint32_t    video_full_range_flag : 1;
215     uint32_t    colour_description_present_flag : 1;
216     uint32_t    chroma_loc_info_present_flag : 1;
217     uint32_t    neutral_chroma_indication_flag : 1;
218     uint32_t    field_seq_flag : 1;
219     uint32_t    frame_field_info_present_flag : 1;
220     uint32_t    default_display_window_flag : 1;
221     uint32_t    vui_timing_info_present_flag : 1;
222     uint32_t    vui_poc_proportional_to_timing_flag : 1;
223     uint32_t    vui_hrd_parameters_present_flag : 1;
224     uint32_t    bitstream_restriction_flag : 1;
225     uint32_t    tiles_fixed_structure_flag : 1;
226     uint32_t    motion_vectors_over_pic_boundaries_flag : 1;
227     uint32_t    restricted_ref_pic_lists_flag : 1;
228 } StdVideoH265SpsVuiFlags;
229 
230 typedef struct StdVideoH265SequenceParameterSetVui {
231     StdVideoH265SpsVuiFlags             flags;
232     StdVideoH265AspectRatioIdc          aspect_ratio_idc;
233     uint16_t                            sar_width;
234     uint16_t                            sar_height;
235     uint8_t                             video_format;
236     uint8_t                             colour_primaries;
237     uint8_t                             transfer_characteristics;
238     uint8_t                             matrix_coeffs;
239     uint8_t                             chroma_sample_loc_type_top_field;
240     uint8_t                             chroma_sample_loc_type_bottom_field;
241     uint8_t                             reserved1;
242     uint8_t                             reserved2;
243     uint16_t                            def_disp_win_left_offset;
244     uint16_t                            def_disp_win_right_offset;
245     uint16_t                            def_disp_win_top_offset;
246     uint16_t                            def_disp_win_bottom_offset;
247     uint32_t                            vui_num_units_in_tick;
248     uint32_t                            vui_time_scale;
249     uint32_t                            vui_num_ticks_poc_diff_one_minus1;
250     uint16_t                            min_spatial_segmentation_idc;
251     uint16_t                            reserved3;
252     uint8_t                             max_bytes_per_pic_denom;
253     uint8_t                             max_bits_per_min_cu_denom;
254     uint8_t                             log2_max_mv_length_horizontal;
255     uint8_t                             log2_max_mv_length_vertical;
256     const StdVideoH265HrdParameters*    pHrdParameters;
257 } StdVideoH265SequenceParameterSetVui;
258 
259 typedef struct StdVideoH265PredictorPaletteEntries {
260     uint16_t    PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE];
261 } StdVideoH265PredictorPaletteEntries;
262 
263 typedef struct StdVideoH265SpsFlags {
264     uint32_t    sps_temporal_id_nesting_flag : 1;
265     uint32_t    separate_colour_plane_flag : 1;
266     uint32_t    conformance_window_flag : 1;
267     uint32_t    sps_sub_layer_ordering_info_present_flag : 1;
268     uint32_t    scaling_list_enabled_flag : 1;
269     uint32_t    sps_scaling_list_data_present_flag : 1;
270     uint32_t    amp_enabled_flag : 1;
271     uint32_t    sample_adaptive_offset_enabled_flag : 1;
272     uint32_t    pcm_enabled_flag : 1;
273     uint32_t    pcm_loop_filter_disabled_flag : 1;
274     uint32_t    long_term_ref_pics_present_flag : 1;
275     uint32_t    sps_temporal_mvp_enabled_flag : 1;
276     uint32_t    strong_intra_smoothing_enabled_flag : 1;
277     uint32_t    vui_parameters_present_flag : 1;
278     uint32_t    sps_extension_present_flag : 1;
279     uint32_t    sps_range_extension_flag : 1;
280     uint32_t    transform_skip_rotation_enabled_flag : 1;
281     uint32_t    transform_skip_context_enabled_flag : 1;
282     uint32_t    implicit_rdpcm_enabled_flag : 1;
283     uint32_t    explicit_rdpcm_enabled_flag : 1;
284     uint32_t    extended_precision_processing_flag : 1;
285     uint32_t    intra_smoothing_disabled_flag : 1;
286     uint32_t    high_precision_offsets_enabled_flag : 1;
287     uint32_t    persistent_rice_adaptation_enabled_flag : 1;
288     uint32_t    cabac_bypass_alignment_enabled_flag : 1;
289     uint32_t    sps_scc_extension_flag : 1;
290     uint32_t    sps_curr_pic_ref_enabled_flag : 1;
291     uint32_t    palette_mode_enabled_flag : 1;
292     uint32_t    sps_palette_predictor_initializers_present_flag : 1;
293     uint32_t    intra_boundary_filtering_disabled_flag : 1;
294 } StdVideoH265SpsFlags;
295 
296 typedef struct StdVideoH265ShortTermRefPicSetFlags {
297     uint32_t    inter_ref_pic_set_prediction_flag : 1;
298     uint32_t    delta_rps_sign : 1;
299 } StdVideoH265ShortTermRefPicSetFlags;
300 
301 typedef struct StdVideoH265ShortTermRefPicSet {
302     StdVideoH265ShortTermRefPicSetFlags    flags;
303     uint32_t                               delta_idx_minus1;
304     uint16_t                               use_delta_flag;
305     uint16_t                               abs_delta_rps_minus1;
306     uint16_t                               used_by_curr_pic_flag;
307     uint16_t                               used_by_curr_pic_s0_flag;
308     uint16_t                               used_by_curr_pic_s1_flag;
309     uint16_t                               reserved1;
310     uint8_t                                reserved2;
311     uint8_t                                reserved3;
312     uint8_t                                num_negative_pics;
313     uint8_t                                num_positive_pics;
314     uint16_t                               delta_poc_s0_minus1[STD_VIDEO_H265_MAX_DPB_SIZE];
315     uint16_t                               delta_poc_s1_minus1[STD_VIDEO_H265_MAX_DPB_SIZE];
316 } StdVideoH265ShortTermRefPicSet;
317 
318 typedef struct StdVideoH265LongTermRefPicsSps {
319     uint32_t    used_by_curr_pic_lt_sps_flag;
320     uint32_t    lt_ref_pic_poc_lsb_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS];
321 } StdVideoH265LongTermRefPicsSps;
322 
323 typedef struct StdVideoH265SequenceParameterSet {
324     StdVideoH265SpsFlags                          flags;
325     StdVideoH265ChromaFormatIdc                   chroma_format_idc;
326     uint32_t                                      pic_width_in_luma_samples;
327     uint32_t                                      pic_height_in_luma_samples;
328     uint8_t                                       sps_video_parameter_set_id;
329     uint8_t                                       sps_max_sub_layers_minus1;
330     uint8_t                                       sps_seq_parameter_set_id;
331     uint8_t                                       bit_depth_luma_minus8;
332     uint8_t                                       bit_depth_chroma_minus8;
333     uint8_t                                       log2_max_pic_order_cnt_lsb_minus4;
334     uint8_t                                       log2_min_luma_coding_block_size_minus3;
335     uint8_t                                       log2_diff_max_min_luma_coding_block_size;
336     uint8_t                                       log2_min_luma_transform_block_size_minus2;
337     uint8_t                                       log2_diff_max_min_luma_transform_block_size;
338     uint8_t                                       max_transform_hierarchy_depth_inter;
339     uint8_t                                       max_transform_hierarchy_depth_intra;
340     uint8_t                                       num_short_term_ref_pic_sets;
341     uint8_t                                       num_long_term_ref_pics_sps;
342     uint8_t                                       pcm_sample_bit_depth_luma_minus1;
343     uint8_t                                       pcm_sample_bit_depth_chroma_minus1;
344     uint8_t                                       log2_min_pcm_luma_coding_block_size_minus3;
345     uint8_t                                       log2_diff_max_min_pcm_luma_coding_block_size;
346     uint8_t                                       reserved1;
347     uint8_t                                       reserved2;
348     uint8_t                                       palette_max_size;
349     uint8_t                                       delta_palette_max_predictor_size;
350     uint8_t                                       motion_vector_resolution_control_idc;
351     uint8_t                                       sps_num_palette_predictor_initializers_minus1;
352     uint32_t                                      conf_win_left_offset;
353     uint32_t                                      conf_win_right_offset;
354     uint32_t                                      conf_win_top_offset;
355     uint32_t                                      conf_win_bottom_offset;
356     const StdVideoH265ProfileTierLevel*           pProfileTierLevel;
357     const StdVideoH265DecPicBufMgr*               pDecPicBufMgr;
358     const StdVideoH265ScalingLists*               pScalingLists;
359     const StdVideoH265ShortTermRefPicSet*         pShortTermRefPicSet;
360     const StdVideoH265LongTermRefPicsSps*         pLongTermRefPicsSps;
361     const StdVideoH265SequenceParameterSetVui*    pSequenceParameterSetVui;
362     const StdVideoH265PredictorPaletteEntries*    pPredictorPaletteEntries;
363 } StdVideoH265SequenceParameterSet;
364 
365 typedef struct StdVideoH265PpsFlags {
366     uint32_t    dependent_slice_segments_enabled_flag : 1;
367     uint32_t    output_flag_present_flag : 1;
368     uint32_t    sign_data_hiding_enabled_flag : 1;
369     uint32_t    cabac_init_present_flag : 1;
370     uint32_t    constrained_intra_pred_flag : 1;
371     uint32_t    transform_skip_enabled_flag : 1;
372     uint32_t    cu_qp_delta_enabled_flag : 1;
373     uint32_t    pps_slice_chroma_qp_offsets_present_flag : 1;
374     uint32_t    weighted_pred_flag : 1;
375     uint32_t    weighted_bipred_flag : 1;
376     uint32_t    transquant_bypass_enabled_flag : 1;
377     uint32_t    tiles_enabled_flag : 1;
378     uint32_t    entropy_coding_sync_enabled_flag : 1;
379     uint32_t    uniform_spacing_flag : 1;
380     uint32_t    loop_filter_across_tiles_enabled_flag : 1;
381     uint32_t    pps_loop_filter_across_slices_enabled_flag : 1;
382     uint32_t    deblocking_filter_control_present_flag : 1;
383     uint32_t    deblocking_filter_override_enabled_flag : 1;
384     uint32_t    pps_deblocking_filter_disabled_flag : 1;
385     uint32_t    pps_scaling_list_data_present_flag : 1;
386     uint32_t    lists_modification_present_flag : 1;
387     uint32_t    slice_segment_header_extension_present_flag : 1;
388     uint32_t    pps_extension_present_flag : 1;
389     uint32_t    cross_component_prediction_enabled_flag : 1;
390     uint32_t    chroma_qp_offset_list_enabled_flag : 1;
391     uint32_t    pps_curr_pic_ref_enabled_flag : 1;
392     uint32_t    residual_adaptive_colour_transform_enabled_flag : 1;
393     uint32_t    pps_slice_act_qp_offsets_present_flag : 1;
394     uint32_t    pps_palette_predictor_initializers_present_flag : 1;
395     uint32_t    monochrome_palette_flag : 1;
396     uint32_t    pps_range_extension_flag : 1;
397 } StdVideoH265PpsFlags;
398 
399 typedef struct StdVideoH265PictureParameterSet {
400     StdVideoH265PpsFlags                          flags;
401     uint8_t                                       pps_pic_parameter_set_id;
402     uint8_t                                       pps_seq_parameter_set_id;
403     uint8_t                                       sps_video_parameter_set_id;
404     uint8_t                                       num_extra_slice_header_bits;
405     uint8_t                                       num_ref_idx_l0_default_active_minus1;
406     uint8_t                                       num_ref_idx_l1_default_active_minus1;
407     int8_t                                        init_qp_minus26;
408     uint8_t                                       diff_cu_qp_delta_depth;
409     int8_t                                        pps_cb_qp_offset;
410     int8_t                                        pps_cr_qp_offset;
411     int8_t                                        pps_beta_offset_div2;
412     int8_t                                        pps_tc_offset_div2;
413     uint8_t                                       log2_parallel_merge_level_minus2;
414     uint8_t                                       log2_max_transform_skip_block_size_minus2;
415     uint8_t                                       diff_cu_chroma_qp_offset_depth;
416     uint8_t                                       chroma_qp_offset_list_len_minus1;
417     int8_t                                        cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
418     int8_t                                        cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
419     uint8_t                                       log2_sao_offset_scale_luma;
420     uint8_t                                       log2_sao_offset_scale_chroma;
421     int8_t                                        pps_act_y_qp_offset_plus5;
422     int8_t                                        pps_act_cb_qp_offset_plus5;
423     int8_t                                        pps_act_cr_qp_offset_plus3;
424     uint8_t                                       pps_num_palette_predictor_initializers;
425     uint8_t                                       luma_bit_depth_entry_minus8;
426     uint8_t                                       chroma_bit_depth_entry_minus8;
427     uint8_t                                       num_tile_columns_minus1;
428     uint8_t                                       num_tile_rows_minus1;
429     uint8_t                                       reserved1;
430     uint8_t                                       reserved2;
431     uint16_t                                      column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE];
432     uint16_t                                      row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE];
433     uint32_t                                      reserved3;
434     const StdVideoH265ScalingLists*               pScalingLists;
435     const StdVideoH265PredictorPaletteEntries*    pPredictorPaletteEntries;
436 } StdVideoH265PictureParameterSet;
437 
438 
439 #ifdef __cplusplus
440 }
441 #endif
442 
443 #endif
444