MythTV  master
HEVCParser.h
Go to the documentation of this file.
1 // -*- Mode: c++ -*-
2 /*******************************************************************
3  * HEVCParser
4  *
5  * Distributed as part of MythTV (www.mythtv.org)
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20  *
21  ********************************************************************/
22 
23 #ifndef HEVCPARSER_H
24 #define HEVCPARSER_H
25 
26 #include <H2645Parser.h>
27 #include <map>
28 
29 class HEVCParser : public H2645Parser
30 {
31  public:
32 
34  TAIL_N = 0, // Coded slice segment of a non-TSA, non-STSA trailing picture
35  TAIL_R = 1, // slice_segment_layer_rbsp() VCL
36 
37  TSA_N = 2, // Coded slice segment of a TSA picture
38  TSA_R = 3, // slice_segment_layer_rbsp() VCL
39 
40  STSA_N = 4, // Coded slice segment of an STSA picture
41  STSA_R = 5, // slice_segment_layer_rbsp() VCL
42 
43  RADL_N = 6, // Coded slice segment of a RADL picture
44  RADL_R = 7, // slice_segment_layer_rbsp() VCL
45 
46  // random access skipped leading (RASL) pictures
47  RASL_N = 8, // Coded slice segment of a RASL picture
48  RASL_R = 9, // slice_segment_layer_rbsp() VCL
49 
50  RSV_VCL_N10 = 10, //
51  RSV_VCL_N12 = 12, // Reserved non-IRAP SLNR VCL NAL unit types VCL
52  RSV_VCL_N14 = 14, //
53 
54  RSV_VCL_R11 = 11, //
55  RSV_VCL_R13 = 13, // Reserved non-IRAP sub-layer reference VCL NAL unit
56  RSV_VCL_R15 = 15, // types VCL
57 
58  // RADL = random access decodable leading picture
59 
60  /*
61  A broken link access (BLA) picture having
62  nal_unit_type equal to BLA_W_LP may have associated
63  RASL or RADL pictures present in the bitstream. A
64  BLA picture having nal_unit_type equal to
65  BLA_W_RADL does not have associated RASL pictures
66  present in the bitstream, but may have associated
67  RADL pictures in the bitstream. A BLA picture
68  having nal_unit_type equal to BLA_N_LP does not
69  have associated leading pictures present in the
70  bitstream.
71  */
72  BLA_W_LP = 16, //
73  BLA_W_RADL = 17, // Coded slice segment of a BLA picture
74  BLA_N_LP = 18, // slice_segment_layer_rbsp() VCL
75 
76  /*
77  An instantaneous decoding refresh (IDR) picture
78  having nal_unit_type equal to IDR_N_LP does not
79  have associated leading pictures present in the
80  bitstream. An IDR picture having nal_unit_type
81  equal to IDR_W_RADL does not have associated RASL
82  pictures present in the bitstream, but may have
83  associated RADL pictures in the bitstream.
84  */
85  IDR_W_RADL = 19, // Coded slice segment of an IDR picture
86  IDR_N_LP = 20, // slice_segment_layer_rbsp() VCL
87 
88  /* A clean random access (CRA) picture may have
89  associated random access skipped leading (RASL) or
90  random access decodable leading (RADL) pictures
91  present in the bitstream.
92  */
93  CRA_NUT = 21, // Coded slice segment of a CRA picture
94  // slice_segment_layer_rbsp() VCL
95 
96  RSV_IRAP_VCL22 = 22, //
97  RSV_IRAP_VCL23 = 23, // Reserved IRAP VCL NAL unit types VCL
98 
99  RSV_VCL24 = 24, // Reserved non-IRAP VCL NAL unit types
100  RSV_VCL25 = 25,
101  RSV_VCL26 = 26,
102  RSV_VCL27 = 27,
103  RSV_VCL28 = 28,
104  RSV_VCL29 = 29,
105  RSV_VCL30 = 30,
106  RSV_VCL31 = 31,
107 
108  VPS_NUT = 32, // Video parameter set video_parameter_set_rbsp() non-VCL
109  SPS_NUT = 33, // Sequence parameter set seq_parameter_set_rbsp() non-VCL
110  PPS_NUT = 34, // Picture parameter set pic_parameter_set_rbsp() non-VCL
111  AUD_NUT = 35, // Access unit delimiter access_unit_delimiter_rbsp() non-VCL
112  EOS_NUT = 36, // End of sequence end_of_seq_rbsp() non-VCL
113  EOB_NUT = 37, // End of bitstream end_of_bitstream_rbsp() non-VCL
114  FD_NUT = 38, // Filler data filler_data_rbsp() non-VCL
115 
116  PREFIX_SEI_NUT = 39, // Supplemental enhancement information
117  SUFFIX_SEI_NUT = 40, // sei_rbsp() non-VCL
118 
119  RSV_NVCL41 = 41, // Reserved non-VCL
126 
127  UNSPEC48 = 48, // Unspecified non-VCL
128  UNSPEC49 = 49,
129  UNSPEC50 = 50,
130  UNSPEC51 = 51,
131  UNSPEC52 = 52,
132  UNSPEC53 = 53,
133  UNSPEC54 = 54,
134  UNSPEC55 = 55,
135  UNSPEC56 = 56,
136  UNSPEC57 = 57,
137  UNSPEC58 = 58,
138  UNSPEC59 = 59,
139  UNSPEC60 = 60,
140  UNSPEC61 = 61,
141  UNSPEC62 = 62,
142  UNSPEC63 = 63
143  };
144 
145  struct SPS {
151 
152  };
153 
154  struct VPS {
155  uint8_t max_sub_layers; // range 0 to 3
156  };
157 
158  struct PPS {
162  int sps_id;
163  };
164 
166  /* calculated values */
167  std::array<int32_t,16> DeltaPocS0;
168  std::array<int32_t,16> DeltaPocS1;
169  std::array<uint8_t,16> UsedByCurrPicS0;
170  std::array<uint8_t,16> UsedByCurrPicS1;
171  uint8_t NumDeltaPocs;
174 
175  // Parsed values
179  uint8_t delta_rps_sign;
180  };
181 
182 
183  /*
184  scaling_list_dc_coef_minus8_16x16: this plus 8 specifies the DC
185  Coefficient values for 16x16 scaling list
186  scaling_list_dc_coef_minus8_32x32: this plus 8 specifies the
187  DC Coefficient values for 32x32 scaling list
188  scaling_lists_4x4: 4x4 scaling list
189  scaling_lists_8x8: 8x8 scaling list
190  scaling_lists_16x16: 16x16 scaling list
191  scaling_lists_32x32: 32x32 scaling list
192  */
193  struct ScalingList {
194  std::vector<int16_t> scaling_list_dc_coef_minus8_16x16 {6,0};
195  std::vector<int16_t> scaling_list_dc_coef_minus8_32x32 {2,0};
196 
197  std::array<std::array<uint8_t,16>,6> scaling_lists_4x4 {};
198  std::array<std::array<uint8_t,64>,6> scaling_lists_8x8 {};
199  std::array<std::array<uint8_t,64>,6> scaling_lists_16x16 {};
200  std::array<std::array<uint8_t,64>,2> scaling_lists_32x32 {};
201  };
202 
204  {
209  };
210 
211 
212  HEVCParser(void) { ; }
213  HEVCParser(const HEVCParser& rhs);
214  ~HEVCParser(void) override { ; }
215 
216  /* random access point (RAP) are NAL type of:
217  * * stantaneous decoding refresh (IDR)
218  * * broken link access (BLA)
219  * * clean random access (CRA)
220  */
221  static bool NALisRAP(uint type)
222  {
223  return (BLA_W_LP <= type && type <= CRA_NUT);
224  }
225 
226  /*
227  3.73 intra random access point (IRAP) picture: A coded picture
228  for which each VCL NAL unit has nal_unit_type in the range of
229  BLA_W_LP to RSV_IRAP_VCL23, inclusive.
230  */
231  static bool NALisIRAP(uint type)
232  {
233  return (BLA_W_LP <= type && type <= RSV_IRAP_VCL23);
234  }
235 
236  static bool NALisVCL(uint type)
237  {
238  return (TAIL_N <= type && type <= RSV_VCL31);
239  }
240 
241  uint32_t addBytes(const uint8_t *bytes,
242  uint32_t byte_count,
243  uint64_t stream_offset) override;
244 
245  void Reset(void) override;
246 
247  QString NAL_type_str(int8_t type) override;
248 
249  uint pictureWidthCropped(void) const override;
250  uint pictureHeightCropped(void) const override;
251 
252  field_type getFieldType(void) const override { return FRAME; }
253  void getFrameRate(FrameRate &result) const override;
254 
255  protected:
256  bool newAU(void);
257  void processRBSP(bool rbsp_complete);
258  bool profileTierLevel(GetBitContext *gb,
259  bool profilePresentFlag,
260  int maxNumSubLayersMinus1);
261  bool parseSliceSegmentLayer(GetBitContext *gb);
262  bool parseSliceSegmentHeader(GetBitContext *gb);
263  bool parseSPS(GetBitContext *gb);
264  bool parseVPS(GetBitContext *gb);
265  bool parsePPS(GetBitContext *gb);
266 
267  private:
268  uint32_t m_maxPicOrderCntLsb {0};
269  uint32_t m_picOrderCntMsb {0};
270  uint32_t m_picOrderCntVal {0};
271  uint32_t m_prevPicOrderCntLsb {0};
272  uint32_t m_prevPicOrderCntMsb {0};
273  uint32_t m_resolutionCheck {0};
274 
276 
277  uint8_t m_nalTemperalId {0};
278  uint8_t m_nuhLayerId {0};
279 
281  bool m_nextNALisAU {false};
282  bool m_noRaslOutputFlag {false};
283  bool m_seenEOS {true};
284 
285  std::map<uint, SPS> m_sps;
286  std::map<uint, PPS> m_pps;
287  std::map<uint, VPS> m_vps;
288  std::map<uint, uint> m_poc;
289 };
290 
291 #endif /* HEVCPARSER_H */
HEVCParser::RSV_VCL29
@ RSV_VCL29
Definition: HEVCParser.h:104
HEVCParser::UNSPEC49
@ UNSPEC49
Definition: HEVCParser.h:128
HEVCParser::TAIL_R
@ TAIL_R
Definition: HEVCParser.h:35
HEVCParser::profileTierLevel
bool profileTierLevel(GetBitContext *gb, bool profilePresentFlag, int maxNumSubLayersMinus1)
Definition: HEVCParser.cpp:583
HEVCParser::EOS_NUT
@ EOS_NUT
Definition: HEVCParser.h:112
H2645Parser::FRAME
@ FRAME
Definition: H2645Parser.h:81
HEVCParser::NALisVCL
static bool NALisVCL(uint type)
Definition: HEVCParser.h:236
HEVCParser::CRA_NUT
@ CRA_NUT
Definition: HEVCParser.h:93
HEVCParser::UNSPEC57
@ UNSPEC57
Definition: HEVCParser.h:136
HEVCParser::SPS::separate_colour_plane_flag
bool separate_colour_plane_flag
Definition: HEVCParser.h:149
HEVCParser::RASL_R
@ RASL_R
Definition: HEVCParser.h:48
HEVCParser::UNSPEC55
@ UNSPEC55
Definition: HEVCParser.h:134
HEVCParser::TSA_N
@ TSA_N
Definition: HEVCParser.h:37
HEVCParser::SPS::sub_layer_ordering_info_present_flag
bool sub_layer_ordering_info_present_flag
Definition: HEVCParser.h:150
HEVCParser::UNSPEC61
@ UNSPEC61
Definition: HEVCParser.h:140
HEVCParser::m_noRaslOutputFlag
bool m_noRaslOutputFlag
Definition: HEVCParser.h:282
HEVCParser
Definition: HEVCParser.h:30
HEVCParser::m_nalTemperalId
uint8_t m_nalTemperalId
Definition: HEVCParser.h:277
HEVCParser::RSV_VCL25
@ RSV_VCL25
Definition: HEVCParser.h:100
HEVCParser::QUANT_MATIX_32X32
@ QUANT_MATIX_32X32
Definition: HEVCParser.h:208
HEVCParser::ScalingList::scaling_lists_4x4
std::array< std::array< uint8_t, 16 >, 6 > scaling_lists_4x4
Definition: HEVCParser.h:197
H2645Parser::field_type
field_type
Definition: H2645Parser.h:80
HEVCParser::TAIL_N
@ TAIL_N
Definition: HEVCParser.h:34
HEVCParser::RSV_VCL_R13
@ RSV_VCL_R13
Definition: HEVCParser.h:55
HEVCParser::SPS_NUT
@ SPS_NUT
Definition: HEVCParser.h:109
HEVCParser::ShortTermRefPicSet::UsedByCurrPicS0
std::array< uint8_t, 16 > UsedByCurrPicS0
Definition: HEVCParser.h:169
HEVCParser::VPS::max_sub_layers
uint8_t max_sub_layers
Definition: HEVCParser.h:155
HEVCParser::RSV_NVCL43
@ RSV_NVCL43
Definition: HEVCParser.h:121
HEVCParser::ShortTermRefPicSet::NumNegativePics
uint8_t NumNegativePics
Definition: HEVCParser.h:172
HEVCParser::parsePPS
bool parsePPS(GetBitContext *gb)
Definition: HEVCParser.cpp:1959
HEVCParser::UNSPEC53
@ UNSPEC53
Definition: HEVCParser.h:132
HEVCParser::SPS
Definition: HEVCParser.h:145
HEVCParser::VPS
Definition: HEVCParser.h:154
HEVCParser::m_picOrderCntMsb
uint32_t m_picOrderCntMsb
Definition: HEVCParser.h:269
HEVCParser::PPS
Definition: HEVCParser.h:158
HEVCParser::RSV_VCL_R15
@ RSV_VCL_R15
Definition: HEVCParser.h:56
HEVCParser::m_nalUnitType
uint m_nalUnitType
Definition: HEVCParser.h:275
HEVCParser::HEVCParser
HEVCParser(const HEVCParser &rhs)
H2645Parser.h
HEVCParser::STSA_N
@ STSA_N
Definition: HEVCParser.h:40
HEVCParser::ShortTermRefPicSet::DeltaPocS1
std::array< int32_t, 16 > DeltaPocS1
Definition: HEVCParser.h:168
HEVCParser::QuantMatrixSize
QuantMatrixSize
Definition: HEVCParser.h:204
HEVCParser::NALisRAP
static bool NALisRAP(uint type)
Definition: HEVCParser.h:221
HEVCParser::SPS::log2_min_luma_coding_block_size
uint8_t log2_min_luma_coding_block_size
Definition: HEVCParser.h:146
HEVCParser::RSV_VCL_N10
@ RSV_VCL_N10
Definition: HEVCParser.h:50
HEVCParser::ShortTermRefPicSet::delta_rps_sign
uint8_t delta_rps_sign
Definition: HEVCParser.h:179
H2645Parser::NAL_unit_type
NAL_unit_type
Definition: H2645Parser.h:121
HEVCParser::RSV_VCL24
@ RSV_VCL24
Definition: HEVCParser.h:99
HEVCParser::AUD_NUT
@ AUD_NUT
Definition: HEVCParser.h:111
HEVCParser::parseSliceSegmentLayer
bool parseSliceSegmentLayer(GetBitContext *gb)
Definition: HEVCParser.cpp:1231
HEVCParser::PPS::num_extra_slice_header_bits
uint8_t num_extra_slice_header_bits
Definition: HEVCParser.h:161
HEVCParser::ShortTermRefPicSet::DeltaPocS0
std::array< int32_t, 16 > DeltaPocS0
Definition: HEVCParser.h:167
HEVCParser::parseVPS
bool parseVPS(GetBitContext *gb)
Definition: HEVCParser.cpp:1832
HEVCParser::ShortTermRefPicSet::NumDeltaPocs
uint8_t NumDeltaPocs
Definition: HEVCParser.h:171
HEVCParser::UNSPEC58
@ UNSPEC58
Definition: HEVCParser.h:137
HEVCParser::PPS_NUT
@ PPS_NUT
Definition: HEVCParser.h:110
HEVCParser::m_maxPicOrderCntLsb
uint32_t m_maxPicOrderCntLsb
Definition: HEVCParser.h:268
HEVCParser::UNSPEC56
@ UNSPEC56
Definition: HEVCParser.h:135
HEVCParser::m_pps
std::map< uint, PPS > m_pps
Definition: HEVCParser.h:286
HEVCParser::Reset
void Reset(void) override
Definition: HEVCParser.cpp:49
HEVCParser::RADL_N
@ RADL_N
Definition: HEVCParser.h:43
HEVCParser::RASL_N
@ RASL_N
Definition: HEVCParser.h:47
HEVCParser::RSV_IRAP_VCL23
@ RSV_IRAP_VCL23
Definition: HEVCParser.h:97
HEVCParser::STSA_R
@ STSA_R
Definition: HEVCParser.h:41
HEVCParser::parseSliceSegmentHeader
bool parseSliceSegmentHeader(GetBitContext *gb)
Definition: HEVCParser.cpp:1248
HEVCParser::pictureWidthCropped
uint pictureWidthCropped(void) const override
Definition: HEVCParser.cpp:2043
HEVCParser::PREFIX_SEI_NUT
@ PREFIX_SEI_NUT
Definition: HEVCParser.h:116
HEVCParser::ShortTermRefPicSet::UsedByCurrPicS1
std::array< uint8_t, 16 > UsedByCurrPicS1
Definition: HEVCParser.h:170
HEVCParser::ScalingList::scaling_list_dc_coef_minus8_16x16
std::vector< int16_t > scaling_list_dc_coef_minus8_16x16
Definition: HEVCParser.h:194
HEVCParser::EOB_NUT
@ EOB_NUT
Definition: HEVCParser.h:113
HEVCParser::RSV_IRAP_VCL22
@ RSV_IRAP_VCL22
Definition: HEVCParser.h:96
HEVCParser::BLA_W_LP
@ BLA_W_LP
Definition: HEVCParser.h:72
HEVCParser::~HEVCParser
~HEVCParser(void) override
Definition: HEVCParser.h:214
FrameRate
Definition: recorderbase.h:37
HEVCParser::ShortTermRefPicSet
Definition: HEVCParser.h:165
HEVCParser::addBytes
uint32_t addBytes(const uint8_t *bytes, uint32_t byte_count, uint64_t stream_offset) override
Definition: HEVCParser.cpp:130
HEVCParser::SPS::log2_diff_max_min_luma_coding_block_size
uint8_t log2_diff_max_min_luma_coding_block_size
Definition: HEVCParser.h:147
HEVCParser::ShortTermRefPicSet::NumPositivePics
uint8_t NumPositivePics
Definition: HEVCParser.h:173
HEVCParser::IDR_W_RADL
@ IDR_W_RADL
Definition: HEVCParser.h:85
HEVCParser::m_resolutionCheck
uint32_t m_resolutionCheck
Definition: HEVCParser.h:273
HEVCParser::RSV_NVCL41
@ RSV_NVCL41
Definition: HEVCParser.h:119
HEVCParser::m_prevPicOrderCntMsb
uint32_t m_prevPicOrderCntMsb
Definition: HEVCParser.h:272
HEVCParser::pictureHeightCropped
uint pictureHeightCropped(void) const override
Definition: HEVCParser.cpp:2054
uint
unsigned int uint
Definition: compat.h:141
HEVCParser::UNSPEC52
@ UNSPEC52
Definition: HEVCParser.h:131
HEVCParser::RSV_VCL31
@ RSV_VCL31
Definition: HEVCParser.h:106
HEVCParser::RSV_VCL30
@ RSV_VCL30
Definition: HEVCParser.h:105
HEVCParser::ScalingList::scaling_lists_16x16
std::array< std::array< uint8_t, 64 >, 6 > scaling_lists_16x16
Definition: HEVCParser.h:199
HEVCParser::RSV_NVCL46
@ RSV_NVCL46
Definition: HEVCParser.h:124
HEVCParser::UNSPEC54
@ UNSPEC54
Definition: HEVCParser.h:133
HEVCParser::ShortTermRefPicSet::inter_ref_pic_set_prediction_flag
bool inter_ref_pic_set_prediction_flag
Definition: HEVCParser.h:176
musicbrainzngs.compat.bytes
bytes
Definition: compat.py:49
HEVCParser::m_vps
std::map< uint, VPS > m_vps
Definition: HEVCParser.h:287
HEVCParser::QUANT_MATIX_8X8
@ QUANT_MATIX_8X8
Definition: HEVCParser.h:206
HEVCParser::UNSPEC60
@ UNSPEC60
Definition: HEVCParser.h:139
HEVCParser::RSV_NVCL45
@ RSV_NVCL45
Definition: HEVCParser.h:123
HEVCParser::m_firstSliceSegmentInPicFlag
bool m_firstSliceSegmentInPicFlag
Definition: HEVCParser.h:280
HEVCParser::ScalingList::scaling_list_dc_coef_minus8_32x32
std::vector< int16_t > scaling_list_dc_coef_minus8_32x32
Definition: HEVCParser.h:195
HEVCParser::SUFFIX_SEI_NUT
@ SUFFIX_SEI_NUT
Definition: HEVCParser.h:117
HEVCParser::m_sps
std::map< uint, SPS > m_sps
Definition: HEVCParser.h:285
HEVCParser::getFieldType
field_type getFieldType(void) const override
Definition: HEVCParser.h:252
HEVCParser::SPS::log2_max_pic_order_cnt_lsb
uint8_t log2_max_pic_order_cnt_lsb
Definition: HEVCParser.h:148
HEVCParser::ShortTermRefPicSet::delta_idx_minus1
uint8_t delta_idx_minus1
Definition: HEVCParser.h:178
HEVCParser::RSV_VCL27
@ RSV_VCL27
Definition: HEVCParser.h:102
HEVCParser::processRBSP
void processRBSP(bool rbsp_complete)
Definition: HEVCParser.cpp:463
HEVCParser::ScalingList::scaling_lists_32x32
std::array< std::array< uint8_t, 64 >, 2 > scaling_lists_32x32
Definition: HEVCParser.h:200
HEVCParser::PPS::dependent_slice_segments_enabled_flag
bool dependent_slice_segments_enabled_flag
Definition: HEVCParser.h:159
HEVCParser::IDR_N_LP
@ IDR_N_LP
Definition: HEVCParser.h:86
HEVCParser::UNSPEC59
@ UNSPEC59
Definition: HEVCParser.h:138
HEVCParser::UNSPEC48
@ UNSPEC48
Definition: HEVCParser.h:127
HEVCParser::BLA_W_RADL
@ BLA_W_RADL
Definition: HEVCParser.h:73
HEVCParser::RSV_VCL26
@ RSV_VCL26
Definition: HEVCParser.h:101
HEVCParser::NALisIRAP
static bool NALisIRAP(uint type)
Definition: HEVCParser.h:231
HEVCParser::m_poc
std::map< uint, uint > m_poc
Definition: HEVCParser.h:288
HEVCParser::QUANT_MATIX_4X4
@ QUANT_MATIX_4X4
Definition: HEVCParser.h:205
HEVCParser::RSV_VCL28
@ RSV_VCL28
Definition: HEVCParser.h:103
uint16_t
unsigned short uint16_t
Definition: iso6937tables.h:3
H2645Parser
Definition: H2645Parser.h:74
HEVCParser::FD_NUT
@ FD_NUT
Definition: HEVCParser.h:114
HEVCParser::RSV_VCL_N12
@ RSV_VCL_N12
Definition: HEVCParser.h:51
HEVCParser::parseSPS
bool parseSPS(GetBitContext *gb)
Definition: HEVCParser.cpp:1575
HEVCParser::newAU
bool newAU(void)
Definition: HEVCParser.cpp:254
HEVCParser::PPS::output_flag_present_flag
bool output_flag_present_flag
Definition: HEVCParser.h:160
HEVCParser::RSV_NVCL42
@ RSV_NVCL42
Definition: HEVCParser.h:120
HEVCParser::NAL_type_str
QString NAL_type_str(int8_t type) override
Definition: HEVCParser.cpp:54
HEVCParser::UNSPEC62
@ UNSPEC62
Definition: HEVCParser.h:141
HEVCParser::getFrameRate
void getFrameRate(FrameRate &result) const override
Definition: HEVCParser.cpp:2064
HEVCParser::VPS_NUT
@ VPS_NUT
Definition: HEVCParser.h:108
HEVCParser::RADL_R
@ RADL_R
Definition: HEVCParser.h:44
HEVCParser::RSV_NVCL44
@ RSV_NVCL44
Definition: HEVCParser.h:122
HEVCParser::m_nuhLayerId
uint8_t m_nuhLayerId
Definition: HEVCParser.h:278
HEVCParser::TSA_R
@ TSA_R
Definition: HEVCParser.h:38
HEVCParser::UNSPEC63
@ UNSPEC63
Definition: HEVCParser.h:142
HEVCParser::ShortTermRefPicSet::abs_delta_rps_minus1
uint16_t abs_delta_rps_minus1
Definition: HEVCParser.h:177
HEVCParser::HEVCParser
HEVCParser(void)
Definition: HEVCParser.h:212
HEVCParser::UNSPEC50
@ UNSPEC50
Definition: HEVCParser.h:129
HEVCParser::ScalingList::scaling_lists_8x8
std::array< std::array< uint8_t, 64 >, 6 > scaling_lists_8x8
Definition: HEVCParser.h:198
HEVCParser::m_picOrderCntVal
uint32_t m_picOrderCntVal
Definition: HEVCParser.h:270
HEVCParser::QUANT_MATIX_16X16
@ QUANT_MATIX_16X16
Definition: HEVCParser.h:207
HEVCParser::m_nextNALisAU
bool m_nextNALisAU
Definition: HEVCParser.h:281
HEVCParser::RSV_VCL_R11
@ RSV_VCL_R11
Definition: HEVCParser.h:54
HEVCParser::m_seenEOS
bool m_seenEOS
Definition: HEVCParser.h:283
HEVCParser::PPS::sps_id
int sps_id
Definition: HEVCParser.h:162
HEVCParser::UNSPEC51
@ UNSPEC51
Definition: HEVCParser.h:130
HEVCParser::m_prevPicOrderCntLsb
uint32_t m_prevPicOrderCntLsb
Definition: HEVCParser.h:271
HEVCParser::ScalingList
Definition: HEVCParser.h:193
HEVCParser::RSV_NVCL47
@ RSV_NVCL47
Definition: HEVCParser.h:125
HEVCParser::BLA_N_LP
@ BLA_N_LP
Definition: HEVCParser.h:74
HEVCParser::RSV_VCL_N14
@ RSV_VCL_N14
Definition: HEVCParser.h:52