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

Method parse

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

Source from the content-addressed store, hash-verified

38using namespace reader;
39
40void vui_parameters::parse(reader::SubByteReaderLogging &reader, unsigned)
41{
42 this->vui_progressive_source_flag = reader.readFlag("vui_progressive_source_flag");
43 this->vui_interlaced_source_flag = reader.readFlag("vui_interlaced_source_flag");
44 this->vui_non_packed_constraint_flag = reader.readFlag("vui_non_packed_constraint_flag");
45 this->vui_non_projected_constraint_flag = reader.readFlag("vui_non_projected_constraint_flag");
46 this->vui_aspect_ratio_info_present_flag = reader.readFlag("vui_aspect_ratio_info_present_flag");
47
48 if (this->vui_aspect_ratio_info_present_flag)
49 {
50 this->vui_aspect_ratio_constant_flag = reader.readFlag("vui_aspect_ratio_constant_flag");
51 this->vui_aspect_ratio_idc =
52 reader.readBits("vui_aspect_ratio_idc",
53 8,
54 Options().withMeaningMap(sampleAspectRatioCoding.getMeaningMap()));
55 if (this->vui_aspect_ratio_idc == 255)
56 {
57 this->vui_sar_width = reader.readBits("vui_sar_width", 16);
58 this->vui_sar_height = reader.readBits("vui_sar_height", 16);
59 }
60 }
61 this->vui_overscan_info_present_flag = reader.readFlag("vui_overscan_info_present_flag");
62 if (this->vui_overscan_info_present_flag)
63 {
64 this->vui_overscan_appropriate_flag = reader.readFlag("vui_overscan_appropriate_flag");
65 }
66 this->vui_colour_description_present_flag =
67 reader.readFlag("vui_colour_description_present_flag");
68 if (this->vui_colour_description_present_flag)
69 {
70 this->vui_colour_primaries = reader.readBits(
71 "vui_colour_primaries",
72 8,
73 Options()
74 .withMeaningVector({"For future use by ITU-T | ISO/IEC",
75 "Rec. ITU-R BT.709-6 / BT.1361 / IEC 61966-2-1 (sRGB or sYCC)",
76 "Unspecified",
77 "Reserved For future use by ITU - T | ISO / IEC",
78 "Rec. ITU-R BT.470-6 System M (historical) (NTSC)",
79 "Rec. ITU-R BT.470-6 System B, G (historical) / BT.601 / BT.1358"
80 "Rec. ITU-R BT.601-7 525 / BT.1358-1 525 or 625 (historical) / "
81 "BT.1700-0 NTSC / SMPTE 170M (2004)",
82 "SMPTE 240M (1999) (historical)",
83 "Generic film (colour filters using Illuminant C)",
84 "Rec. ITU-R BT.2020-2 / BT.2100-0",
85 "SMPTE ST 428-1 (CIE 1931 XYZ as in ISO 11664-1)",
86 "SMPTE RP 431-2 (2011)",
87 "SMPTE EG 432-1 (2010)",
88 "For future use by ITU-T | ISO/IEC",
89 "For future use by ITU-T | ISO/IEC",
90 "For future use by ITU-T | ISO/IEC",
91 "For future use by ITU-T | ISO/IEC",
92 "For future use by ITU-T | ISO/IEC",
93 "For future use by ITU-T | ISO/IEC",
94 "For future use by ITU-T | ISO/IEC",
95 "For future use by ITU-T | ISO/IEC",
96 "For future use by ITU-T | ISO/IEC",
97 "EBU Tech. 3213-E (1975)"})

Callers

nothing calls this directly

Calls 5

OptionsClass · 0.85
readFlagMethod · 0.80
getMeaningMapMethod · 0.80
readUEVMethod · 0.80
readBitsMethod · 0.45

Tested by

no test coverage detected