MCPcopy Create free account
hub / github.com/IENT/YUView / parse

Method parse

YUViewLib/src/parser/HEVC/pic_parameter_set_rbsp.cpp:42–147  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40using namespace reader;
41
42void pic_parameter_set_rbsp::parse(SubByteReaderLogging &reader)
43{
44 SubByteReaderLoggingSubLevel subLevel(reader, "pic_parameter_set_rbsp()");
45
46 this->pps_pic_parameter_set_id = reader.readUEV("pps_pic_parameter_set_id");
47 this->pps_seq_parameter_set_id = reader.readUEV("pps_seq_parameter_set_id");
48 this->dependent_slice_segments_enabled_flag =
49 reader.readFlag("dependent_slice_segments_enabled_flag");
50 this->output_flag_present_flag = reader.readFlag("output_flag_present_flag");
51 this->num_extra_slice_header_bits = reader.readBits("num_extra_slice_header_bits", 3);
52
53 this->sign_data_hiding_enabled_flag = reader.readFlag("sign_data_hiding_enabled_flag");
54 this->cabac_init_present_flag = reader.readFlag("cabac_init_present_flag");
55 this->num_ref_idx_l0_default_active_minus1 =
56 reader.readUEV("num_ref_idx_l0_default_active_minus1");
57 this->num_ref_idx_l1_default_active_minus1 =
58 reader.readUEV("num_ref_idx_l1_default_active_minus1");
59 this->init_qp_minus26 = reader.readSEV("init_qp_minus26");
60 this->constrained_intra_pred_flag = reader.readFlag("constrained_intra_pred_flag");
61 this->transform_skip_enabled_flag = reader.readFlag("transform_skip_enabled_flag");
62 this->cu_qp_delta_enabled_flag = reader.readFlag("cu_qp_delta_enabled_flag");
63 if (this->cu_qp_delta_enabled_flag)
64 this->diff_cu_qp_delta_depth = reader.readUEV("diff_cu_qp_delta_depth");
65 this->pps_cb_qp_offset = reader.readSEV("pps_cb_qp_offset");
66 this->pps_cr_qp_offset = reader.readSEV("pps_cr_qp_offset");
67 this->pps_slice_chroma_qp_offsets_present_flag =
68 reader.readFlag("pps_slice_chroma_qp_offsets_present_flag");
69 this->weighted_pred_flag = reader.readFlag("weighted_pred_flag");
70 this->weighted_bipred_flag = reader.readFlag("weighted_bipred_flag");
71 this->transquant_bypass_enabled_flag = reader.readFlag("transquant_bypass_enabled_flag");
72 this->tiles_enabled_flag = reader.readFlag("tiles_enabled_flag");
73 this->entropy_coding_sync_enabled_flag = reader.readFlag("entropy_coding_sync_enabled_flag");
74 if (this->tiles_enabled_flag)
75 {
76 this->num_tile_columns_minus1 = reader.readUEV("num_tile_columns_minus1");
77 this->num_tile_rows_minus1 = reader.readUEV("num_tile_rows_minus1");
78 this->uniform_spacing_flag = reader.readFlag("uniform_spacing_flag");
79 if (!this->uniform_spacing_flag)
80 {
81 for (unsigned i = 0; i < this->num_tile_columns_minus1; i++)
82 this->column_width_minus1.push_back(reader.readUEV(formatArray("column_width_minus1", i)));
83 for (unsigned i = 0; i < this->num_tile_rows_minus1; i++)
84 this->row_height_minus1.push_back(reader.readUEV(formatArray("row_height_minus1", i)));
85 }
86 this->loop_filter_across_tiles_enabled_flag =
87 reader.readFlag("loop_filter_across_tiles_enabled_flag");
88 }
89 this->pps_loop_filter_across_slices_enabled_flag =
90 reader.readFlag("pps_loop_filter_across_slices_enabled_flag");
91 this->deblocking_filter_control_present_flag =
92 reader.readFlag("deblocking_filter_control_present_flag");
93 if (this->deblocking_filter_control_present_flag)
94 {
95 this->deblocking_filter_override_enabled_flag =
96 reader.readFlag("deblocking_filter_override_enabled_flag");
97 this->pps_deblocking_filter_disabled_flag =
98 reader.readFlag("pps_deblocking_filter_disabled_flag");
99 if (!this->pps_deblocking_filter_disabled_flag)

Callers

nothing calls this directly

Calls 6

formatArrayFunction · 0.85
readUEVMethod · 0.80
readFlagMethod · 0.80
readSEVMethod · 0.80
logArbitraryMethod · 0.80
readBitsMethod · 0.45

Tested by

no test coverage detected