/src/vvdec/source/Lib/DecoderLib/VLCReader.h
Line | Count | Source |
1 | | /* ----------------------------------------------------------------------------- |
2 | | The copyright in this software is being made available under the Clear BSD |
3 | | License, included below. No patent rights, trademark rights and/or |
4 | | other Intellectual Property Rights other than the copyrights concerning |
5 | | the Software are granted under this license. |
6 | | |
7 | | The Clear BSD License |
8 | | |
9 | | Copyright (c) 2018-2026, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors. |
10 | | All rights reserved. |
11 | | |
12 | | Redistribution and use in source and binary forms, with or without modification, |
13 | | are permitted (subject to the limitations in the disclaimer below) provided that |
14 | | the following conditions are met: |
15 | | |
16 | | * Redistributions of source code must retain the above copyright notice, |
17 | | this list of conditions and the following disclaimer. |
18 | | |
19 | | * Redistributions in binary form must reproduce the above copyright |
20 | | notice, this list of conditions and the following disclaimer in the |
21 | | documentation and/or other materials provided with the distribution. |
22 | | |
23 | | * Neither the name of the copyright holder nor the names of its |
24 | | contributors may be used to endorse or promote products derived from this |
25 | | software without specific prior written permission. |
26 | | |
27 | | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY |
28 | | THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
29 | | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
30 | | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
31 | | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
32 | | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
33 | | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
34 | | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR |
35 | | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER |
36 | | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
37 | | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
38 | | POSSIBILITY OF SUCH DAMAGE. |
39 | | |
40 | | |
41 | | ------------------------------------------------------------------------------------------- */ |
42 | | |
43 | | /** \file VLCReader.h |
44 | | * \brief Reader for high level syntax |
45 | | */ |
46 | | |
47 | | #pragma once |
48 | | |
49 | | #include "CommonLib/BitStream.h" |
50 | | |
51 | | #if ENABLE_TRACING |
52 | | |
53 | | #define READ_CODE( length, code, name) xReadCode ( length, code, name ) |
54 | | #define READ_UVLC( code, name) xReadUvlc ( code, name ) |
55 | | #define READ_SVLC( code, name) xReadSvlc ( code, name ) |
56 | | #define READ_FLAG( code, name) xReadFlag ( code, name ) |
57 | | #define READ_SCODE(length, code, name) xReadSCode( length, code, name ) |
58 | | |
59 | | #else |
60 | | |
61 | 0 | #define READ_CODE( length, code, name) xReadCode ( length, code ) |
62 | 0 | #define READ_UVLC( code, name) xReadUvlc ( code ) |
63 | 0 | #define READ_SVLC( code, name) xReadSvlc ( code ) |
64 | 0 | #define READ_FLAG( code, name) xReadFlag ( code ) |
65 | 0 | #define READ_SCODE(length, code, name) xReadSCode ( length, code ) |
66 | | |
67 | | #endif |
68 | | |
69 | | |
70 | 0 | #define CHECK_READ( cond, msg, val ) CHECK( cond, msg << " (read:" << val << ")" ) |
71 | 0 | #define CHECK_READ_RANGE( val, min, max, name ) CHECK( (val) < (min) || (val) > (max), name << " out of bounds (read:" << (val) << ")." ) |
72 | | |
73 | | #if ENABLE_TRACING |
74 | | # define X_READ_FLAG( name ) const bool name = xReadFlag ( #name ) |
75 | | # define X_READ_FLAG_idx( name, idx ) const bool name = xReadFlag ( #name idx ) |
76 | | |
77 | | # define X_READ_UVLC_NO_RANGE( name ) const uint32_t name = xReadUvlc ( #name ) |
78 | | # define X_READ_SVLC_NO_RANGE( name ) const int32_t name = xReadSvlc ( #name ) |
79 | | # define X_READ_CODE_NO_RANGE( name, length ) const uint32_t name = xReadCode ( length, #name ) |
80 | | # define X_READ_SCODE_NO_RANGE( name, length ) const int32_t name = xReadSCode( length, #name ) |
81 | | |
82 | | # define X_READ_UVLC_NO_RANGE_idx( name, idx ) const uint32_t name = xReadUvlc ( #name idx ) |
83 | | # define X_READ_SVLC_NO_RANGE_idx( name, idx ) const int32_t name = xReadSvlc ( #name idx ) |
84 | | # define X_READ_CODE_NO_RANGE_idx( name, idx, length ) const uint32_t name = xReadCode ( length, #name idx ) |
85 | | # define X_READ_SCODE_NO_RANGE_idx( name, idx, length ) const int32_t name = xReadSCode( length, #name idx ) |
86 | | |
87 | | #else |
88 | | |
89 | 0 | # define X_READ_FLAG( name ) const bool name = xReadFlag () |
90 | 0 | # define X_READ_FLAG_idx( name, idx ) const bool name = xReadFlag () |
91 | | |
92 | 0 | # define X_READ_UVLC_NO_RANGE( name ) const uint32_t name = xReadUvlc ( ) |
93 | 0 | # define X_READ_SVLC_NO_RANGE( name ) const int32_t name = xReadSvlc ( ) |
94 | 0 | # define X_READ_CODE_NO_RANGE( name, length ) const uint32_t name = xReadCode ( length ) |
95 | | # define X_READ_SCODE_NO_RANGE( name, length ) const int32_t name = xReadSCode( length ) |
96 | | |
97 | 0 | # define X_READ_UVLC_NO_RANGE_idx( name, idx ) const uint32_t name = xReadUvlc ( ) |
98 | 0 | # define X_READ_SVLC_NO_RANGE_idx( name, idx ) const int32_t name = xReadSvlc ( ) |
99 | 0 | # define X_READ_CODE_NO_RANGE_idx( name, idx, length ) const uint32_t name = xReadCode ( length ) |
100 | | # define X_READ_SCODE_NO_RANGE_idx( name, idx, length ) const int32_t name = xReadSCode( length ) |
101 | | |
102 | | #endif |
103 | | |
104 | | |
105 | 0 | #define X_READ_FLAG_CHECK( name, chk_cond, chk_msg ) const bool name = [&]{ X_READ_FLAG ( name ); CHECK_READ( chk_cond, chk_msg, name ); return name; }()Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_3::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_4::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_20::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_21::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_22::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_25::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_28::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseVUI(vvdec::VUI*, unsigned int)::$_3::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseVUI(vvdec::VUI*, unsigned int)::$_4::operator()() const |
106 | | #define X_READ_FLAG_CHECK_idx( name, idx, chk_cond, chk_msg ) const bool name = [&]{ X_READ_FLAG_idx ( name, idx ); CHECK_READ( chk_cond, chk_msg, name ); return name; }() |
107 | | |
108 | | // use immediately invoked lambdas, to ensure we get a warning, when the result is unused |
109 | 0 | #define X_READ_UVLC( name, min, max ) const uint32_t name = [&]{ X_READ_UVLC_NO_RANGE( name ); CHECK_READ_RANGE( name, min, max, #name ); return name; }()Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_1::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_2::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_5::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_6::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_8::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_9::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_12::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_23::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_30::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseAlfAps(vvdec::APS*)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseAlfAps(vvdec::APS*)::$_2::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseLmcsAps(vvdec::APS*)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseLmcsAps(vvdec::APS*)::$_1::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseLmcsAps(vvdec::APS*)::$_2::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseVUI(vvdec::VUI*, unsigned int)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseVUI(vvdec::VUI*, unsigned int)::$_1::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseVUI(vvdec::VUI*, unsigned int)::$_2::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseGeneralHrdParameters(vvdec::GeneralHrdParams*)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseOlsHrdParameters(vvdec::GeneralHrdParams*, std::__1::vector<vvdec::OlsHrdParams, std::__1::allocator<vvdec::OlsHrdParams> >&, unsigned int, unsigned int)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseOlsHrdParameters(vvdec::GeneralHrdParams*, std::__1::vector<vvdec::OlsHrdParams, std::__1::allocator<vvdec::OlsHrdParams> >&, unsigned int, unsigned int)::$_1::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseOlsHrdParameters(vvdec::GeneralHrdParams*, std::__1::vector<vvdec::OlsHrdParams, std::__1::allocator<vvdec::OlsHrdParams> >&, unsigned int, unsigned int)::$_2::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseOlsHrdParameters(vvdec::GeneralHrdParams*, std::__1::vector<vvdec::OlsHrdParams, std::__1::allocator<vvdec::OlsHrdParams> >&, unsigned int, unsigned int)::$_3::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_2::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_3::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_5::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_8::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_9::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_10::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_11::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_12::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_13::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_14::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_15::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_16::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_17::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_18::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_19::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_20::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_21::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_23::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_25::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_26::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_27::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_28::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_29::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_30::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_35::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_39::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_1::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_3::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_5::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_7::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_8::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_9::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_10::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_11::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_12::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_13::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_14::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_15::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_16::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_17::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_18::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_19::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_20::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_21::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_22::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_29::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_2::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_3::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_5::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_15::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_16::operator()() const Unexecuted instantiation: vvdec::HLSyntaxReader::parsePicOrSliceHeaderRPL<vvdec::PicHeader>(vvdec::PicHeader*, vvdec::SPS const*, vvdec::PPS const*)::{lambda()#2}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::PicHeader>(vvdec::PicHeader*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#1}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::PicHeader>(vvdec::PicHeader*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#2}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::PicHeader>(vvdec::PicHeader*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#3}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePicOrSliceHeaderRPL<vvdec::Slice>(vvdec::Slice*, vvdec::SPS const*, vvdec::PPS const*)::{lambda()#2}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::Slice>(vvdec::Slice*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#1}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::Slice>(vvdec::Slice*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#2}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::Slice>(vvdec::Slice*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#3}::operator()() const |
110 | 0 | #define X_READ_SVLC( name, min, max ) const int32_t name = [&]{ X_READ_SVLC_NO_RANGE( name ); CHECK_READ_RANGE( name, min, max, #name ); return name; }()Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_24::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_26::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_27::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_29::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_34::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_35::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_36::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_37::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_38::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_39::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_22::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_32::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_23::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_24::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_25::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_26::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_27::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_28::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_6::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_7::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_8::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_9::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_10::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_11::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_12::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_13::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_14::operator()() const |
111 | 0 | #define X_READ_CODE( name, length, min, max ) const uint32_t name = [&]{ X_READ_CODE_NO_RANGE( name, length ); CHECK_READ_RANGE( name, min, max, #name ); return name; }()Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_7::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseAlfAps(vvdec::APS*)::$_1::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_1::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_4::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_6::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_7::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_31::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseDCI(vvdec::DCI*)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_2::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_1::operator()() const |
112 | | #define X_READ_SCODE(name, length, min, max ) const int32_t name = [&]{ X_READ_SCODE_NO_RANGE(name, length ); CHECK_READ_RANGE( name, min, max, #name ); return name; }() |
113 | | |
114 | 0 | #define X_READ_UVLC_idx( name, idx, min, max ) const uint32_t name = [&]{ X_READ_UVLC_NO_RANGE_idx( name, idx ); CHECK_READ_RANGE( name, min, max, (#name idx) ); return name; }()Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseRefPicList(vvdec::ReferencePictureList*, int, vvdec::SPS const*)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseRefPicList(vvdec::ReferencePictureList*, int, vvdec::SPS const*)::$_1::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseRefPicList(vvdec::ReferencePictureList*, int, vvdec::SPS const*)::$_2::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_10::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_11::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_13::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_14::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_15::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_16::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_18::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_19::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::dpb_parameters(int, bool, vvdec::SPS*)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::dpb_parameters(int, bool, vvdec::SPS*)::$_1::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_24::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_34::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_36::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_37::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_38::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_4::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePictureHeader(vvdec::PicHeader*, vvdec::ParameterSetManager const*, bool)::$_6::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSliceHeader(vvdec::Slice*, std::__1::shared_ptr<vvdec::PicHeader>&, vvdec::ParameterSetManager const*, int, bool&)::$_4::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseScalingList(vvdec::ScalingList*, bool)::$_0::operator()() const |
115 | 0 | #define X_READ_SVLC_idx( name, idx, min, max ) const int32_t name = [&]{ X_READ_SVLC_NO_RANGE_idx( name, idx ); CHECK_READ_RANGE( name, min, max, (#name idx) ); return name; }()Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_17::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_31::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_32::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parsePPS(vvdec::PPS*, vvdec::ParameterSetManager const*)::$_33::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::parseSPS(vvdec::SPS*, vvdec::ParameterSetManager const*)::$_33::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::decodeScalingList(vvdec::ScalingList*, unsigned int, unsigned int, bool, bool)::$_0::operator()() const Unexecuted instantiation: HLSyntaxReader.cpp:vvdec::HLSyntaxReader::decodeScalingList(vvdec::ScalingList*, unsigned int, unsigned int, bool, bool)::$_1::operator()() const Unexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::PicHeader>(vvdec::PicHeader*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#4}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::PicHeader>(vvdec::PicHeader*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#5}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::PicHeader>(vvdec::PicHeader*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#6}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::PicHeader>(vvdec::PicHeader*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#7}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::Slice>(vvdec::Slice*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#4}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::Slice>(vvdec::Slice*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#5}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::Slice>(vvdec::Slice*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#6}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePredWeightTable<vvdec::Slice>(vvdec::Slice*, vvdec::SPS const*, vvdec::PPS const*, std::__1::array<int, 2ul>)::{lambda()#7}::operator()() const |
116 | 0 | #define X_READ_CODE_idx( name, idx, length, min, max ) const uint32_t name = [&]{ X_READ_CODE_NO_RANGE_idx( name, idx, length ); CHECK_READ_RANGE( name, min, max, (#name idx) ); return name; }()Unexecuted instantiation: vvdec::HLSyntaxReader::parsePicOrSliceHeaderRPL<vvdec::PicHeader>(vvdec::PicHeader*, vvdec::SPS const*, vvdec::PPS const*)::{lambda()#1}::operator()() constUnexecuted instantiation: vvdec::HLSyntaxReader::parsePicOrSliceHeaderRPL<vvdec::Slice>(vvdec::Slice*, vvdec::SPS const*, vvdec::PPS const*)::{lambda()#1}::operator()() const |
117 | | #define X_READ_SCODE_idx(name, idx, length, min, max ) const int32_t name = [&]{ X_READ_SCODE_NO_RANGE_idx(name, idx, length ); CHECK_READ_RANGE( name, min, max, (#name idx) ); return name; }() |
118 | | |
119 | | |
120 | | namespace vvdec |
121 | | { |
122 | | |
123 | | // ==================================================================================================================== |
124 | | // Class definition |
125 | | // ==================================================================================================================== |
126 | | |
127 | | class VLCReader |
128 | | { |
129 | | protected: |
130 | | InputBitstream* m_pcBitstream = nullptr; // we never own this object |
131 | | |
132 | 0 | VLCReader() = default; |
133 | 0 | virtual ~VLCReader() = default; |
134 | | |
135 | | // read functions taking a reference for the result |
136 | | void xReadFlag ( uint32_t& val ); |
137 | | void xReadUvlc ( uint32_t& val ); |
138 | | void xReadSvlc ( int32_t& val ); |
139 | | void xReadCode ( uint32_t length, uint32_t& val ); |
140 | | void xReadSCode( uint32_t length, int32_t& val ); |
141 | | |
142 | | // read functions taking a reference for the result - tracing overloads |
143 | | void xReadFlag ( uint32_t& rValue, const char* pSymbolName ); |
144 | | void xReadUvlc ( uint32_t& rValue, const char* pSymbolName ); |
145 | | void xReadSvlc ( int32_t& rValue, const char* pSymbolName ); |
146 | | void xReadCode ( uint32_t length, uint32_t& rValue, const char* pSymbolName ); |
147 | | void xReadSCode( uint32_t length, int32_t& rValue, const char* pSymbolName ); |
148 | | |
149 | | // read functions returning the result value |
150 | | bool xReadFlag(); |
151 | | uint32_t xReadUvlc(); |
152 | | int32_t xReadSvlc(); |
153 | | uint32_t xReadCode( uint32_t length ); |
154 | | int32_t xReadSCode( uint32_t length ); |
155 | | |
156 | | // read functions returning the result value - tracing overloads |
157 | | bool xReadFlag ( const char* pSymbolName ); |
158 | | uint32_t xReadUvlc ( const char* pSymbolName ); |
159 | | int32_t xReadSvlc ( const char* pSymbolName ); |
160 | | uint32_t xReadCode ( uint32_t length, const char* pSymbolName ); |
161 | | int32_t xReadSCode( uint32_t length, const char* pSymbolName ); |
162 | | |
163 | | public: |
164 | 0 | void setBitstream( InputBitstream* p ) { m_pcBitstream = p; } |
165 | 0 | InputBitstream* getBitstream() { return m_pcBitstream; } |
166 | | |
167 | | protected: |
168 | | void xReadRbspTrailingBits(); |
169 | 0 | bool isByteAligned() { return ( m_pcBitstream->getNumBitsUntilByteAligned() == 0 ); } |
170 | | }; |
171 | | |
172 | | } // namespace vvdec |