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 
33  enum NAL_unit_type {
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
120  RSV_NVCL42 = 42,
121  RSV_NVCL43 = 43,
122  RSV_NVCL44 = 44,
125  RSV_NVCL47 = 47,
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  using SPS = struct {
146  uint8_t log2_min_luma_coding_block_size;
151 
152  };
153 
154  using VPS = struct {
155  uint8_t max_sub_layers; // range 0 to 3
156  };
157 
158  using PPS = struct {
159  bool dependent_slice_segments_enabled_flag;
162  int sps_id;
163  };
164 
165  using ShortTermRefPicSet = struct {
166  /* calculated values */
167  int32_t DeltaPocS0[16];
168  int32_t DeltaPocS1[16];
169  uint8_t UsedByCurrPicS0[16];
170  uint8_t UsedByCurrPicS1[16];
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  using ScalingList = struct {
194  int16_t scaling_list_dc_coef_minus8_16x16[6];
196 
197  uint8_t scaling_lists_4x4 [6][16];
198  uint8_t scaling_lists_8x8 [6][64];
199  uint8_t scaling_lists_16x16 [6][64];
200  uint8_t scaling_lists_32x32 [2][64];
201  };
202 
203  using QuantMatrixSize = enum
204  {
205  QUANT_MATIX_4X4 = 0,
206  QUANT_MATIX_8X8 = 1,
207  QUANT_MATIX_16X16 = 2,
208  QUANT_MATIX_32X32 = 3
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 
280  bool m_firstSliceSegmentInPicFlag {false};
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:142
HEVCParser::UNSPEC49
@ UNSPEC49
Definition: HEVCParser.h:166
HEVCParser::TAIL_R
@ TAIL_R
Definition: HEVCParser.h:73
HEVCParser::profileTierLevel
bool profileTierLevel(GetBitContext *gb, bool profilePresentFlag, int maxNumSubLayersMinus1)
Definition: HEVCParser.cpp:583
HEVCParser::EOS_NUT
@ EOS_NUT
Definition: HEVCParser.h:150
H2645Parser::FRAME
@ FRAME
Definition: H2645Parser.h:81
HEVCParser::NALisVCL
static bool NALisVCL(uint type)
Definition: HEVCParser.h:255
HEVCParser::CRA_NUT
@ CRA_NUT
Definition: HEVCParser.h:131
HEVCParser::UNSPEC57
@ UNSPEC57
Definition: HEVCParser.h:174
HEVCParser::sps_id
int sps_id
Definition: HEVCParser.h:181
HEVCParser::RASL_R
@ RASL_R
Definition: HEVCParser.h:86
HEVCParser::UNSPEC55
@ UNSPEC55
Definition: HEVCParser.h:172
HEVCParser::TSA_N
@ TSA_N
Definition: HEVCParser.h:75
HEVCParser::log2_diff_max_min_luma_coding_block_size
uint8_t log2_diff_max_min_luma_coding_block_size
Definition: HEVCParser.h:166
HEVCParser::UNSPEC61
@ UNSPEC61
Definition: HEVCParser.h:178
HEVCParser::m_noRaslOutputFlag
bool m_noRaslOutputFlag
Definition: HEVCParser.h:301
HEVCParser
Definition: HEVCParser.h:30
HEVCParser::m_nalTemperalId
uint8_t m_nalTemperalId
Definition: HEVCParser.h:296
HEVCParser::RSV_VCL25
@ RSV_VCL25
Definition: HEVCParser.h:138
HEVCParser::QuantMatrixSize
enum { QUANT_MATIX_4X4=0, QUANT_MATIX_8X8=1, QUANT_MATIX_16X16=2, QUANT_MATIX_32X32=3 } QuantMatrixSize
Definition: HEVCParser.h:228
H2645Parser::field_type
field_type
Definition: H2645Parser.h:80
HEVCParser::TAIL_N
@ TAIL_N
Definition: HEVCParser.h:72
HEVCParser::RSV_VCL_R13
@ RSV_VCL_R13
Definition: HEVCParser.h:93
HEVCParser::SPS_NUT
@ SPS_NUT
Definition: HEVCParser.h:147
HEVCParser::RSV_NVCL43
@ RSV_NVCL43
Definition: HEVCParser.h:159
HEVCParser::delta_idx_minus1
uint8_t delta_idx_minus1
Definition: HEVCParser.h:197
HEVCParser::ShortTermRefPicSet
struct { int32_t DeltaPocS0[16] ShortTermRefPicSet
Definition: HEVCParser.h:186
HEVCParser::parsePPS
bool parsePPS(GetBitContext *gb)
Definition: HEVCParser.cpp:1969
HEVCParser::UNSPEC53
@ UNSPEC53
Definition: HEVCParser.h:170
HEVCParser::m_picOrderCntMsb
uint32_t m_picOrderCntMsb
Definition: HEVCParser.h:288
HEVCParser::sub_layer_ordering_info_present_flag
bool sub_layer_ordering_info_present_flag
Definition: HEVCParser.h:169
HEVCParser::RSV_VCL_R15
@ RSV_VCL_R15
Definition: HEVCParser.h:94
HEVCParser::m_nalUnitType
uint m_nalUnitType
Definition: HEVCParser.h:294
H2645Parser.h
HEVCParser::STSA_N
@ STSA_N
Definition: HEVCParser.h:78
HEVCParser::NALisRAP
static bool NALisRAP(uint type)
Definition: HEVCParser.h:240
HEVCParser::output_flag_present_flag
bool output_flag_present_flag
Definition: HEVCParser.h:179
HEVCParser::NumDeltaPocs
uint8_t NumDeltaPocs
Definition: HEVCParser.h:190
HEVCParser::RSV_VCL_N10
@ RSV_VCL_N10
Definition: HEVCParser.h:88
H2645Parser::NAL_unit_type
NAL_unit_type
Definition: H2645Parser.h:121
HEVCParser::delta_rps_sign
uint8_t delta_rps_sign
Definition: HEVCParser.h:198
HEVCParser::RSV_VCL24
@ RSV_VCL24
Definition: HEVCParser.h:137
HEVCParser::AUD_NUT
@ AUD_NUT
Definition: HEVCParser.h:149
HEVCParser::parseSliceSegmentLayer
bool parseSliceSegmentLayer(GetBitContext *gb)
Definition: HEVCParser.cpp:1238
HEVCParser::scaling_lists_4x4
uint8_t scaling_lists_4x4[6][16]
Definition: HEVCParser.h:216
HEVCParser::inter_ref_pic_set_prediction_flag
bool inter_ref_pic_set_prediction_flag
Definition: HEVCParser.h:195
HEVCParser::parseVPS
bool parseVPS(GetBitContext *gb)
Definition: HEVCParser.cpp:1841
HEVCParser::UNSPEC58
@ UNSPEC58
Definition: HEVCParser.h:175
HEVCParser::PPS_NUT
@ PPS_NUT
Definition: HEVCParser.h:148
HEVCParser::m_maxPicOrderCntLsb
uint32_t m_maxPicOrderCntLsb
Definition: HEVCParser.h:287
HEVCParser::UNSPEC56
@ UNSPEC56
Definition: HEVCParser.h:173
HEVCParser::m_pps
std::map< uint, PPS > m_pps
Definition: HEVCParser.h:305
HEVCParser::Reset
void Reset(void) override
Definition: HEVCParser.cpp:49
HEVCParser::RADL_N
@ RADL_N
Definition: HEVCParser.h:81
HEVCParser::RASL_N
@ RASL_N
Definition: HEVCParser.h:85
HEVCParser::RSV_IRAP_VCL23
@ RSV_IRAP_VCL23
Definition: HEVCParser.h:135
HEVCParser::STSA_R
@ STSA_R
Definition: HEVCParser.h:79
HEVCParser::parseSliceSegmentHeader
bool parseSliceSegmentHeader(GetBitContext *gb)
Definition: HEVCParser.cpp:1255
HEVCParser::pictureWidthCropped
uint pictureWidthCropped(void) const override
Definition: HEVCParser.cpp:2053
HEVCParser::PREFIX_SEI_NUT
@ PREFIX_SEI_NUT
Definition: HEVCParser.h:154
HEVCParser::EOB_NUT
@ EOB_NUT
Definition: HEVCParser.h:151
HEVCParser::RSV_IRAP_VCL22
@ RSV_IRAP_VCL22
Definition: HEVCParser.h:134
HEVCParser::BLA_W_LP
@ BLA_W_LP
Definition: HEVCParser.h:110
HEVCParser::~HEVCParser
~HEVCParser(void) override
Definition: HEVCParser.h:233
FrameRate
Definition: recorderbase.h:37
HEVCParser::addBytes
uint32_t addBytes(const uint8_t *bytes, uint32_t byte_count, uint64_t stream_offset) override
Definition: HEVCParser.cpp:130
HEVCParser::scaling_lists_32x32
uint8_t scaling_lists_32x32[2][64]
Definition: HEVCParser.h:219
HEVCParser::IDR_W_RADL
@ IDR_W_RADL
Definition: HEVCParser.h:123
HEVCParser::m_resolutionCheck
uint32_t m_resolutionCheck
Definition: HEVCParser.h:292
HEVCParser::RSV_NVCL41
@ RSV_NVCL41
Definition: HEVCParser.h:157
HEVCParser::m_prevPicOrderCntMsb
uint32_t m_prevPicOrderCntMsb
Definition: HEVCParser.h:291
HEVCParser::log2_max_pic_order_cnt_lsb
uint8_t log2_max_pic_order_cnt_lsb
Definition: HEVCParser.h:167
HEVCParser::pictureHeightCropped
uint pictureHeightCropped(void) const override
Definition: HEVCParser.cpp:2064
uint
unsigned int uint
Definition: compat.h:140
HEVCParser::UNSPEC52
@ UNSPEC52
Definition: HEVCParser.h:169
HEVCParser::RSV_VCL31
@ RSV_VCL31
Definition: HEVCParser.h:144
HEVCParser::RSV_VCL30
@ RSV_VCL30
Definition: HEVCParser.h:143
HEVCParser::RSV_NVCL46
@ RSV_NVCL46
Definition: HEVCParser.h:162
HEVCParser::separate_colour_plane_flag
bool separate_colour_plane_flag
Definition: HEVCParser.h:168
HEVCParser::UNSPEC54
@ UNSPEC54
Definition: HEVCParser.h:171
HEVCParser::UsedByCurrPicS1
uint8_t UsedByCurrPicS1[16]
Definition: HEVCParser.h:189
musicbrainzngs.compat.bytes
bytes
Definition: compat.py:49
HEVCParser::m_vps
std::map< uint, VPS > m_vps
Definition: HEVCParser.h:306
HEVCParser::UNSPEC60
@ UNSPEC60
Definition: HEVCParser.h:177
HEVCParser::RSV_NVCL45
@ RSV_NVCL45
Definition: HEVCParser.h:161
HEVCParser::m_firstSliceSegmentInPicFlag
bool m_firstSliceSegmentInPicFlag
Definition: HEVCParser.h:299
HEVCParser::SUFFIX_SEI_NUT
@ SUFFIX_SEI_NUT
Definition: HEVCParser.h:155
HEVCParser::m_sps
std::map< uint, SPS > m_sps
Definition: HEVCParser.h:304
HEVCParser::getFieldType
field_type getFieldType(void) const override
Definition: HEVCParser.h:271
HEVCParser::scaling_lists_8x8
uint8_t scaling_lists_8x8[6][64]
Definition: HEVCParser.h:217
HEVCParser::abs_delta_rps_minus1
uint16_t abs_delta_rps_minus1
Definition: HEVCParser.h:196
HEVCParser::PPS
struct { bool dependent_slice_segments_enabled_flag PPS
Definition: HEVCParser.h:178
HEVCParser::RSV_VCL27
@ RSV_VCL27
Definition: HEVCParser.h:140
HEVCParser::processRBSP
void processRBSP(bool rbsp_complete)
Definition: HEVCParser.cpp:463
HEVCParser::DeltaPocS1
int32_t DeltaPocS1[16]
Definition: HEVCParser.h:187
HEVCParser::ScalingList
struct { int16_t scaling_list_dc_coef_minus8_16x16[6] ScalingList
Definition: HEVCParser.h:213
HEVCParser::IDR_N_LP
@ IDR_N_LP
Definition: HEVCParser.h:124
HEVCParser::UNSPEC59
@ UNSPEC59
Definition: HEVCParser.h:176
HEVCParser::num_extra_slice_header_bits
uint8_t num_extra_slice_header_bits
Definition: HEVCParser.h:180
HEVCParser::scaling_list_dc_coef_minus8_32x32
int16_t scaling_list_dc_coef_minus8_32x32[2]
Definition: HEVCParser.h:214
HEVCParser::UNSPEC48
@ UNSPEC48
Definition: HEVCParser.h:165
HEVCParser::BLA_W_RADL
@ BLA_W_RADL
Definition: HEVCParser.h:111
HEVCParser::RSV_VCL26
@ RSV_VCL26
Definition: HEVCParser.h:139
HEVCParser::NumNegativePics
uint8_t NumNegativePics
Definition: HEVCParser.h:191
HEVCParser::NALisIRAP
static bool NALisIRAP(uint type)
Definition: HEVCParser.h:250
HEVCParser::m_poc
std::map< uint, uint > m_poc
Definition: HEVCParser.h:307
HEVCParser::RSV_VCL28
@ RSV_VCL28
Definition: HEVCParser.h:141
uint16_t
unsigned short uint16_t
Definition: iso6937tables.h:1
H2645Parser
Definition: H2645Parser.h:74
HEVCParser::FD_NUT
@ FD_NUT
Definition: HEVCParser.h:152
HEVCParser::RSV_VCL_N12
@ RSV_VCL_N12
Definition: HEVCParser.h:89
HEVCParser::parseSPS
bool parseSPS(GetBitContext *gb)
Definition: HEVCParser.cpp:1584
HEVCParser::newAU
bool newAU(void)
Definition: HEVCParser.cpp:254
HEVCParser::UsedByCurrPicS0
uint8_t UsedByCurrPicS0[16]
Definition: HEVCParser.h:188
HEVCParser::RSV_NVCL42
@ RSV_NVCL42
Definition: HEVCParser.h:158
HEVCParser::NAL_type_str
QString NAL_type_str(int8_t type) override
Definition: HEVCParser.cpp:54
HEVCParser::UNSPEC62
@ UNSPEC62
Definition: HEVCParser.h:179
HEVCParser::getFrameRate
void getFrameRate(FrameRate &result) const override
Definition: HEVCParser.cpp:2074
HEVCParser::VPS_NUT
@ VPS_NUT
Definition: HEVCParser.h:146
HEVCParser::RADL_R
@ RADL_R
Definition: HEVCParser.h:82
HEVCParser::RSV_NVCL44
@ RSV_NVCL44
Definition: HEVCParser.h:160
HEVCParser::m_nuhLayerId
uint8_t m_nuhLayerId
Definition: HEVCParser.h:297
HEVCParser::TSA_R
@ TSA_R
Definition: HEVCParser.h:76
HEVCParser::scaling_lists_16x16
uint8_t scaling_lists_16x16[6][64]
Definition: HEVCParser.h:218
HEVCParser::UNSPEC63
@ UNSPEC63
Definition: HEVCParser.h:180
HEVCParser::HEVCParser
HEVCParser(void)
Definition: HEVCParser.h:231
HEVCParser::UNSPEC50
@ UNSPEC50
Definition: HEVCParser.h:167
HEVCParser::m_picOrderCntVal
uint32_t m_picOrderCntVal
Definition: HEVCParser.h:289
HEVCParser::VPS
struct { uint8_t max_sub_layers VPS
Definition: HEVCParser.h:174
HEVCParser::m_nextNALisAU
bool m_nextNALisAU
Definition: HEVCParser.h:300
HEVCParser::SPS
struct { uint8_t log2_min_luma_coding_block_size SPS
Definition: HEVCParser.h:165
HEVCParser::RSV_VCL_R11
@ RSV_VCL_R11
Definition: HEVCParser.h:92
HEVCParser::m_seenEOS
bool m_seenEOS
Definition: HEVCParser.h:302
HEVCParser::UNSPEC51
@ UNSPEC51
Definition: HEVCParser.h:168
HEVCParser::m_prevPicOrderCntLsb
uint32_t m_prevPicOrderCntLsb
Definition: HEVCParser.h:290
HEVCParser::RSV_NVCL47
@ RSV_NVCL47
Definition: HEVCParser.h:163
HEVCParser::BLA_N_LP
@ BLA_N_LP
Definition: HEVCParser.h:112
HEVCParser::NumPositivePics
uint8_t NumPositivePics
Definition: HEVCParser.h:192
HEVCParser::RSV_VCL_N14
@ RSV_VCL_N14
Definition: HEVCParser.h:90