FFmpeg
cbs_h265.h
Go to the documentation of this file.
1 /*
2  * This file is part of FFmpeg.
3  *
4  * FFmpeg is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * FFmpeg is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with FFmpeg; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 
19 #ifndef AVCODEC_CBS_H265_H
20 #define AVCODEC_CBS_H265_H
21 
22 #include <stddef.h>
23 #include <stdint.h>
24 
25 #include "cbs_h2645.h"
26 #include "hevc.h"
27 
28 enum {
29  // This limit is arbitrary - it is sufficient for one message of each
30  // type plus some repeats, and will therefore easily cover all sane
31  // streams. However, it is possible to make technically-valid streams
32  // for which it will fail (for example, by including a large number of
33  // user-data-unregistered messages).
35 };
36 
37 typedef struct H265RawNALUnitHeader {
42 
43 typedef struct H265RawProfileTierLevel {
47 
48  uint8_t general_profile_compatibility_flag[32];
49 
54 
65 
67 
69 
70  uint8_t sub_layer_profile_present_flag[HEVC_MAX_SUB_LAYERS];
71  uint8_t sub_layer_level_present_flag[HEVC_MAX_SUB_LAYERS];
72 
73  uint8_t sub_layer_profile_space[HEVC_MAX_SUB_LAYERS];
74  uint8_t sub_layer_tier_flag[HEVC_MAX_SUB_LAYERS];
75  uint8_t sub_layer_profile_idc[HEVC_MAX_SUB_LAYERS];
76 
77  uint8_t sub_layer_profile_compatibility_flag[HEVC_MAX_SUB_LAYERS][32];
78 
79  uint8_t sub_layer_progressive_source_flag[HEVC_MAX_SUB_LAYERS];
80  uint8_t sub_layer_interlaced_source_flag[HEVC_MAX_SUB_LAYERS];
81  uint8_t sub_layer_non_packed_constraint_flag[HEVC_MAX_SUB_LAYERS];
82  uint8_t sub_layer_frame_only_constraint_flag[HEVC_MAX_SUB_LAYERS];
83 
84  uint8_t sub_layer_max_12bit_constraint_flag[HEVC_MAX_SUB_LAYERS];
85  uint8_t sub_layer_max_10bit_constraint_flag[HEVC_MAX_SUB_LAYERS];
86  uint8_t sub_layer_max_8bit_constraint_flag[HEVC_MAX_SUB_LAYERS];
87  uint8_t sub_layer_max_422chroma_constraint_flag[HEVC_MAX_SUB_LAYERS];
88  uint8_t sub_layer_max_420chroma_constraint_flag[HEVC_MAX_SUB_LAYERS];
89  uint8_t sub_layer_max_monochrome_constraint_flag[HEVC_MAX_SUB_LAYERS];
90  uint8_t sub_layer_intra_constraint_flag[HEVC_MAX_SUB_LAYERS];
91  uint8_t sub_layer_one_picture_only_constraint_flag[HEVC_MAX_SUB_LAYERS];
92  uint8_t sub_layer_lower_bit_rate_constraint_flag[HEVC_MAX_SUB_LAYERS];
93  uint8_t sub_layer_max_14bit_constraint_flag[HEVC_MAX_SUB_LAYERS];
94 
95  uint8_t sub_layer_inbld_flag[HEVC_MAX_SUB_LAYERS];
96 
97  uint8_t sub_layer_level_idc[HEVC_MAX_SUB_LAYERS];
99 
101  uint32_t bit_rate_value_minus1[HEVC_MAX_CPB_CNT];
102  uint32_t cpb_size_value_minus1[HEVC_MAX_CPB_CNT];
103  uint32_t cpb_size_du_value_minus1[HEVC_MAX_CPB_CNT];
104  uint32_t bit_rate_du_value_minus1[HEVC_MAX_CPB_CNT];
107 
108 typedef struct H265RawHRDParameters {
111 
117 
121 
125 
126  uint8_t fixed_pic_rate_general_flag[HEVC_MAX_SUB_LAYERS];
127  uint8_t fixed_pic_rate_within_cvs_flag[HEVC_MAX_SUB_LAYERS];
128  uint16_t elemental_duration_in_tc_minus1[HEVC_MAX_SUB_LAYERS];
129  uint8_t low_delay_hrd_flag[HEVC_MAX_SUB_LAYERS];
130  uint8_t cpb_cnt_minus1[HEVC_MAX_SUB_LAYERS];
131  H265RawSubLayerHRDParameters nal_sub_layer_hrd_parameters[HEVC_MAX_SUB_LAYERS];
132  H265RawSubLayerHRDParameters vcl_sub_layer_hrd_parameters[HEVC_MAX_SUB_LAYERS];
134 
135 typedef struct H265RawVUI {
138  uint16_t sar_width;
139  uint16_t sar_height;
140 
143 
151 
155 
159 
165 
168  uint32_t vui_time_scale;
173 
183 } H265RawVUI;
184 
185 typedef struct H265RawPSExtensionData {
187  size_t bit_length;
190 
191 typedef struct H265RawVPS {
193 
195 
201 
203 
205  uint8_t vps_max_dec_pic_buffering_minus1[HEVC_MAX_SUB_LAYERS];
206  uint8_t vps_max_num_reorder_pics[HEVC_MAX_SUB_LAYERS];
207  uint32_t vps_max_latency_increase_plus1[HEVC_MAX_SUB_LAYERS];
208 
211  uint8_t layer_id_included_flag[HEVC_MAX_LAYER_SETS][HEVC_MAX_LAYERS];
212 
215  uint32_t vps_time_scale;
219  uint16_t hrd_layer_set_idx[HEVC_MAX_LAYER_SETS];
220  uint8_t cprms_present_flag[HEVC_MAX_LAYER_SETS];
222 
225 } H265RawVPS;
226 
227 typedef struct H265RawSTRefPicSet {
229 
233 
234  uint8_t used_by_curr_pic_flag[HEVC_MAX_REFS];
235  uint8_t use_delta_flag[HEVC_MAX_REFS];
236 
239  uint16_t delta_poc_s0_minus1[HEVC_MAX_REFS];
240  uint8_t used_by_curr_pic_s0_flag[HEVC_MAX_REFS];
241  uint16_t delta_poc_s1_minus1[HEVC_MAX_REFS];
242  uint8_t used_by_curr_pic_s1_flag[HEVC_MAX_REFS];
244 
245 typedef struct H265RawScalingList {
246  uint8_t scaling_list_pred_mode_flag[4][6];
247  uint8_t scaling_list_pred_matrix_id_delta[4][6];
248  int16_t scaling_list_dc_coef_minus8[4][6];
249  int8_t scaling_list_delta_coeff[4][6][64];
251 
252 typedef struct H265RawSPS {
254 
256 
259 
261 
263 
266 
269 
275 
278 
280 
282  uint8_t sps_max_dec_pic_buffering_minus1[HEVC_MAX_SUB_LAYERS];
283  uint8_t sps_max_num_reorder_pics[HEVC_MAX_SUB_LAYERS];
284  uint32_t sps_max_latency_increase_plus1[HEVC_MAX_SUB_LAYERS];
285 
292 
296 
299 
306 
309 
312  uint16_t lt_ref_pic_poc_lsb_sps[HEVC_MAX_LONG_TERM_REF_PICS];
313  uint8_t used_by_curr_pic_lt_sps_flag[HEVC_MAX_LONG_TERM_REF_PICS];
314 
317 
320 
327 
329 
330  // Range extension.
340 
341  // Screen content coding extension.
348  uint16_t sps_palette_predictor_initializers[3][128];
349 
352 } H265RawSPS;
353 
354 typedef struct H265RawPPS {
356 
359 
365 
368 
370 
375 
379 
382 
386 
390  uint16_t column_width_minus1[HEVC_MAX_TILE_COLUMNS];
391  uint16_t row_height_minus1[HEVC_MAX_TILE_ROWS];
393 
400 
403 
406 
408 
415 
417 
418  // Range extension.
424  int8_t cb_qp_offset_list[6];
425  int8_t cr_qp_offset_list[6];
428 
429  // Screen content coding extension.
436 
442  uint16_t pps_palette_predictor_initializers[3][128];
443 } H265RawPPS;
444 
445 typedef struct H265RawAUD {
447 
449 } H265RawAUD;
450 
451 typedef struct H265RawSliceHeader {
453 
457 
460 
461  uint8_t slice_reserved_flag[8];
463 
466 
468 
472 
475  uint8_t lt_idx_sps[HEVC_MAX_REFS];
476  uint8_t poc_lsb_lt[HEVC_MAX_REFS];
477  uint8_t used_by_curr_pic_lt_flag[HEVC_MAX_REFS];
478  uint8_t delta_poc_msb_present_flag[HEVC_MAX_REFS];
479  uint32_t delta_poc_msb_cycle_lt[HEVC_MAX_REFS];
480 
482 
485 
489 
491  uint8_t list_entry_l0[HEVC_MAX_REFS];
493  uint8_t list_entry_l1[HEVC_MAX_REFS];
494 
499 
502  uint8_t luma_weight_l0_flag[HEVC_MAX_REFS];
503  uint8_t chroma_weight_l0_flag[HEVC_MAX_REFS];
504  int8_t delta_luma_weight_l0[HEVC_MAX_REFS];
505  int16_t luma_offset_l0[HEVC_MAX_REFS];
506  int8_t delta_chroma_weight_l0[HEVC_MAX_REFS][2];
507  int16_t chroma_offset_l0[HEVC_MAX_REFS][2];
508  uint8_t luma_weight_l1_flag[HEVC_MAX_REFS];
509  uint8_t chroma_weight_l1_flag[HEVC_MAX_REFS];
510  int8_t delta_luma_weight_l1[HEVC_MAX_REFS];
511  int16_t luma_offset_l1[HEVC_MAX_REFS];
512  int8_t delta_chroma_weight_l1[HEVC_MAX_REFS][2];
513  int16_t chroma_offset_l1[HEVC_MAX_REFS][2];
514 
517 
525 
531 
534  uint32_t entry_point_offset_minus1[HEVC_MAX_ENTRY_POINT_OFFSETS];
535 
537  uint8_t slice_segment_header_extension_data_byte[256];
539 
540 
541 typedef struct H265RawSlice {
543 
545  size_t data_size;
548 } H265RawSlice;
549 
550 
558 
559  uint32_t nal_initial_cpb_removal_delay[HEVC_MAX_CPB_CNT];
560  uint32_t nal_initial_cpb_removal_offset[HEVC_MAX_CPB_CNT];
561  uint32_t nal_initial_alt_cpb_removal_delay[HEVC_MAX_CPB_CNT];
562  uint32_t nal_initial_alt_cpb_removal_offset[HEVC_MAX_CPB_CNT];
563 
564  uint32_t vcl_initial_cpb_removal_delay[HEVC_MAX_CPB_CNT];
565  uint32_t vcl_initial_cpb_removal_offset[HEVC_MAX_CPB_CNT];
566  uint32_t vcl_initial_alt_cpb_removal_delay[HEVC_MAX_CPB_CNT];
567  uint32_t vcl_initial_alt_cpb_removal_offset[HEVC_MAX_CPB_CNT];
568 
571 
572 typedef struct H265RawSEIPicTiming {
576 
580 
584  uint16_t num_nalus_in_du_minus1[HEVC_MAX_SLICE_SEGMENTS];
585  uint32_t du_cpb_removal_delay_increment_minus1[HEVC_MAX_SLICE_SEGMENTS];
587 
588 typedef struct H265RawSEIPanScanRect {
592  int32_t pan_scan_rect_left_offset[3];
593  int32_t pan_scan_rect_right_offset[3];
594  int32_t pan_scan_rect_top_offset[3];
595  int32_t pan_scan_rect_bottom_offset[3];
598 
603  size_t data_length;
606 
608  uint8_t uuid_iso_iec_11578[16];
610  size_t data_length;
613 
614 typedef struct H265RawSEIRecoveryPoint {
619 
628 
634  uint8_t active_seq_parameter_set_id[HEVC_MAX_SPS_COUNT];
635  uint8_t layer_sps_idx[HEVC_MAX_LAYERS];
637 
640  uint8_t picture_md5[3][16];
641  uint16_t picture_crc[3];
642  uint32_t picture_checksum[3];
644 
645 typedef struct H265RawSEITimeCode {
647  uint8_t clock_timestamp_flag[3];
648  uint8_t units_field_based_flag[3];
649  uint8_t counting_type[3];
650  uint8_t full_timestamp_flag[3];
651  uint8_t discontinuity_flag[3];
652  uint8_t cnt_dropped_flag[3];
653  uint16_t n_frames[3];
654  uint8_t seconds_value[3];
655  uint8_t minutes_value[3];
656  uint8_t hours_value[3];
657  uint8_t seconds_flag[3];
658  uint8_t minutes_flag[3];
659  uint8_t hours_flag[3];
660  uint8_t time_offset_length[3];
661  int32_t time_offset_value[3];
663 
665  uint16_t display_primaries_x[3];
666  uint16_t display_primaries_y[3];
667  uint16_t white_point_x;
668  uint16_t white_point_y;
672 
677 
681 
692 
693 typedef struct H265RawSEIPayload {
694  uint32_t payload_type;
695  uint32_t payload_size;
696  union {
712  struct {
714  size_t data_length;
716  } other;
717  } payload;
719 
720 typedef struct H265RawSEI {
722 
725 } H265RawSEI;
726 
728  // Reader/writer context in common with the H.264 implementation.
730 
731  // All currently available parameter sets. These are updated when
732  // any parameter set NAL unit is read/written with this context.
739 
740  // The currently active parameter sets. These are updated when any
741  // NAL unit refers to the relevant parameter set. These pointers
742  // must also be present in the arrays above.
747 
748 
749 #endif /* AVCODEC_CBS_H265_H */
uint8_t pps_num_palette_predictor_initializer
Definition: cbs_h265.h:438
uint16_t num_decoding_units_minus1
Definition: cbs_h265.h:581
uint8_t sps_video_parameter_set_id
Definition: cbs_h265.h:255
uint8_t loop_filter_across_tiles_enabled_flag
Definition: cbs_h265.h:392
uint8_t alpha_channel_bit_depth_minus8
Definition: cbs_h265.h:685
uint8_t use_integer_mv_flag
Definition: cbs_h265.h:516
uint8_t sps_curr_pic_ref_enabled_flag
Definition: cbs_h265.h:342
uint16_t def_disp_win_top_offset
Definition: cbs_h265.h:163
uint8_t alpha_channel_clip_type_flag
Definition: cbs_h265.h:690
uint8_t transfer_characteristics
Definition: cbs_h265.h:149
H265RawSEITimeCode time_code
Definition: cbs_h265.h:706
uint8_t pps_pic_parameter_set_id
Definition: cbs_h265.h:357
H265RawSEIUserDataUnregistered user_data_unregistered
Definition: cbs_h265.h:701
uint8_t vps_poc_proportional_to_timing_flag
Definition: cbs_h265.h:216
uint8_t num_long_term_pics
Definition: cbs_h265.h:474
uint8_t deblocking_filter_override_enabled_flag
Definition: cbs_h265.h:396
uint8_t num_ref_idx_l0_default_active_minus1
Definition: cbs_h265.h:366
uint8_t log2_max_mv_length_horizontal
Definition: cbs_h265.h:181
uint8_t motion_vectors_over_pic_boundaries_flag
Definition: cbs_h265.h:176
uint8_t sps_sub_layer_ordering_info_present_flag
Definition: cbs_h265.h:281
uint8_t slice_temporal_mvp_enabled_flag
Definition: cbs_h265.h:481
H265RawHRDParameters hrd_parameters
Definition: cbs_h265.h:172
uint8_t nal_hrd_parameters_present_flag
Definition: cbs_h265.h:109
uint8_t general_max_8bit_constraint_flag
Definition: cbs_h265.h:57
uint8_t chroma_qp_offset_list_enabled_flag
Definition: cbs_h265.h:421
uint8_t bitstream_restriction_flag
Definition: cbs_h265.h:174
uint8_t general_max_14bit_constraint_flag
Definition: cbs_h265.h:64
uint8_t bit_depth_luma_minus8
Definition: cbs_h265.h:276
AVBufferRef * data_ref
Definition: cbs_h265.h:188
uint8_t frame_field_info_present_flag
Definition: cbs_h265.h:158
uint8_t sps_range_extension_flag
Definition: cbs_h265.h:322
int8_t pps_act_y_qp_offset_plus5
Definition: cbs_h265.h:433
H265RawSEIContentLightLevelInfo content_light_level
Definition: cbs_h265.h:708
uint8_t ref_pic_list_modification_flag_l0
Definition: cbs_h265.h:490
uint8_t vui_timing_info_present_flag
Definition: cbs_h265.h:166
uint8_t tick_divisor_minus2
Definition: cbs_h265.h:113
uint8_t * data
Definition: cbs_h265.h:544
uint8_t log2_max_transform_skip_block_size_minus2
Definition: cbs_h265.h:419
uint8_t pps_extension_present_flag
Definition: cbs_h265.h:409
uint8_t sps_max_sub_layers_minus1
Definition: cbs_h265.h:257
uint16_t slice_pic_order_cnt_lsb
Definition: cbs_h265.h:467
uint8_t tiles_enabled_flag
Definition: cbs_h265.h:384
uint8_t display_orientation_persistence_flag
Definition: cbs_h265.h:626
uint8_t du_common_cpb_removal_delay_flag
Definition: cbs_h265.h:582
int8_t slice_qp_delta
Definition: cbs_h265.h:518
uint8_t restricted_ref_pic_lists_flag
Definition: cbs_h265.h:177
uint8_t bit_rate_scale
Definition: cbs_h265.h:118
uint16_t abs_delta_rps_minus1
Definition: cbs_h265.h:232
H265RawProfileTierLevel profile_tier_level
Definition: cbs_h265.h:260
uint8_t pps_slice_chroma_qp_offsets_present_flag
Definition: cbs_h265.h:378
int8_t slice_beta_offset_div2
Definition: cbs_h265.h:528
uint8_t general_inbld_flag
Definition: cbs_h265.h:66
uint8_t collocated_from_l0_flag
Definition: cbs_h265.h:497
uint8_t cpb_size_scale
Definition: cbs_h265.h:119
uint16_t def_disp_win_bottom_offset
Definition: cbs_h265.h:164
uint8_t default_display_window_flag
Definition: cbs_h265.h:160
H265RawSEIDisplayOrientation display_orientation
Definition: cbs_h265.h:703
uint8_t sample_adaptive_offset_enabled_flag
Definition: cbs_h265.h:298
uint8_t vui_parameters_present_flag
Definition: cbs_h265.h:318
CodedBitstreamH2645Context common
Definition: cbs_h265.h:729
uint8_t pcm_sample_bit_depth_luma_minus1
Definition: cbs_h265.h:301
uint8_t bit_depth_chroma_minus8
Definition: cbs_h265.h:277
uint8_t tiles_fixed_structure_flag
Definition: cbs_h265.h:175
int8_t delta_chroma_log2_weight_denom
Definition: cbs_h265.h:501
uint8_t * data
Definition: cbs_h265.h:713
uint8_t general_profile_idc
Definition: cbs_h265.h:46
H265RawSEIBufferingPeriod buffering_period
Definition: cbs_h265.h:697
uint16_t slice_segment_address
Definition: cbs_h265.h:459
uint32_t vps_num_units_in_tick
Definition: cbs_h265.h:214
uint8_t sign_data_hiding_enabled_flag
Definition: cbs_h265.h:363
uint16_t conf_win_right_offset
Definition: cbs_h265.h:272
uint8_t itu_t_t35_country_code_extension_byte
Definition: cbs_h265.h:601
AVBufferRef * data_ref
Definition: cbs_h265.h:715
uint8_t explicit_rdpcm_enabled_flag
Definition: cbs_h265.h:334
uint8_t slice_deblocking_filter_disabled_flag
Definition: cbs_h265.h:527
uint16_t pic_height_in_luma_samples
Definition: cbs_h265.h:268
uint32_t pic_dpb_output_du_delay
Definition: cbs_h265.h:579
uint8_t
uint8_t monochrome_palette_flag
Definition: cbs_h265.h:439
int8_t slice_tc_offset_div2
Definition: cbs_h265.h:529
uint8_t au_cpb_removal_delay_length_minus1
Definition: cbs_h265.h:123
int8_t slice_cb_qp_offset
Definition: cbs_h265.h:519
H265RawScalingList scaling_list
Definition: cbs_h265.h:402
uint8_t colour_primaries
Definition: cbs_h265.h:148
uint8_t vps_sub_layer_ordering_info_present_flag
Definition: cbs_h265.h:204
uint16_t slice_segment_header_extension_length
Definition: cbs_h265.h:536
uint8_t general_max_12bit_constraint_flag
Definition: cbs_h265.h:55
uint8_t five_minus_max_num_merge_cand
Definition: cbs_h265.h:515
uint8_t diff_cu_chroma_qp_offset_depth
Definition: cbs_h265.h:422
int data_bit_start
Definition: cbs_h265.h:546
uint8_t video_format
Definition: cbs_h265.h:145
H265RawSTRefPicSet short_term_ref_pic_set
Definition: cbs_h265.h:470
uint8_t vps_timing_info_present_flag
Definition: cbs_h265.h:213
uint8_t log2_max_pic_order_cnt_lsb_minus4
Definition: cbs_h265.h:279
uint8_t sps_extension_4bits
Definition: cbs_h265.h:326
uint8_t constrained_intra_pred_flag
Definition: cbs_h265.h:371
uint8_t dpb_output_delay_length_minus1
Definition: cbs_h265.h:124
uint8_t cross_component_prediction_enabled_flag
Definition: cbs_h265.h:420
uint8_t matrix_coefficients
Definition: cbs_h265.h:150
uint8_t aspect_ratio_info_present_flag
Definition: cbs_h265.h:136
uint8_t vps_max_sub_layers_minus1
Definition: cbs_h265.h:199
uint16_t def_disp_win_right_offset
Definition: cbs_h265.h:162
uint8_t nuh_temporal_id_plus1
Definition: cbs_h265.h:40
uint8_t general_max_monochrome_constraint_flag
Definition: cbs_h265.h:60
uint8_t log2_min_luma_transform_block_size_minus2
Definition: cbs_h265.h:288
uint8_t sps_scaling_list_data_present_flag
Definition: cbs_h265.h:294
H265RawPSExtensionData extension_data
Definition: cbs_h265.h:416
uint8_t log2_min_pcm_luma_coding_block_size_minus3
Definition: cbs_h265.h:303
uint8_t video_full_range_flag
Definition: cbs_h265.h:146
H265RawSEIAlternativeTransferCharacteristics alternative_transfer_characteristics
Definition: cbs_h265.h:710
uint8_t chroma_sample_loc_type_bottom_field
Definition: cbs_h265.h:154
uint8_t irap_cpb_params_present_flag
Definition: cbs_h265.h:553
uint16_t vps_num_layer_sets_minus1
Definition: cbs_h265.h:210
uint8_t video_signal_type_present_flag
Definition: cbs_h265.h:144
uint8_t source_scan_type
Definition: cbs_h265.h:574
uint8_t inter_ref_pic_set_prediction_flag
Definition: cbs_h265.h:228
H265RawVUI vui
Definition: cbs_h265.h:319
uint8_t cabac_bypass_alignment_enabled_flag
Definition: cbs_h265.h:339
uint8_t uniform_spacing_flag
Definition: cbs_h265.h:389
uint8_t palette_max_size
Definition: cbs_h265.h:344
uint8_t delta_palette_max_predictor_size
Definition: cbs_h265.h:345
uint8_t display_orientation_cancel_flag
Definition: cbs_h265.h:621
uint8_t residual_adaptive_colour_transform_enabled_flag
Definition: cbs_h265.h:431
uint32_t vui_num_ticks_poc_diff_one_minus1
Definition: cbs_h265.h:170
uint8_t neutral_chroma_indication_flag
Definition: cbs_h265.h:156
uint8_t log2_max_mv_length_vertical
Definition: cbs_h265.h:182
uint8_t pps_multilayer_extension_flag
Definition: cbs_h265.h:411
uint8_t sps_scc_extension_flag
Definition: cbs_h265.h:325
uint8_t vps_video_parameter_set_id
Definition: cbs_h265.h:194
uint8_t cu_chroma_qp_offset_enabled_flag
Definition: cbs_h265.h:524
uint8_t pps_slice_act_qp_offsets_present_flag
Definition: cbs_h265.h:432
static int FUNC() st_ref_pic_set(CodedBitstreamContext *ctx, RWContext *rw, H265RawSTRefPicSet *current, int st_rps_idx, const H265RawSPS *sps)
uint8_t nuh_layer_id
Definition: cbs_h265.h:39
uint8_t pps_scc_extension_flag
Definition: cbs_h265.h:413
uint8_t conformance_window_flag
Definition: cbs_h265.h:270
uint8_t pan_scan_cnt_minus1
Definition: cbs_h265.h:591
uint8_t max_bits_per_min_cu_denom
Definition: cbs_h265.h:180
uint8_t dependent_slice_segment_flag
Definition: cbs_h265.h:458
uint8_t intra_smoothing_disabled_flag
Definition: cbs_h265.h:336
uint8_t chroma_loc_info_present_flag
Definition: cbs_h265.h:152
uint8_t num_negative_pics
Definition: cbs_h265.h:237
AVBufferRef * data_ref
Definition: cbs_h265.h:547
uint8_t du_cpb_removal_delay_increment_length_minus1
Definition: cbs_h265.h:114
uint8_t duplicate_flag
Definition: cbs_h265.h:575
uint8_t general_interlaced_source_flag
Definition: cbs_h265.h:51
uint8_t general_tier_flag
Definition: cbs_h265.h:45
uint8_t transform_skip_enabled_flag
Definition: cbs_h265.h:372
H265RawNALUnitHeader nal_unit_header
Definition: cbs_h265.h:192
uint8_t pcm_sample_bit_depth_chroma_minus1
Definition: cbs_h265.h:302
H265RawSEIActiveParameterSets active_parameter_sets
Definition: cbs_h265.h:704
uint16_t sar_height
Definition: cbs_h265.h:139
uint8_t chroma_sample_loc_type_top_field
Definition: cbs_h265.h:153
uint8_t vps_max_layers_minus1
Definition: cbs_h265.h:198
uint8_t pps_range_extension_flag
Definition: cbs_h265.h:410
uint32_t vui_time_scale
Definition: cbs_h265.h:168
uint16_t conf_win_bottom_offset
Definition: cbs_h265.h:274
H265RawNALUnitHeader nal_unit_header
Definition: cbs_h265.h:446
uint8_t motion_vector_resolution_control_idc
Definition: cbs_h265.h:350
uint8_t pan_scan_rect_cancel_flag
Definition: cbs_h265.h:590
uint8_t slice_type
Definition: cbs_h265.h:462
uint8_t extended_precision_processing_flag
Definition: cbs_h265.h:335
uint8_t ref_pic_list_modification_flag_l1
Definition: cbs_h265.h:492
uint8_t bp_seq_parameter_set_id
Definition: cbs_h265.h:552
uint16_t min_spatial_segmentation_idc
Definition: cbs_h265.h:178
uint8_t scaling_list_enabled_flag
Definition: cbs_h265.h:293
uint8_t general_one_picture_only_constraint_flag
Definition: cbs_h265.h:62
uint32_t payload_type
Definition: cbs_h265.h:694
H265RawProfileTierLevel profile_tier_level
Definition: cbs_h265.h:202
H265RawSEIPicTiming pic_timing
Definition: cbs_h265.h:698
uint16_t pan_scan_rect_persistence_flag
Definition: cbs_h265.h:596
uint8_t general_max_422chroma_constraint_flag
Definition: cbs_h265.h:58
uint8_t pic_type
Definition: cbs_h265.h:448
uint16_t sar_width
Definition: cbs_h265.h:138
H265RawPSExtensionData extension_data
Definition: cbs_h265.h:224
uint8_t cpb_size_du_scale
Definition: cbs_h265.h:120
uint8_t transquant_bypass_enabled_flag
Definition: cbs_h265.h:383
uint8_t general_intra_constraint_flag
Definition: cbs_h265.h:61
uint8_t vui_hrd_parameters_present_flag
Definition: cbs_h265.h:171
uint8_t diff_cu_qp_delta_depth
Definition: cbs_h265.h:374
uint8_t num_long_term_ref_pics_sps
Definition: cbs_h265.h:311
int8_t pps_beta_offset_div2
Definition: cbs_h265.h:398
uint8_t general_non_packed_constraint_flag
Definition: cbs_h265.h:52
uint8_t short_term_ref_pic_set_idx
Definition: cbs_h265.h:471
uint8_t pps_deblocking_filter_disabled_flag
Definition: cbs_h265.h:397
int32_t
uint8_t colour_plane_id
Definition: cbs_h265.h:465
uint8_t sps_seq_parameter_set_id
Definition: cbs_h265.h:262
uint8_t log2_sao_offset_scale_chroma
Definition: cbs_h265.h:427
uint16_t pic_width_in_luma_samples
Definition: cbs_h265.h:267
uint8_t palette_mode_enabled_flag
Definition: cbs_h265.h:343
uint8_t high_precision_offsets_enabled_flag
Definition: cbs_h265.h:337
uint8_t vps_base_layer_available_flag
Definition: cbs_h265.h:197
uint8_t num_clock_ts
Definition: cbs_h265.h:646
uint8_t lists_modification_present_flag
Definition: cbs_h265.h:404
uint8_t log2_min_luma_coding_block_size_minus3
Definition: cbs_h265.h:286
uint8_t vcl_hrd_parameters_present_flag
Definition: cbs_h265.h:110
uint8_t implicit_rdpcm_enabled_flag
Definition: cbs_h265.h:333
static int FUNC() hrd_parameters(CodedBitstreamContext *ctx, RWContext *rw, H264RawHRD *current)
uint8_t pps_seq_parameter_set_id
Definition: cbs_h265.h:358
uint8_t cabac_init_present_flag
Definition: cbs_h265.h:364
uint16_t vps_num_hrd_parameters
Definition: cbs_h265.h:218
uint8_t num_ref_idx_l1_active_minus1
Definition: cbs_h265.h:488
uint8_t general_max_420chroma_constraint_flag
Definition: cbs_h265.h:59
uint8_t num_extra_slice_header_bits
Definition: cbs_h265.h:362
uint8_t transform_skip_context_enabled_flag
Definition: cbs_h265.h:332
uint8_t delta_rps_sign
Definition: cbs_h265.h:231
H265RawScalingList scaling_list
Definition: cbs_h265.h:295
uint8_t chroma_qp_offset_list_len_minus1
Definition: cbs_h265.h:423
uint8_t max_bytes_per_pic_denom
Definition: cbs_h265.h:179
int8_t slice_act_y_qp_offset
Definition: cbs_h265.h:521
const H265RawSPS * active_sps
Definition: cbs_h265.h:744
uint8_t num_ref_idx_l0_active_minus1
Definition: cbs_h265.h:487
uint8_t payload_count
Definition: cbs_h265.h:724
uint16_t alpha_transparent_value
Definition: cbs_h265.h:686
H265RawNALUnitHeader nal_unit_header
Definition: cbs_h265.h:253
uint32_t du_common_cpb_removal_delay_increment_minus1
Definition: cbs_h265.h:583
uint8_t log2_diff_max_min_pcm_luma_coding_block_size
Definition: cbs_h265.h:304
uint8_t entropy_coding_sync_enabled_flag
Definition: cbs_h265.h:385
uint8_t output_flag_present_flag
Definition: cbs_h265.h:361
uint8_t weighted_bipred_flag
Definition: cbs_h265.h:381
uint16_t conf_win_top_offset
Definition: cbs_h265.h:273
uint8_t dependent_slice_segments_enabled_flag
Definition: cbs_h265.h:360
uint8_t sps_temporal_mvp_enabled_flag
Definition: cbs_h265.h:315
uint32_t payload_size
Definition: cbs_h265.h:695
H265RawSEIUserDataRegistered user_data_registered
Definition: cbs_h265.h:700
uint8_t general_level_idc
Definition: cbs_h265.h:68
uint32_t pic_dpb_output_delay
Definition: cbs_h265.h:578
uint8_t luma_bit_depth_entry_minus8
Definition: cbs_h265.h:440
int8_t slice_cr_qp_offset
Definition: cbs_h265.h:520
uint32_t vui_num_units_in_tick
Definition: cbs_h265.h:167
uint8_t short_term_ref_pic_set_sps_flag
Definition: cbs_h265.h:469
uint8_t slice_loop_filter_across_slices_enabled_flag
Definition: cbs_h265.h:530
uint8_t luma_log2_weight_denom
Definition: cbs_h265.h:500
uint8_t max_transform_hierarchy_depth_intra
Definition: cbs_h265.h:291
uint8_t no_output_of_prior_pics_flag
Definition: cbs_h265.h:455
uint8_t mvd_l1_zero_flag
Definition: cbs_h265.h:495
uint8_t pps_loop_filter_across_slices_enabled_flag
Definition: cbs_h265.h:394
uint8_t weighted_pred_flag
Definition: cbs_h265.h:380
uint8_t use_alt_cpb_params_flag
Definition: cbs_h265.h:569
H265RawSEIAlphaChannelInfo alpha_channel_info
Definition: cbs_h265.h:711
uint8_t sps_temporal_id_nesting_flag
Definition: cbs_h265.h:258
int8_t pps_cb_qp_offset
Definition: cbs_h265.h:376
H265RawSEIMasteringDisplayColourVolume mastering_display
Definition: cbs_h265.h:707
uint8_t deblocking_filter_control_present_flag
Definition: cbs_h265.h:395
uint8_t vps_max_layer_id
Definition: cbs_h265.h:209
uint16_t conf_win_left_offset
Definition: cbs_h265.h:271
uint8_t collocated_ref_idx
Definition: cbs_h265.h:498
uint8_t amp_enabled_flag
Definition: cbs_h265.h:297
static int FUNC() pps(CodedBitstreamContext *ctx, RWContext *rw, H264RawPPS *current)
uint8_t general_max_10bit_constraint_flag
Definition: cbs_h265.h:56
uint8_t sps_extension_present_flag
Definition: cbs_h265.h:321
uint8_t log2_sao_offset_scale_luma
Definition: cbs_h265.h:426
uint8_t pps_palette_predictor_initializer_present_flag
Definition: cbs_h265.h:437
uint16_t num_entry_point_offsets
Definition: cbs_h265.h:532
const H265RawVPS * active_vps
Definition: cbs_h265.h:743
uint32_t au_cpb_removal_delay_minus1
Definition: cbs_h265.h:577
uint8_t delta_idx_minus1
Definition: cbs_h265.h:230
static int FUNC() sps(CodedBitstreamContext *ctx, RWContext *rw, H264RawSPS *current)
uint8_t chroma_bit_depth_entry_minus8
Definition: cbs_h265.h:441
uint8_t pic_struct
Definition: cbs_h265.h:573
uint8_t chroma_format_idc
Definition: cbs_h265.h:264
uint8_t general_lower_bit_rate_constraint_flag
Definition: cbs_h265.h:63
uint8_t offset_len_minus1
Definition: cbs_h265.h:533
const H265RawPPS * active_pps
Definition: cbs_h265.h:745
uint8_t vps_base_layer_internal_flag
Definition: cbs_h265.h:196
uint8_t overscan_appropriate_flag
Definition: cbs_h265.h:142
static int FUNC() vps(CodedBitstreamContext *ctx, RWContext *rw, H265RawVPS *current)
uint8_t sps_num_palette_predictor_initializer_minus1
Definition: cbs_h265.h:347
uint8_t field_seq_flag
Definition: cbs_h265.h:157
uint8_t pcm_loop_filter_disabled_flag
Definition: cbs_h265.h:305
H265RawNALUnitHeader nal_unit_header
Definition: cbs_h265.h:355
uint8_t num_positive_pics
Definition: cbs_h265.h:238
uint8_t general_frame_only_constraint_flag
Definition: cbs_h265.h:53
H265RawSEIDecodedPictureHash decoded_picture_hash
Definition: cbs_h265.h:705
uint8_t sps_3d_extension_flag
Definition: cbs_h265.h:324
int8_t pps_cr_qp_offset
Definition: cbs_h265.h:377
uint8_t slice_pic_parameter_set_id
Definition: cbs_h265.h:456
uint8_t vui_poc_proportional_to_timing_flag
Definition: cbs_h265.h:169
A reference to a data buffer.
Definition: buffer.h:81
uint8_t general_progressive_source_flag
Definition: cbs_h265.h:50
H265RawSEIRecoveryPoint recovery_point
Definition: cbs_h265.h:702
uint8_t max_transform_hierarchy_depth_inter
Definition: cbs_h265.h:290
uint8_t alpha_channel_cancel_flag
Definition: cbs_h265.h:683
H265RawPSExtensionData extension_data
Definition: cbs_h265.h:328
uint16_t def_disp_win_left_offset
Definition: cbs_h265.h:161
uint32_t pan_scan_rect_id
Definition: cbs_h265.h:589
uint8_t pps_scaling_list_data_present_flag
Definition: cbs_h265.h:401
int8_t slice_act_cr_qp_offset
Definition: cbs_h265.h:523
uint8_t cabac_init_flag
Definition: cbs_h265.h:496
uint8_t num_tile_rows_minus1
Definition: cbs_h265.h:388
uint8_t pcm_enabled_flag
Definition: cbs_h265.h:300
uint8_t intra_boundary_filtering_disable_flag
Definition: cbs_h265.h:351
int8_t pps_act_cb_qp_offset_plus5
Definition: cbs_h265.h:434
uint8_t pic_output_flag
Definition: cbs_h265.h:464
uint8_t slice_sao_luma_flag
Definition: cbs_h265.h:483
uint8_t num_tile_columns_minus1
Definition: cbs_h265.h:387
uint8_t sub_pic_hrd_params_present_flag
Definition: cbs_h265.h:112
uint8_t pps_3d_extension_flag
Definition: cbs_h265.h:412
uint8_t log2_diff_max_min_luma_coding_block_size
Definition: cbs_h265.h:287
uint8_t persistent_rice_adaptation_enabled_flag
Definition: cbs_h265.h:338
uint16_t display_orientation_repetition_period
Definition: cbs_h265.h:625
uint8_t sub_pic_cpb_params_in_pic_timing_sei_flag
Definition: cbs_h265.h:115
uint8_t vps_extension_flag
Definition: cbs_h265.h:223
uint8_t overscan_info_present_flag
Definition: cbs_h265.h:141
uint8_t slice_sao_chroma_flag
Definition: cbs_h265.h:484
H265RawSEIPanScanRect pan_scan_rect
Definition: cbs_h265.h:699
uint8_t sps_multilayer_extension_flag
Definition: cbs_h265.h:323
H265RawSliceHeader header
Definition: cbs_h265.h:542
uint8_t dpb_output_delay_du_length_minus1
Definition: cbs_h265.h:116
uint32_t vps_time_scale
Definition: cbs_h265.h:215
uint8_t num_short_term_ref_pic_sets
Definition: cbs_h265.h:307
uint8_t log2_parallel_merge_level_minus2
Definition: cbs_h265.h:405
uint8_t vps_temporal_id_nesting_flag
Definition: cbs_h265.h:200
size_t data_length
Definition: cbs_h265.h:714
int8_t pps_tc_offset_div2
Definition: cbs_h265.h:399
size_t data_size
Definition: cbs_h265.h:545
uint8_t aspect_ratio_idc
Definition: cbs_h265.h:137
H265RawNALUnitHeader nal_unit_header
Definition: cbs_h265.h:452
uint8_t num_long_term_sps
Definition: cbs_h265.h:473
uint8_t general_profile_space
Definition: cbs_h265.h:44
uint8_t transform_skip_rotation_enabled_flag
Definition: cbs_h265.h:331
int8_t init_qp_minus26
Definition: cbs_h265.h:369
uint32_t vps_num_ticks_poc_diff_one_minus1
Definition: cbs_h265.h:217
uint8_t pps_curr_pic_ref_enabled_flag
Definition: cbs_h265.h:430
uint32_t au_cpb_removal_delay_delta_minus1
Definition: cbs_h265.h:557
uint8_t slice_segment_header_extension_present_flag
Definition: cbs_h265.h:407
uint8_t separate_colour_plane_flag
Definition: cbs_h265.h:265
uint8_t initial_cpb_removal_delay_length_minus1
Definition: cbs_h265.h:122
uint8_t strong_intra_smoothing_enabled_flag
Definition: cbs_h265.h:316
uint8_t colour_description_present_flag
Definition: cbs_h265.h:147
uint8_t pps_extension_4bits
Definition: cbs_h265.h:414
uint8_t log2_diff_max_min_luma_transform_block_size
Definition: cbs_h265.h:289
uint8_t long_term_ref_pics_present_flag
Definition: cbs_h265.h:310
uint8_t num_ref_idx_active_override_flag
Definition: cbs_h265.h:486
uint8_t nal_unit_type
Definition: cbs_h265.h:38
uint8_t sps_palette_predictor_initializer_present_flag
Definition: cbs_h265.h:346
int8_t pps_act_cr_qp_offset_plus3
Definition: cbs_h265.h:435
uint8_t deblocking_filter_override_flag
Definition: cbs_h265.h:526
uint8_t num_ref_idx_l1_default_active_minus1
Definition: cbs_h265.h:367
H265RawNALUnitHeader nal_unit_header
Definition: cbs_h265.h:721
int8_t slice_act_cb_qp_offset
Definition: cbs_h265.h:522
uint8_t first_slice_segment_in_pic_flag
Definition: cbs_h265.h:454
uint8_t cu_qp_delta_enabled_flag
Definition: cbs_h265.h:373