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

Method parse

YUViewLib/src/parser/VVC/profile_tier_level.cpp:40–82  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38using namespace parser::reader;
39
40void profile_tier_level::parse(SubByteReaderLogging &reader,
41 bool profileTierPresentFlag,
42 unsigned MaxNumSubLayersMinus1)
43{
44 SubByteReaderLoggingSubLevel subLevel(reader, "profile_tier_level");
45
46 if (profileTierPresentFlag)
47 {
48 this->general_profile_idc = reader.readBits("general_profile_idc", 7);
49 this->general_tier_flag = reader.readFlag("general_tier_flag");
50 }
51 this->general_level_idc = reader.readBits("general_level_idc", 8);
52 this->ptl_frame_only_constraint_flag = reader.readFlag("ptl_frame_only_constraint_flag");
53 this->ptl_multilayer_enabled_flag = reader.readFlag("ptl_multilayer_enabled_flag");
54 if (profileTierPresentFlag)
55 {
56 this->general_constraints_info_instance.parse(reader);
57 }
58 for (int i = MaxNumSubLayersMinus1 - 1; i >= 0; i--)
59 {
60 this->ptl_sublayer_level_present_flag.push_back(
61 reader.readFlag("ptl_sublayer_level_present_flag"));
62 }
63 while (!reader.byte_aligned())
64 {
65 this->ptl_reserved_zero_bit = reader.readFlag("ptl_reserved_zero_bit");
66 }
67 for (int i = MaxNumSubLayersMinus1 - 1; i >= 0; i--)
68 {
69 if (this->ptl_sublayer_level_present_flag[i])
70 {
71 this->sublayer_level_idc.push_back(reader.readBits("sublayer_level_idc", 8));
72 }
73 }
74 if (profileTierPresentFlag)
75 {
76 this->ptl_num_sub_profiles = reader.readBits("ptl_num_sub_profiles", 8);
77 for (unsigned i = 0; i < this->ptl_num_sub_profiles; i++)
78 {
79 this->general_sub_profile_idc.push_back(reader.readBits("general_sub_profile_idc", 32));
80 }
81 }
82}
83
84} // namespace parser::vvc

Callers

nothing calls this directly

Calls 3

readFlagMethod · 0.80
byte_alignedMethod · 0.80
readBitsMethod · 0.45

Tested by

no test coverage detected