Lines Matching refs:gb

125 static void hvcc_parse_ptl(GetBitContext *gb,
134 general_ptl.profile_space = get_bits(gb, 2);
135 general_ptl.tier_flag = get_bits1(gb);
136 general_ptl.profile_idc = get_bits(gb, 5);
137 general_ptl.profile_compatibility_flags = get_bits_long(gb, 32);
138 general_ptl.constraint_indicator_flags = get_bits64(gb, 48);
139 general_ptl.level_idc = get_bits(gb, 8);
143 sub_layer_profile_present_flag[i] = get_bits1(gb);
144 sub_layer_level_present_flag[i] = get_bits1(gb);
149 skip_bits(gb, 2); // reserved_zero_2bits[i]
164 skip_bits_long(gb, 32);
165 skip_bits_long(gb, 32);
166 skip_bits (gb, 24);
170 skip_bits(gb, 8);
174 static void skip_sub_layer_hrd_parameters(GetBitContext *gb,
181 get_ue_golomb_long(gb); // bit_rate_value_minus1
182 get_ue_golomb_long(gb); // cpb_size_value_minus1
185 get_ue_golomb_long(gb); // cpb_size_du_value_minus1
186 get_ue_golomb_long(gb); // bit_rate_du_value_minus1
189 skip_bits1(gb); // cbr_flag
193 static int skip_hrd_parameters(GetBitContext *gb, uint8_t cprms_present_flag,
202 nal_hrd_parameters_present_flag = get_bits1(gb);
203 vcl_hrd_parameters_present_flag = get_bits1(gb);
207 sub_pic_hrd_params_present_flag = get_bits1(gb);
216 skip_bits(gb, 19);
222 skip_bits(gb, 8);
225 skip_bits(gb, 4); // cpb_size_du_scale
232 skip_bits(gb, 15);
240 uint8_t fixed_pic_rate_general_flag = get_bits1(gb);
243 fixed_pic_rate_within_cvs_flag = get_bits1(gb);
246 get_ue_golomb_long(gb); // elemental_duration_in_tc_minus1
248 low_delay_hrd_flag = get_bits1(gb);
251 cpb_cnt_minus1 = get_ue_golomb_long(gb);
257 skip_sub_layer_hrd_parameters(gb, cpb_cnt_minus1,
261 skip_sub_layer_hrd_parameters(gb, cpb_cnt_minus1,
268 static void skip_timing_info(GetBitContext *gb)
270 skip_bits_long(gb, 32); // num_units_in_tick
271 skip_bits_long(gb, 32); // time_scale
273 if (get_bits1(gb)) // poc_proportional_to_timing_flag
274 get_ue_golomb_long(gb); // num_ticks_poc_diff_one_minus1
277 static void hvcc_parse_vui(GetBitContext *gb,
283 if (get_bits1(gb)) // aspect_ratio_info_present_flag
284 if (get_bits(gb, 8) == 255) // aspect_ratio_idc
285 skip_bits_long(gb, 32); // sar_width u(16), sar_height u(16)
287 if (get_bits1(gb)) // overscan_info_present_flag
288 skip_bits1(gb); // overscan_appropriate_flag
290 if (get_bits1(gb)) { // video_signal_type_present_flag
291 skip_bits(gb, 4); // video_format u(3), video_full_range_flag u(1)
293 if (get_bits1(gb)) // colour_description_present_flag
299 skip_bits(gb, 24);
302 if (get_bits1(gb)) { // chroma_loc_info_present_flag
303 get_ue_golomb_long(gb); // chroma_sample_loc_type_top_field
304 get_ue_golomb_long(gb); // chroma_sample_loc_type_bottom_field
312 skip_bits(gb, 3);
314 if (get_bits1(gb)) { // default_display_window_flag
315 get_ue_golomb_long(gb); // def_disp_win_left_offset
316 get_ue_golomb_long(gb); // def_disp_win_right_offset
317 get_ue_golomb_long(gb); // def_disp_win_top_offset
318 get_ue_golomb_long(gb); // def_disp_win_bottom_offset
321 if (get_bits1(gb)) { // vui_timing_info_present_flag
322 skip_timing_info(gb);
324 if (get_bits1(gb)) // vui_hrd_parameters_present_flag
325 skip_hrd_parameters(gb, 1, max_sub_layers_minus1);
328 if (get_bits1(gb)) { // bitstream_restriction_flag
334 skip_bits(gb, 3);
336 min_spatial_segmentation_idc = get_ue_golomb_long(gb);
348 get_ue_golomb_long(gb); // max_bytes_per_pic_denom
349 get_ue_golomb_long(gb); // max_bits_per_min_cu_denom
350 get_ue_golomb_long(gb); // log2_max_mv_length_horizontal
351 get_ue_golomb_long(gb); // log2_max_mv_length_vertical
355 static void skip_sub_layer_ordering_info(GetBitContext *gb)
357 get_ue_golomb_long(gb); // max_dec_pic_buffering_minus1
358 get_ue_golomb_long(gb); // max_num_reorder_pics
359 get_ue_golomb_long(gb); // max_latency_increase_plus1
362 static int hvcc_parse_vps(GetBitContext *gb,
372 skip_bits(gb, 12);
374 vps_max_sub_layers_minus1 = get_bits(gb, 3);
391 skip_bits(gb, 17);
393 hvcc_parse_ptl(gb, hvcc, vps_max_sub_layers_minus1);
399 static void skip_scaling_list_data(GetBitContext *gb)
405 if (!get_bits1(gb)) // scaling_list_pred_mode_flag[i][j]
406 get_ue_golomb_long(gb); // scaling_list_pred_matrix_id_delta[i][j]
411 get_se_golomb_long(gb); // scaling_list_dc_coef_minus8[i-2][j]
414 get_se_golomb_long(gb); // scaling_list_delta_coef
418 static int parse_rps(GetBitContext *gb, unsigned int rps_idx,
424 if (rps_idx && get_bits1(gb)) { // inter_ref_pic_set_prediction_flag
429 skip_bits1 (gb); // delta_rps_sign
430 get_ue_golomb_long(gb); // abs_delta_rps_minus1
455 uint8_t used_by_curr_pic_flag = get_bits1(gb);
457 use_delta_flag = get_bits1(gb);
463 unsigned int num_negative_pics = get_ue_golomb_long(gb);
464 unsigned int num_positive_pics = get_ue_golomb_long(gb);
466 if ((num_positive_pics + (uint64_t)num_negative_pics) * 2 > get_bits_left(gb))
472 get_ue_golomb_long(gb); // delta_poc_s0_minus1[rps_idx]
473 skip_bits1 (gb); // used_by_curr_pic_s0_flag[rps_idx]
477 get_ue_golomb_long(gb); // delta_poc_s1_minus1[rps_idx]
478 skip_bits1 (gb); // used_by_curr_pic_s1_flag[rps_idx]
485 static int hvcc_parse_sps(GetBitContext *gb,
491 skip_bits(gb, 4); // sps_video_parameter_set_id
493 sps_max_sub_layers_minus1 = get_bits (gb, 3);
506 hvcc->temporalIdNested = get_bits1(gb);
508 hvcc_parse_ptl(gb, hvcc, sps_max_sub_layers_minus1);
510 get_ue_golomb_long(gb); // sps_seq_parameter_set_id
512 hvcc->chromaFormat = get_ue_golomb_long(gb);
515 skip_bits1(gb); // separate_colour_plane_flag
517 get_ue_golomb_long(gb); // pic_width_in_luma_samples
518 get_ue_golomb_long(gb); // pic_height_in_luma_samples
520 if (get_bits1(gb)) { // conformance_window_flag
521 get_ue_golomb_long(gb); // conf_win_left_offset
522 get_ue_golomb_long(gb); // conf_win_right_offset
523 get_ue_golomb_long(gb); // conf_win_top_offset
524 get_ue_golomb_long(gb); // conf_win_bottom_offset
527 hvcc->bitDepthLumaMinus8 = get_ue_golomb_long(gb);
528 hvcc->bitDepthChromaMinus8 = get_ue_golomb_long(gb);
529 log2_max_pic_order_cnt_lsb_minus4 = get_ue_golomb_long(gb);
532 i = get_bits1(gb) ? 0 : sps_max_sub_layers_minus1;
534 skip_sub_layer_ordering_info(gb);
536 get_ue_golomb_long(gb); // log2_min_luma_coding_block_size_minus3
537 get_ue_golomb_long(gb); // log2_diff_max_min_luma_coding_block_size
538 get_ue_golomb_long(gb); // log2_min_transform_block_size_minus2
539 get_ue_golomb_long(gb); // log2_diff_max_min_transform_block_size
540 get_ue_golomb_long(gb); // max_transform_hierarchy_depth_inter
541 get_ue_golomb_long(gb); // max_transform_hierarchy_depth_intra
543 if (get_bits1(gb) && // scaling_list_enabled_flag
544 get_bits1(gb)) // sps_scaling_list_data_present_flag
545 skip_scaling_list_data(gb);
547 skip_bits1(gb); // amp_enabled_flag
548 skip_bits1(gb); // sample_adaptive_offset_enabled_flag
550 if (get_bits1(gb)) { // pcm_enabled_flag
551 skip_bits (gb, 4); // pcm_sample_bit_depth_luma_minus1
552 skip_bits (gb, 4); // pcm_sample_bit_depth_chroma_minus1
553 get_ue_golomb_long(gb); // log2_min_pcm_luma_coding_block_size_minus3
554 get_ue_golomb_long(gb); // log2_diff_max_min_pcm_luma_coding_block_size
555 skip_bits1 (gb); // pcm_loop_filter_disabled_flag
558 num_short_term_ref_pic_sets = get_ue_golomb_long(gb);
563 int ret = parse_rps(gb, i, num_short_term_ref_pic_sets, num_delta_pocs);
568 if (get_bits1(gb)) { // long_term_ref_pics_present_flag
569 unsigned num_long_term_ref_pics_sps = get_ue_golomb_long(gb);
574 skip_bits (gb, len); // lt_ref_pic_poc_lsb_sps[i]
575 skip_bits1(gb); // used_by_curr_pic_lt_sps_flag[i]
579 skip_bits1(gb); // sps_temporal_mvp_enabled_flag
580 skip_bits1(gb); // strong_intra_smoothing_enabled_flag
582 if (get_bits1(gb)) // vui_parameters_present_flag
583 hvcc_parse_vui(gb, hvcc, sps_max_sub_layers_minus1);
589 static int hvcc_parse_pps(GetBitContext *gb,
594 get_ue_golomb_long(gb); // pps_pic_parameter_set_id
595 get_ue_golomb_long(gb); // pps_seq_parameter_set_id
604 skip_bits(gb, 7);
606 get_ue_golomb_long(gb); // num_ref_idx_l0_default_active_minus1
607 get_ue_golomb_long(gb); // num_ref_idx_l1_default_active_minus1
608 get_se_golomb_long(gb); // init_qp_minus26
614 skip_bits(gb, 2);
616 if (get_bits1(gb)) // cu_qp_delta_enabled_flag
617 get_ue_golomb_long(gb); // diff_cu_qp_delta_depth
619 get_se_golomb_long(gb); // pps_cb_qp_offset
620 get_se_golomb_long(gb); // pps_cr_qp_offset
628 skip_bits(gb, 4);
630 tiles_enabled_flag = get_bits1(gb);
631 entropy_coding_sync_enabled_flag = get_bits1(gb);
646 static void nal_unit_parse_header(GetBitContext *gb, uint8_t *nal_type)
648 skip_bits1(gb); // forbidden_zero_bit
650 *nal_type = get_bits(gb, 6);
656 skip_bits(gb, 9);