MythTV  master
dvbdescriptors.h
Go to the documentation of this file.
1 // -*- Mode: c++ -*-
2 // Copyright (c) 2003-2004, Daniel Thor Kristjansson
3 #ifndef DVB_DESCRIPTORS_H
4 #define DVB_DESCRIPTORS_H
5 
6 #include <cassert>
7 
8 #include <QMutex>
9 #include <QString>
10 
11 #include "mythtvexp.h" // MTV_PUBLIC - Symbol Visibility
12 #include "mpegdescriptors.h"
13 #include "programinfo.h" // for subtitle types and audio and video properties
14 
15 /*
16 // needed for scanning
17  conditional_access = 0x09, // maybe
18  satellite_delivery_system = 0x43,*
19  cable_delivery_system = 0x44,*
20  service = 0x48,*
21  terrestrial_delivery_system = 0x5A,*
22  frequency_list = 0x62,*
23 
24 // needed for captions
25  teletext = 0x56,
26  subtitling = 0x59,
27 
28 // needed for sound
29  registration = 0x05,
30  AC3 = 0x6A,
31 
32 // needed for eit
33  short_event = 0x4D,
34  extended_event = 0x4E,
35  content = 0x54,
36 */
37 
38 static QString coderate_inner(uint coderate);
39 
40 using enc_override = std::vector<uint8_t>;
41 MTV_PUBLIC QString dvb_decode_text(const unsigned char *src, uint length,
42  const enc_override &encoding_override);
43 
44 inline QString dvb_decode_text(const unsigned char *src, uint length)
45 {
46  return dvb_decode_text(src, length, {} );
47 }
48 
49 QString dvb_decode_short_name(const unsigned char *src, uint raw_length);
50 
51 #define byteBCDH2int(i) ((i) >> 4)
52 #define byteBCDL2int(i) ((i) & 0x0f)
53 #define byteBCD2int(i) (byteBCDH2int(i) * 10 + byteBCDL2int(i))
54 #define byte2BCD2int(i, j) \
55  (byteBCDH2int(i) * 1000 + byteBCDL2int(i) * 100 + \
56  byteBCDH2int(j) * 10 + byteBCDL2int(j))
57 #define byte3BCD2int(i, j, k) \
58  (byteBCDH2int(i) * 100000 + byteBCDL2int(i) * 10000 + \
59  byteBCDH2int(j) * 1000 + byteBCDL2int(j) * 100 + \
60  byteBCDH2int(k) * 10 + byteBCDL2int(k))
61 #define byte4BCD2int(i, j, k, l) \
62  (byteBCDH2int(i) * 10000000LL + byteBCDL2int(i) * 1000000 + \
63  byteBCDH2int(j) * 100000 + byteBCDL2int(j) * 10000 + \
64  byteBCDH2int(k) * 1000 + byteBCDL2int(k) * 100 + \
65  byteBCDH2int(l) * 10 + byteBCDL2int(l))
66 
67 // DVB Bluebook A038 (Sept 2011) p 77
69 {
70  public:
71  explicit NetworkNameDescriptor(const unsigned char *data, int len = 300) :
72  MPEGDescriptor(data, len, DescriptorID::network_name) { }
73  // Name bits loc expected value
74  // descriptor_tag 8 0.0 0x40
75  // descriptor_length 8 1.0
76  // for (i=0;i<N;i++){ char 8 uimsbf }
77  QString Name(void) const
78  { return dvb_decode_text(m_data+2, DescriptorLength()); }
79  QString ShortName(void) const
81  QString toString(void) const override // MPEGDescriptor
82  { return QString("NetworkNameDescriptor: ")+Name(); }
83 };
84 
85 // DVB Bluebook A038 (Sept 2011) p 63
87 {
88  public:
89  explicit LinkageDescriptor(const unsigned char *data, int len = 300) :
90  MPEGDescriptor(data, len, DescriptorID::linkage)
91  {
92  if (!m_data)
93  return;
94  if (DescriptorLength() < 7)
95  {
96  m_data = nullptr;
97  }
98  else if (kMobileHandOver == LinkageType())
99  {
100  uint end = 8;
101  if (DescriptorLength() < end)
102  {
103  m_data = nullptr;
104  return;
105  }
106  end += (HasMobileNetworkID()) ? 2 : 0;
107  end += (HasMobileInitialServiceID()) ? 2 : 0;
108  if (DescriptorLength() < end)
109  m_data = nullptr;
110  m_offset = end + 2;
111  }
112  else if (kEventLinkage == LinkageType())
113  {
114  if (DescriptorLength() < 10)
115  m_data = nullptr;
116  m_offset = 12;
117  }
118  }
119  // Name bits loc expected value
120  // descriptor_tag 8 0.0 0x4A
121  // descriptor_length 8 1.0
122  // transport_stream_id 16 2.0
123  uint TSID(void) const { return (m_data[2]<<8) | m_data[3]; }
124  // original_network_id 16 4.0
125  uint OriginalNetworkID() const { return (m_data[4]<<8) | m_data[5]; }
126  // service_id 16 6.0
127  uint ServiceID(void) const { return (m_data[6]<<8) | m_data[7]; }
128  // linkage_type 8 8.0
129  enum
130  {
132  kEPGService = 0x02,
137  kRCSMap = 0x07,
144  };
145  uint LinkageType(void) const { return m_data[8]; }
146  QString LinkageTypeString(void) const;
147 
148  // if (linkage_type == 0x08)
149  // {
150  // hand-over_type 4 9.0
151  enum
152  {
156  };
157  uint MobileHandOverType(void) const { return m_data[9]>>4; }
158  QString MobileHandOverTypeString(void) const;
159  // reserved_future_use 3 9.4
160  // origin_type 1 9.7
161  enum
162  {
163  kOriginNIT = 0x0,
164  kOriginSDT = 0x1,
165  };
166  uint MobileOriginType(void) const { return m_data[9]&0x1; }
167  QString MobileOriginTypeString(void) const;
168  // if (hand-over_type == 0x01 || hand-over_type == 0x02 ||
169  // hand-over_type == 0x03)
170  // { network_id 16 10.0 }
171  bool HasMobileNetworkID(void) const
172  { return bool(MobileHandOverType() & 0x3); }
173  uint MobileNetworkID(void) const { return (m_data[10]<<8) | m_data[11]; }
174  // if (origin_type ==0x00)
175  // { initial_service_id 16 HasNetworkID()?10.0:12.0 }
176  bool HasMobileInitialServiceID(void) const
177  { return kOriginNIT == MobileOriginType(); }
179  {
180  return HasMobileNetworkID() ?
181  ((m_data[12]<<8) | m_data[13]) : ((m_data[10]<<8) | m_data[11]);
182  }
183  // }
184  // if (linkage_type == 0x0D)
185  // {
186  // target_event_id 16 9.0
187  uint TargetEventID(void) const { return (m_data[9]<<8) | m_data[10]; }
188  // target_listed 1 11.0
189  bool IsTargetListed(void) const { return ( m_data[11]&0x80 ) != 0; }
190  // event_simulcast 1 11.1
191  bool IsEventSimulcast(void) const { return ( m_data[11]&0x40 ) != 0; }
192  // reserved 6 11.2
193  // }
194  // for (i=0;i<N;i++)
195  // { private_data_byte 8 bslbf }
196  const unsigned char *PrivateData(void) const
197  { return &m_data[m_offset]; }
199  { return DescriptorLength() + 2 - m_offset; }
200 
201  private:
203 };
204 
205 // DVB Bluebook A038 (Sept 2011) p 38
207 {
208  public:
209  explicit AdaptationFieldDataDescriptor(const unsigned char *data, int len = 300) :
210  MPEGDescriptor(data, len, DescriptorID::adaptation_field_data, 1) { }
211  // Name bits loc expected value
212  // descriptor_tag 8 0.0 0x70
213  // descriptor_length 8 1.0
214  // adapt_field_data_id 8 2.0
215  uint AdaptationFieldDataID(void) const { return m_data[2]; }
216  QString toString(void) const override // MPEGDescriptor
217  {
218  return QString("AdaptationFieldDataDescriptor "
219  "adaptation_field_data_identifier(%1)")
220  .arg(AdaptationFieldDataID());
221  }
222 };
223 
224 // DVB Bluebook A038 (Sept 2011) p 38
226 {
227  public:
228  explicit AncillaryDataDescriptor(const unsigned char *data, int len = 300) :
229  MPEGDescriptor(data, len, DescriptorID::ancillary_data, 1) { }
230  // Name bits loc expected value
231  // descriptor_tag 8 0.0 0x6b
232  // descriptor_length 8 1.0
233  // ancillary_data_id 8 2.0
234  uint AncillaryDataID(void) const { return m_data[2]; }
235  QString toString(void) const override // MPEGDescriptor
236  {
237  return QString("AncillaryDataDescriptor "
238  "ancillary_data_identifier(%1)")
239  .arg(AncillaryDataID());
240  }
241 };
242 
243 // DVB Bluebook A038 (Sept 2011) p 39
245 {
246  public:
247  explicit AnnouncementSupportDescriptor(const unsigned char *data, int len = 300) :
248  MPEGDescriptor(data, len, DescriptorID::announcement_support) { }
249  // Name bits loc expected value
250  // descriptor_tag 8 0.0 0x6e
251  // descriptor_length 8 1.0
252  // announcmnt_supprt_indic 16 2.0
253  // for (i=0; i<N; i++)
254  // {
255  // announcement_type 4 0.0+p
256  // reserved_future_use 1 0.4+p
257  // reference_type 3 0.5+p
258  // if (reference_type & 0x3)
259  // {
260  // original_network_id 16 0.0+p
261  // transport_stream_id 16 2.0+p
262  // service_id 16 4.0+p
263  // component_tag 8 6.0+p
264  // } 7.0
265  // }
266 };
267 
268 // DVB Bluebook A038 (Sept 2011) p 41
270 {
271  public:
272  explicit BouquetNameDescriptor(const unsigned char *data, int len = 300) :
273  MPEGDescriptor(data, len, DescriptorID::bouquet_name) { }
274  // Name bits loc expected value
275  // descriptor_tag 8 0.0 0x47
276  // descriptor_length 8 1.0
277  // for(i=0;i<N;i++) { char 8 }
278  QString BouquetName(void) const
279  { return dvb_decode_text(m_data+2, m_data[1]); }
280  QString BouquetShortName(void) const
281  { return dvb_decode_short_name(m_data+2, m_data[1]); }
282 
283  QString toString(void) const override // MPEGDescriptor
284  {
285  return QString("BouquetNameDescriptor: Bouquet Name(%1)")
286  .arg(BouquetName());
287  }
288 };
289 
290 // DVB Bluebook A038 (Sept 2011) p 41
292 {
293  public:
294  explicit CAIdentifierDescriptor(const unsigned char *data, int len = 300) :
295  MPEGDescriptor(data, len, DescriptorID::ca_identifier) { }
296  // Name bits loc expected value
297  // descriptor_tag 8 0.0 0x53
298  // descriptor_length 8 1.0
299  //
300  uint CASystemCount(void) const { return DescriptorLength() >> 1; }
301  // for (i=0; i<N; i++)
302  // { CA_system_id 16 }
303  int CASystemId(uint i) const
304  { return (m_data[2 + i*2] << 8) | m_data[3 + i*2]; }
305  QString toString(void) const override; // MPEGDescriptor
306 };
307 
308 // DVB Bluebook A038 (Sept 2011) p 42
310 {
311  public:
312  explicit CellFrequencyLinkDescriptor(const unsigned char *data, int len = 300) :
313  MPEGDescriptor(data, len, DescriptorID::cell_frequency_link) { }
314  // Name bits loc expected value
315  // descriptor_tag 8 0.0 0x6d
316  // descriptor_length 8 1.0
317  // for (i=0; i<N; i++)
318  // {
319  // cell_id 16 0.0+p
320  // frequency 32 2.0+p
321  // subcell_info_loop_len 8 6.0+p
322  // for (j=0;j<N;j++)
323  // {
324  // cell_id_extension 8 0.0+p2
325  // transposer_freq 32 1.0+p2
326  // } 5.0
327  // }
328 };
329 
330 // DVB Bluebook A038 (Sept 2011) p 42
332 {
333  public:
334  explicit CellListDescriptor(const unsigned char *data, int len = 300) :
335  MPEGDescriptor(data, len, DescriptorID::cell_list) { }
336  // Name bits loc expected value
337  // descriptor_tag 8 0.0 0x6c
338  // descriptor_length 8 1.0
339  // for (i=0; i<N; i++)
340  // {
341  // cell_id 16 0.0+p
342  // cell_latitude 16 2.0+p
343  // cell_longitude 16 4.0+p
344  // cell_extent_of_lat 12 6.0+p
345  // cell_extent_of_longit 12 7.4+p
346  // subcell_info_loop_len 8 9.0+p
347  // for (j=0;j<N;j++)
348  // {
349  // cell_id_extension 8 0.0+p2
350  // subcell_latitude 16 1.0+p2
351  // subcell_longitude 16 3.0+p2
352  // subcell_ext_of_lat 12 4.0+p2
353  // subcell_ext_of_long 12 5.4+p2
354  // } 7.0
355  // }
356 };
357 
358 // DVB Bluebook A038 (Sept 2011) p 44
360 {
361  public:
362  explicit ComponentDescriptor(const unsigned char *data, int len = 300) :
363  MPEGDescriptor(data, len, DescriptorID::component) { }
364  // Name bits loc expected value
365  // descriptor_tag 8 0.0 0x50
366  // descriptor_length 8 1.0
367  // reserved_future_use 4 2.0
368  // stream_content 4 2.4
369  uint StreamContent(void) const { return m_data[2] & 0xf; }
370  // component_type 8 3.0
371  uint ComponentType(void) const { return m_data[3]; }
372  // component_tag 8 4.0
373  uint ComponentTag(void) const { return m_data[4]; }
374  // ISO_639_language_code 24 5.0
375  int LanguageKey(void) const
376  { return iso639_str3_to_key(&m_data[5]); }
377  QString LanguageString(void) const
378  { return iso639_key_to_str3(LanguageKey()); }
379  int CanonicalLanguageKey(void) const
381  QString CanonicalLanguageString(void) const
383  //
384  // for (i=0; i<N; i++) { text_char 8 }
385 
386  bool IsVideo(void) const
387  {
388  return 0x1 == StreamContent() || // MPEG-2
389  0x5 == StreamContent() || // H.264
390  0x9 == StreamContent(); // HEVC
391  }
392  bool IsAudio(void) const
393  {
394  switch(StreamContent())
395  {
396  case 0x02:
397  case 0x04:
398  case 0x06:
399  case 0x07:
400  return true;
401  default:
402  return false;
403  }
404  }
405  bool IsSubtitle(void) const { return 0x3 == StreamContent(); }
406 
407  uint VideoProperties(void) const
408  {
409  if (0x1 == StreamContent())
410  return MPEG2Properties();
411  if (0x5 == StreamContent())
412  return VID_AVC | AVCProperties();
413  if (0x9 == StreamContent())
414  return VID_HEVC | HEVCProperties();
415 
416  return VID_UNKNOWN;
417  }
418 
419  uint MPEG2Properties(void) const
420  {
421  switch(ComponentType())
422  {
423  case 0x2: case 0x3: case 0x4:
424  case 0x6: case 0x7: case 0x8:
425  return VID_WIDESCREEN;
426  case 0x09:
427  case 0x0D:
428  return VID_HDTV;
429  case 0x0A: case 0x0B: case 0x0C:
430  case 0x0E: case 0x0F: case 0x10:
431  return VID_WIDESCREEN | VID_HDTV;
432  default:
433  return VID_UNKNOWN;
434  }
435  }
436 
437  uint AVCProperties(void) const
438  {
439  switch(ComponentType())
440  {
441  case 0x3: case 0x4:
442  case 0x7: case 0x8:
443  return VID_WIDESCREEN;
444  case 0x0B: case 0x0C:
445  case 0x0F: case 0x10:
446  return VID_WIDESCREEN | VID_HDTV;
447  case 0x80: case 0x81:
448  case 0x82: case 0x83:
449  return VID_WIDESCREEN | VID_HDTV | VID_3DTV;
450  default:
451  return VID_UNKNOWN;
452  }
453  }
454 
455  uint HEVCProperties(void) const
456  {
457  switch(ComponentType())
458  {
459  // NOLINTNEXTLINE(bugprone-branch-clone)
460  case 0x0: case 0x1:
461  case 0x2: case 0x3:
462  return VID_HDTV;
463  case 0x5:
464  return VID_HDTV; // | VID_UHDTV;
465  default:
466  return VID_UNKNOWN;
467  }
468  }
469 
470  uint AudioProperties(void) const
471  {
472  switch (StreamContent())
473  {
474  case 0x2:
475  return MP2Properties();
476  case 0x04:
477  return AC3Properties();
478  case 0x06:
479  return HEAACProperties();
480  default:
481  return AUD_UNKNOWN;
482  }
483  }
484 
485  uint MP2Properties(void) const
486  {
487  switch (ComponentType())
488  {
489  case 0x1:
490  return AUD_MONO;
491  case 0x3:
492  return AUD_STEREO;
493  case 0x5:
494  return AUD_SURROUND;
495  case 0x40:
496  return AUD_VISUALIMPAIR;
497  case 0x41:
498  return AUD_HARDHEAR;
499  default:
500  return AUD_UNKNOWN;
501  }
502  }
503 
504  uint AC3Properties(void) const
505  {
506  unsigned char properties = AUD_UNKNOWN;
507 
508  switch (ComponentType() & 0x7)
509  {
510  case 0x0:
511  properties |= AUD_MONO;
512  break;
513  case 0x2:
514  properties |= AUD_STEREO;
515  break;
516  case 0x3:
517  properties |= AUD_DOLBY;
518  break;
519  case 0x4: case 0x5:
520  properties |= AUD_SURROUND;
521  break;
522  }
523 
524  if (((ComponentType() >> 3) & 0x7) == 0x2)
525  properties |= AUD_VISUALIMPAIR;
526 
527  if (((ComponentType() >> 3) & 0x7) == 0x3)
528  properties |= AUD_HARDHEAR;
529 
530  return properties;
531  }
532 
533  uint HEAACProperties(void) const
534  {
535  switch (ComponentType())
536  {
537  case 0x1:
538  return AUD_MONO;
539  case 0x3:
540  case 0x43:
541  return AUD_STEREO;
542  case 0x5:
543  return AUD_SURROUND;
544  case 0x40:
545  case 0x44:
546  return AUD_VISUALIMPAIR;
547  case 0x41:
548  case 0x45:
549  return AUD_HARDHEAR;
550  default:
551  return AUD_UNKNOWN;
552  }
553  }
554 
555  uint SubtitleType(void) const
556  {
557  if (!IsSubtitle())
558  return SUB_UNKNOWN;
559 
560  switch (ComponentType())
561  {
562  case 0x1:
563  case 0x3:
564  case 0x10: case 0x11: case 0x12: case 0x13:
565  return SUB_NORMAL;
566  case 0x20: case 0x21: case 0x22: case 0x23:
567  return SUB_HARDHEAR;
568  default:
569  return SUB_UNKNOWN;
570  }
571  }
572 
573  QString toString(void) const override // MPEGDescriptor
574  {
575  return QString("ComponentDescriptor(stream_content: 0x%1, "
576  "component_type: 0x%2)").arg(StreamContent(), 0, 16)
577  .arg(ComponentType(), 0, 16);
578  }
579 };
580 
581 // DVB Bluebook A038 (Sept 2011) p 46
583 {
584  public:
585  explicit ContentDescriptor(const unsigned char *data, int len = 300) :
586  MPEGDescriptor(data, len, DescriptorID::content) { }
587  // Name bits loc expected value
588  // descriptor_tag 8 0.0 0x54
589  // descriptor_length 8 1.0
590 
591  uint Count(void) const { return DescriptorLength() >> 1; }
592  // for (i=0;i<N;i++)
593  // {
594  // content_nibble_level_1 4 0.0+p
595  uint Nibble1(uint i) const { return m_data[2 + (i<<1)] >> 4; }
596  // content_nibble_level_2 4 0.4+p
597  uint Nibble2(uint i) const { return m_data[2 + (i<<1)] & 0xf; }
598 
599  uint Nibble(uint i) const { return m_data[2 + (i<<1)]; }
600 
601  // user_nibble 4 1.0+p
602  uint UserNibble1(uint i) const { return m_data[3 + (i<<1)] >> 4; }
603  // user_nibble 4 1.4+p
604  uint UserNibble2(uint i) const { return m_data[3 + (i<<1)] & 0xf; }
605  uint UserNibble(uint i) const { return m_data[3 + (i<<1)]; }
606  // } 2.0
607 
609  QString GetDescription(uint i) const;
610  QString toString(void) const override; // MPEGDescriptor
611 
612  protected:
613  static void Init(void);
614 
615  protected:
616  static QMutex s_categoryLock;
617  static QMap<uint,QString> s_categoryDesc;
618  static volatile bool s_categoryDescExists;
619 };
620 
621 // DVB Bluebook A038 (Sept 2011) p 49
623 {
624  public:
625  explicit CountryAvailabilityDescriptor(const unsigned char *data, int len = 300) :
626  MPEGDescriptor(data, len, DescriptorID::country_availability) { }
627  // Name bits loc expected value
628  // descriptor_tag 8 0.0 0x49
629  // descriptor_length 8 1.0
630 
631  uint CountryCount(void) const { return ((DescriptorLength() - 1) / 3); }
632 
633  // country_avail_flag 1 2.0
634  bool IsAvailable(void) const { return (m_data[2] & 0x1) != 0; }
635  // reserved_future_use 7 2.1
636  //
637  // for (i=0; i<N; i++)
638  // { country_code 24 }
639  QString CountryNames(void) const
640  {
641  QString countries="";
642  for (uint i=0; i<CountryCount(); i++)
643  {
644  if (i!=0) countries.append(" ");
645  countries.append(QString::fromLatin1(
646  (const char *)m_data+(3*(i+1)), 3));
647  };
648  return countries;
649  }
650 
651  QString toString(void) const override // MPEGDescriptor
652  {
653  return QString("CountryAvailabilityDescriptor: Available(%1) in (%2)")
654  .arg(static_cast<int>(IsAvailable())).arg(CountryNames());
655  }
656 };
657 
658 // DVB Bluebook A038 (Sept 2011) p 50
660 {
661  public:
662  explicit DataBroadcastDescriptor(const unsigned char *data, int len = 300) :
663  MPEGDescriptor(data, len, DescriptorID::data_broadcast) { }
664  // Name bits loc expected value
665  // descriptor_tag 8 0.0 0x64
666  // descriptor_length 8 1.0
667 
668  // data_broadcast_id 16 2.0
669  uint DataBroadcastId(void) const { return m_data[2] << 8 | m_data[3]; }
670  // component_tag 8 4.0
671  uint DataComponentTag(void) const { return m_data[4]; }
672  // selector_length 8 5.0
673  uint SelectorLength(void) const { return m_data[5]; }
674  // for (i=0; i<selector_length; i++)
675  // {
676  // selector_byte 8
677  const unsigned char *Selector(void) const { return &m_data[6]; }
678  // }
679  // ISO_639_language_code 24
680  int LanguageKey(void) const
681  { return iso639_str3_to_key(&m_data[6 + SelectorLength()]); }
682  QString LanguageString(void) const
683  { return iso639_key_to_str3(LanguageKey()); }
684  int CanonicalLanguageKey(void) const
686  QString CanonicalLanguageString(void) const
688  // text_length 8
689  uint TextLength(void) const { return m_data[6 + SelectorLength() + 3]; }
690  // for (i=0; i<text_length; i++) { text_char 8 }
691  QString Text(void) const
692  {
693  return dvb_decode_text(&m_data[6 + SelectorLength() + 4], TextLength());
694  }
695 
696  QString toString(void) const override; // MPEGDescriptor
697 };
698 
699 // DVB Bluebook A038 (Sept 2011) p 51
701 {
702  public:
703  explicit DataBroadcastIdDescriptor(const unsigned char *data, int len = 300) :
704  MPEGDescriptor(data, len, DescriptorID::data_broadcast_id) { }
705  // Name bits loc expected value
706  // descriptor_tag 8 0.0 0x66
707  // descriptor_length 8 1.0
708 
709  // data_broadcast_id 16 2.0
710  uint DataBroadCastId(void) const { return m_data[2] << 8 | m_data[3]; }
711  // for(i=0; i < N;i++ )
712  // { id_selector_byte 8 }
713 };
714 
715 // DVB Bluebook A038 (Sept 2011) p 51
717 {
718  public:
719  explicit CableDeliverySystemDescriptor(const unsigned char *data, int len = 300) :
720  MPEGDescriptor(data, len, DescriptorID::cable_delivery_system) { }
721  // Name bits loc expected value
722  // descriptor_tag 8 0.0 0x44
723  // descriptor_length 8 1.0
724 
725  // frequency 32 2.0
726  uint FrequencyRaw(void) const
727  {
728  return ((m_data[2]<<24) | (m_data[3]<<16) |
729  (m_data[4]<<8) | (m_data[5]));
730  }
731  unsigned long long FrequencyHz(void) const
732  {
733  if (m_data == nullptr)
734  return 0;
735  return byte4BCD2int(m_data[2], m_data[3], m_data[4], m_data[5]) * 100;
736  }
737  // reserved_future_use 12 6.0
738  // FEC_outer 4 7.4
739  enum
740  {
743  };
744  uint FECOuter(void) const { return m_data[7] & 0xf; }
745  QString FECOuterString(void) const
746  {
747  return (FECOuter() == kOuterFEC_None) ? "None" :
748  ((FECOuter() == kOuterFEC_RS204_RS188) ? "RS(204/188)" : "unknown");
749  }
750  // modulation 8 8.0
751  enum
752  {
758  };
759  uint Modulation(void) const { return m_data[8]; }
760  QString ModulationString(void) const
761  {
762  static std::array<QString,6> ms
763  { "auto", "qam_16", "qam_32", "qam_64", "qam_128", "qam_256" };
764  return (Modulation() <= kModulationQAM256) ?
765  ms[Modulation()] : QString("auto");
766  }
767  // symbol_rate 28 9.0
768  uint SymbolRateRaw(void) const
769  {
770  return ((m_data[9]<<20) | (m_data[10]<<12) |
771  (m_data[11]<<4) | (m_data[12]>>4));
772  }
773  uint SymbolRateHz(void) const
774  {
775  return ((byte3BCD2int(m_data[9], m_data[10], m_data[11]) * 1000) +
776  (byteBCDH2int(m_data[12]) * 100));
777  }
778  // FEC_inner 4 12.4
779  enum
780  {
788  };
789  uint FECInner(void) const { return m_data[12] & 0xf; }
790  QString FECInnerString(void) const { return coderate_inner(FECInner()); }
791  QString toString(void) const override; // MPEGDescriptor
792 };
793 
794 // DVB Bluebook A038 (Feb 2019) p 58
796 {
797  public:
799  const unsigned char *data, int len = 300) :
800  MPEGDescriptor(data, len, DescriptorID::satellite_delivery_system) { }
801  // Name bits loc expected value
802  // descriptor_tag 8 0.0 0x43
803  // descriptor_length 8 1.0
804 
806  uint FrequencyRaw(void) const
807  {
808  return ((m_data[2]<<24) | (m_data[3]<<16) |
809  (m_data[4]<<8) | (m_data[5]));
810  }
811  unsigned long long FrequencykHz(void) const
812  {
813  return byte4BCD2int(m_data[2], m_data[3], m_data[4], m_data[5]) * 10;
814  }
816  uint OrbitalPosition(void) const
817  { return byte2BCD2int(m_data[6], m_data[7]); }
818  QString OrbitalPositionString(void) const
819  {
820  uint num = OrbitalPosition();
821  return QString("%1.%2 %3").arg(num / 10).arg(num % 10)
822  .arg((IsEast()) ? "East" : "West");
823  }
824  double OrbitalPositionFloat() const
825  { return ((double) OrbitalPosition()) / 10.0; }
827  bool IsEast(void) const { return ( (m_data[8]&0x80) ) != 0; }
828  bool IsWest(void) const { return !IsEast(); }
829  // polarization 2 8.1
830  uint Polarization(void) const { return (m_data[8]>>5)&0x3; }
831  QString PolarizationString() const
832  {
833  static std::array<QString,4> ps { "h", "v", "l", "r" };
834  return ps[Polarization()];
835  }
836  bool IsCircularPolarization(void) const { return ((m_data[8]>>6)&0x1) != 0; }
837  bool IsLinearPolarization(void) const { return ((m_data[8]>>6)&0x1) == 0; }
838  bool IsHorizontalLeftPolarization(void) const { return ((m_data[8]>>5)&0x1) != 0; }
839  bool IsVerticalRightPolarization(void) const { return ((m_data[8]>>5)&0x1) == 0; }
840  // roll off 2 8.3
841  enum
842  {
847  };
848  uint RollOff(void) const { return (m_data[8]>>3)&0x3; }
849  QString RollOffString(void) const
850  {
851  static std::array<QString,4> ro { "0.35", "0.20", "0.25", "auto" };
852  return ro[RollOff()];
853  }
854  // modulation system 1 8.5
855  uint ModulationSystem(void) const { return (m_data[8]>>2)&0x1; }
856  QString ModulationSystemString(void) const
857  {
858  return ModulationSystem() ? "DVB-S2" : "DVB-S";
859  }
860  // modulation 2 8.6
861  enum
862  {
863  kModulationQPSK_NS = 0x0, // Non standard QPSK for Bell ExpressVu
864  // should be "auto" according to DVB SI standard
868  };
869  uint Modulation(void) const { return m_data[8]&0x03; }
870  QString ModulationString(void) const
871  {
872  static std::array<QString,4> ms { "qpsk", "qpsk", "8psk", "qam_16" };
873  return ms[Modulation()];
874  }
875  // symbol_rate 28 9.0
876  uint SymbolRate(void) const
877  {
878  return ((m_data[9]<<20) | (m_data[10]<<12) |
879  (m_data[11]<<4) | (m_data[12]>>4));
880  }
881  uint SymbolRateHz(void) const
882  {
883  return ((byte3BCD2int(m_data[9], m_data[10], m_data[11]) * 1000) +
884  (byteBCDH2int(m_data[12]) * 100));
885  }
886  // FEC_inner 4 12.4
887  enum
888  {
896  };
897  uint FECInner(void) const { return m_data[12] & 0xf; }
898  QString FECInnerString(void) const { return coderate_inner(FECInner()); }
899 
900  QString toString(void) const override; // MPEGDescriptor
901 };
902 
903 // DVB Bluebook A038 (Feb 2019) p 60
905 {
906  public:
908  const unsigned char *data, int len = 300) :
909  MPEGDescriptor(data, len, DescriptorID::terrestrial_delivery_system) { }
910  // Name bits loc expected value
911  // descriptor_tag 8 0.0 0x5a
912  // descriptor_length 8 1.0
913 
914  // centre_frequency 32 2.0
915  uint Frequency(void) const
916  {
917  return ((m_data[2]<<24) | (m_data[3]<<16) |
918  (m_data[4]<<8) | (m_data[5]));
919  }
920  uint64_t FrequencyHz(void) const { return uint64_t(Frequency()) * 10ULL; }
921 
922  // bandwidth 3 6.0
923  enum
924  {
929  };
930  uint Bandwidth(void) const { return m_data[6]>>5; }
931  uint BandwidthHz(void) const { return (8 - Bandwidth()) * 1000000; }
932  QString BandwidthString(void) const
933  {
934  static std::array<QString,4> bs { "8", "7", "6", "5" };
935  return (Bandwidth() <= kBandwidth5Mhz) ? bs[Bandwidth()] : "auto";
936  }
937  // priority 1 6.3
938  bool HighPriority(void) const { return ( m_data[6] & 0x10 ) != 0; }
939  // time_slicing_indicator 1 6.4
940  bool IsTimeSlicingIndicatorUsed(void) const { return (m_data[6] & 0x08) == 0; }
941  // MPE-FEC_indicator 1 6.5
942  bool IsMPE_FECUsed(void) const { return (m_data[6] & 0x04) == 0; }
943  // reserved_future_use 2 6.6
944  // constellation 2 7.0
945  enum
946  {
951  };
952  uint Constellation(void) const { return m_data[7]>>6; }
953  QString ConstellationString(void) const
954  {
955  static std::array<QString,4> cs { "qpsk", "qam_16", "qam_64", "qam_256" };
956  return (Constellation() <= kConstellationQAM256) ?
957  cs[Constellation()] : "auto";
958  }
959  // hierarchy_information 3 7.2
960  enum
961  {
970  };
971  uint Hierarchy(void) const { return (m_data[7]>>3) & 0x7; }
972 
974  QString HierarchyString(void) const
975  {
976  static std::array<QString,8> hs { "n", "1", "2", "4", "a", "a", "a", "a" };
977  return hs[Hierarchy()];
978  }
979  bool NativeInterleaver(void) const { return ( m_data[7] & 0x20 ) != 0; }
980  uint Alpha(void) const
981  {
982  uint i = (m_data[7]>>3) & 0x3;
983  return (0x2 == i) ? 4 : i;
984  }
985  // code_rate-HP_stream 3 7.5
986  enum
987  {
993  };
994  uint CodeRateHP(void) const { return m_data[7] & 0x7; }
995  QString CodeRateHPString(void) const
996  {
997  static std::array<QString,8> cr {
998  "1/2", "2/3", "3/4", "5/6", "7/8", "auto", "auto", "auto"
999  };
1000  return cr[CodeRateHP()];
1001  }
1002  // code_rate-LP_stream 3 8.0
1003  uint CodeRateLP(void) const { return (m_data[8]>>5) & 0x7; }
1004  QString CodeRateLPString(void) const
1005  {
1006  static std::array<QString,8> cr {
1007  "1/2", "2/3", "3/4", "5/6", "7/8", "auto", "auto", "auto"
1008  };
1009  return cr[CodeRateLP()];
1010  }
1011  // guard_interval 2 8.3
1012  enum
1013  {
1018  };
1019  uint GuardInterval(void) const { return (m_data[8]>>3) & 0x3; }
1020  QString GuardIntervalString(void) const
1021  {
1022  static std::array<QString,4> gi { "1/32", "1/16", "1/8", "1/4" };
1023  return gi[GuardInterval()];
1024  }
1025  // transmission_mode 2 8.5
1026  enum
1027  {
1031  };
1032  uint TransmissionMode(void) const { return (m_data[8]>>1) & 0x3; }
1033  QString TransmissionModeString(void) const
1034  {
1035  static std::array<QString,4> tm { "2", "8", "4", "auto" };
1036  return tm[TransmissionMode()];
1037  }
1038  // other_frequency_flag 1 8.7
1039  bool OtherFrequencyInUse(void) const { return (m_data[8] & 0x1) != 0; }
1040  // reserved_future_use 32 9.0
1041 
1042  QString toString(void) const override; // MPEGDescriptor
1043 };
1044 
1045 // DVB Bluebook A038 (Feb 2019) p 110
1047 {
1048  public:
1050  const unsigned char *data, int len = 300) :
1051  MPEGDescriptor(data, len, DescriptorID::extension)
1052  {
1054  {
1055  m_data = nullptr;
1056  }
1057  }
1058  // Name bits loc expected value
1059  // descriptor_tag 8 0.0 0x7f extension
1060  // descriptor_length 8 1.0
1061  // descriptor_tag_extension 8 2.0 0x00 image_icon
1062 
1063  // descriptor_number 4 3.0
1065  {
1066  return m_data[3] >> 4;
1067  }
1068 
1069  // last_descriptor_number 4 3.4
1071  {
1072  return m_data[3] & 0xF;
1073  }
1074 
1075  // icon_id 3 4.5
1076  uint IconID(void) const
1077  {
1078  return m_data[4] & 0x7;
1079  }
1080 
1081  //
1082  // TBD
1083  //
1084 
1085  QString toString(void) const override; // MPEGDescriptor
1086 };
1087 
1088 // DVB Bluebook A038 (Feb 2019) p 104 0x7f 0x04
1090 {
1091  public:
1093  const unsigned char *data, int len = 300) :
1094  MPEGDescriptor(data, len, DescriptorID::extension)
1095  {
1097  {
1098  m_data = nullptr;
1099  }
1100  Parse();
1101  }
1102  // Name bits loc expected value
1103  // descriptor_tag 8 0.0 0x7f extension
1104  // descriptor_length 8 1.0
1105  // descriptor_tag_extension 8 2.0 0x04 t2_delivery_system
1106 
1107  // plp_id 8 3.0
1108  uint PlpID(void) const
1109  {
1110  return m_data[3];
1111  }
1112 
1113  // T2_system_id 16 4.0
1114  uint T2SystemID(void) const
1115  {
1116  return ((m_data[4]<<8) | (m_data[5]));
1117  }
1118 
1119  // SISO/MISO 2 6.0
1120  uint SisoMiso(void) const { return (m_data[6] >> 6) & 0x3; }
1121  QString SisoMisoString(void) const
1122  {
1123  static const std::array<const QString,4> sm
1124  { "SISO", "MISO", "reserved", "reserved" };
1125  return sm[SisoMiso()];
1126  }
1127 
1128  // bandwidth 4 6.2
1129  enum
1130  {
1137  };
1138  uint Bandwidth(void) const { return (m_data[6] >> 2) & 0xF; }
1139  uint BandwidthHz(void) const
1140  {
1141  static constexpr std::array<const uint,6> bw
1142  { 8000000, 7000000, 6000000, 5000000, 10000000, 1712000 };
1143  return (Bandwidth() <= kBandwidth1712kHz ? bw[Bandwidth()] : 0);
1144  }
1145  QString BandwidthString(void) const
1146  {
1147  static const std::array<const QString,6> bs
1148  { "8", "7", "6", "5", "10", "1.712" };
1149  return (Bandwidth() <= kBandwidth1712kHz) ? bs[Bandwidth()] : "0";
1150  }
1151 
1152  // guard_interval 3 7.0
1153  enum
1154  {
1162  };
1163  uint GuardInterval(void) const { return (m_data[7]>>5) & 0x7; }
1164  QString GuardIntervalString(void) const
1165  {
1166  static const std::array<const QString,8> gi
1167  { "1/32", "1/16", "1/8", "1/4", "1/128", "19/128", "19/256", "reserved" };
1168  return gi[GuardInterval()];
1169  }
1170 
1171  // transmission_mode 3 7.3
1172  enum
1173  {
1180  };
1181  uint TransmissionMode(void) const { return (m_data[7]>>2) & 0x7; }
1182  QString TransmissionModeString(void) const
1183  {
1184  static const std::array<const QString,8> tm
1185  { "2k", "8k", "4k", "1k", "16k", "32k", "reserved", "reserved" };
1186  return tm[TransmissionMode()];
1187  }
1188  uint OtherFrequencyFlag(void) const { return (m_data[7]>>1) & 0x1; }
1189  uint TFSFlag(void) const { return m_data[7] & 0x1; }
1190 
1191  public:
1192  uint NumCells(void) const { return m_cellPtrs.size(); }
1193  uint CellID(uint i) const { return (m_cellPtrs[i][0] << 8) | m_cellPtrs[i][1]; }
1194  uint FrequencyLoopLength(uint i) const { return m_cellPtrs[i][2]; }
1195 
1197  {
1198  return (m_cellPtrs[i][2] << 24) | (m_cellPtrs[i][3] << 16) | (m_cellPtrs[i][4] << 8) | m_cellPtrs[i][5];
1199  }
1200 
1201  uint CentreFrequency(int i, int j) const
1202  {
1203  return (m_cellPtrs[i][3+4*j] << 24) | (m_cellPtrs[i][4+4*j] << 16) | (m_cellPtrs[i][5+4*j] << 8) | m_cellPtrs[i][6+4*j];
1204  }
1205  uint SubcellInfoLoopLength(uint i) const { return m_subCellPtrs[i][0]; }
1206  uint CellIDExtension(uint i, uint j) const { return m_subCellPtrs[i][1+5*j]; }
1208  {
1209  return (m_subCellPtrs[i][1+5*j] << 24) | (m_subCellPtrs[i][2+5*j] << 16) | (m_subCellPtrs[i][3+5*j] << 8) | m_cellPtrs[i][4+5*j];
1210  }
1211 
1212  void Parse(void) const;
1213  QString toString(void) const override; // MPEGDescriptor
1214 
1215  private:
1216  mutable std::vector<const unsigned char*> m_cellPtrs; // used to parse
1217  mutable std::vector<const unsigned char*> m_subCellPtrs; // used to parse
1218 };
1219 
1220 // DVB Bluebook A038 (Feb 2019) p 100 0x7f 0x05
1222 {
1223  public:
1225  const unsigned char *data, int len = 300) :
1226  MPEGDescriptor(data, len, DescriptorID::extension)
1227  {
1229  {
1230  m_data = nullptr;
1231  }
1232  }
1233  // Name bits loc expected value
1234  // descriptor_tag 8 0.0 0x7f extension
1235  // descriptor_length 8 1.0
1236  // descriptor_tag_extension 8 2.0 0x05 sh_delivery_system
1237 
1238  //
1239  // TBD
1240  //
1241 
1242  QString toString(void) const override; // MPEGDescriptor
1243 };
1244 
1245 // DVB Bluebook A038 (Feb 2019) p 115 0x7F 0x06
1247 {
1248  public:
1250  const unsigned char *data, int len = 300) :
1251  MPEGDescriptor(data, len, DescriptorID::extension)
1252  {
1254  {
1255  m_data = nullptr;
1256  }
1257  }
1258  // Name bits loc expected value
1259  // descriptor_tag 8 0.0 0x7f extension
1260  // descriptor_length 8 1.0
1261  // descriptor_tag_extension 8 2.0 0x06 supplementary_audio_descriptor
1262 
1263  // mix_type 1 3.0
1264  uint MixType(void) const { return m_data[3] & 0x1; }
1265 
1266  // editorial_classification 5 3.1
1267  uint EditorialClassification(void) const { return (m_data[3] >> 1 ) & 0x1F; }
1268 
1269  // reserved_future_use 1 3.6
1270  uint ReservedFutureUse(void) const { return (m_data[3] >> 6 ) & 0x1; }
1271 
1272  // language_code_present 1 3.7
1273  uint LanguageCodePresent(void) const { return (m_data[3] >> 7 ) & 0x1; }
1274 
1275  // ISO_639_language_code 24 4.0
1276  int LanguageKey(void) const
1277  { return iso639_str3_to_key(&m_data[4]); }
1278  QString LanguageString(void) const
1279  { return iso639_key_to_str3(LanguageKey()); }
1280 
1281  QString toString(void) const override; // MPEGDescriptor
1282 };
1283 
1284 // DVB Bluebook A038 (Feb 2019) p 113 0x7F 0x07
1286 {
1287  public:
1289  const unsigned char *data, int len = 300) :
1290  MPEGDescriptor(data, len, DescriptorID::extension)
1291  {
1293  {
1294  m_data = nullptr;
1295  }
1296  }
1297  // Name bits loc expected value
1298  // descriptor_tag 8 0.0 0x7f extension
1299  // descriptor_length 8 1.0
1300  // descriptor_tag_extension 8 2.0 0x07 network_change_notify_descriptor
1301 
1302  QString toString(void) const override; // MPEGDescriptor
1303 };
1304 
1305 // DVB Bluebook A038 (Feb 2019) p 112 0x7F 0x08
1307 {
1308  public:
1310  const unsigned char *data, int len = 300) :
1311  MPEGDescriptor(data, len, DescriptorID::extension)
1312  {
1314  {
1315  m_data = nullptr;
1316  }
1317  }
1318  // Name bits loc expected value
1319  // descriptor_tag 8 0.0 0x7f extension
1320  // descriptor_length 8 1.0
1321  // descriptor_tag_extension 8 2.0 0x08 message_descriptor
1322 
1323  // message_id 8 3.0
1324  uint MessageID(void) const { return m_data[3]; }
1325 
1326  // ISO_639_language_code 24 4.0
1327  int LanguageKey(void) const
1328  { return iso639_str3_to_key(&m_data[4]); }
1329  QString LanguageString(void) const
1330  { return iso639_key_to_str3(LanguageKey()); }
1331 
1332  // text_char 8 7.0
1333  QString Message(void) const
1334  { return dvb_decode_text(m_data+7, DescriptorLength()-5); }
1335 
1336  QString toString(void) const override; // MPEGDescriptor
1337 };
1338 
1339 // DVB Bluebook A038 (Feb 2019) p 117
1341 {
1342  public:
1344  const unsigned char *data, int len = 300) :
1345  MPEGDescriptor(data, len, DescriptorID::extension)
1346  {
1348  {
1349  m_data = nullptr;
1350  }
1351  }
1352  // Name bits loc expected value
1353  // descriptor_tag 8 0.0 0x7f extension
1354  // descriptor_length 8 1.0 4 or more
1355  // descriptor_tag_extension 8 2.0 0x09 target_region
1356 
1357  // country_code 24 3.0 e.g. "GBR"
1358  uint CountryCode(void) const
1359  {
1360  return ((m_data[3] << 16) | (m_data[4] << 8) | m_data[5]);
1361  }
1362  QString CountryCodeString(void) const
1363  {
1364  return QString(m_data[3]) + QChar(m_data[4]) + QChar(m_data[5]);
1365  }
1366  //
1367  // TBD
1368  //
1369  QString toString(void) const override; // MPEGDescriptor
1370 };
1371 
1372 // DVB Bluebook A038 (Feb 2019) p 118
1374 {
1375  public:
1377  const unsigned char *data, int len = 300) :
1378  MPEGDescriptor(data, len, DescriptorID::extension)
1379  {
1381  {
1382  m_data = nullptr;
1383  }
1384  }
1385  // Name bits loc expected value
1386  // descriptor_tag 8 0.0 0x7f extension
1387  // descriptor_length 8 1.0 7 or more
1388  // descriptor_tag_extension 8 2.0 0x0A target_region_name
1389 
1390  // country_code 24 3.0 e.g. "GBR"
1391  uint CountryCode(void) const
1392  {
1393  return ((m_data[3] << 16) | (m_data[4] << 8) | m_data[5]);
1394  }
1395  QString CountryCodeString(void) const
1396  {
1397  return QString(m_data[3]) + QChar(m_data[4]) + QChar(m_data[5]);
1398  }
1399 
1400  // ISO_639_language_code 24 6.0
1401  int LanguageKey(void) const
1402  { return iso639_str3_to_key(&m_data[6]); }
1403  QString LanguageString(void) const
1404  { return iso639_key_to_str3(LanguageKey()); }
1405 
1406  //
1407  // TBD
1408  //
1409  QString toString(void) const override; // MPEGDescriptor
1410 };
1411 
1412 // DVB Bluebook A038 (Feb 2019) p 115 0x7F 0x0B
1414 {
1415  public:
1417  const unsigned char *data, int len = 300) :
1418  MPEGDescriptor(data, len, DescriptorID::extension)
1419  {
1421  {
1422  m_data = nullptr;
1423  }
1424  }
1425  // Name bits loc expected value
1426  // descriptor_tag 8 0.0 0x7f extension
1427  // descriptor_length 8 1.0 7
1428  // descriptor_tag_extension 8 2.0 0x0B service_relocated
1429 
1430  // old_original_network_id 16 3.0
1431  // old_transport_stream_id 16 5.0
1432  // old_service_id 16 7.0
1433  uint OldOriginalNetworkID(void) const { return (m_data[3] << 8) | m_data[4]; }
1434  uint OldTransportID(void) const { return (m_data[5] << 8) | m_data[6]; }
1435  uint OldServiceID(void) const { return (m_data[7] << 8) | m_data[8]; }
1436 
1437  QString toString(void) const override; // MPEGDescriptor
1438 };
1439 
1440 // DVB Bluebook A038 (Feb 2019) p 98
1442 {
1443  public:
1445  const unsigned char *data, int len = 300) :
1446  MPEGDescriptor(data, len, DescriptorID::extension)
1447  {
1449  {
1450  m_data = nullptr;
1451  }
1452  }
1453  // Name bits loc expected value
1454  // descriptor_tag 8 0.0 0x7f extension
1455  // descriptor_length 8 1.0 9
1456  // descriptor_tag_extension 8 2.0 0x0D c2_delivery_system
1457 
1458  // plp_id 8 3.0
1459  uint PlpID(void) const
1460  {
1461  return m_data[3];
1462  }
1463 
1464  // data_slice_id 8 4.0
1465  uint DataSliceID(void) const
1466  {
1467  return m_data[4];
1468  }
1469 
1470  // C2_System_tuning_frequency 32 5.0
1471  uint Frequency(void) const
1472  {
1473  return ((m_data[5]<<24) | (m_data[6]<<16) |
1474  (m_data[7]<<8) | (m_data[8]));
1475  }
1476 
1477  //
1478  // TBD
1479  //
1480 
1481  QString toString(void) const override; // MPEGDescriptor
1482 };
1483 
1484 // DVB Bluebook A038 (Feb 2019) p 108
1486 {
1487  public:
1489  const unsigned char *data, int len = 300) :
1490  MPEGDescriptor(data, len, DescriptorID::extension)
1491  {
1493  {
1494  m_data = nullptr;
1495  }
1496  }
1497  // Name bits loc expected value
1498  // descriptor_tag 8 0.0 0x7f extension
1499  // descriptor_length 8 1.0
1500  // descriptor_tag_extension 8 2.0 0x17 s2x_delivery_system
1501 
1502  //
1503  // TBD
1504  //
1505 
1506  QString toString(void) const override; // MPEGDescriptor
1507 };
1508 
1509 // DVB Bluebook A038 (Sept 2011) p 58
1511 {
1512  public:
1513  explicit DSNGDescriptor(const unsigned char *data, int len = 300) :
1514  MPEGDescriptor(data, len, DescriptorID::dsng) { }
1515  // Name bits loc expected value
1516  // descriptor_tag 8 0.0 0x68
1517  // descriptor_length 8 1.0
1518  // for (i=0;i<N;i++) { byte 8 }
1519 };
1520 
1521 // DVB Bluebook A038 (Sept 2011) p 58
1523 {
1524  public:
1525  explicit ExtendedEventDescriptor(const unsigned char *data, int len = 300) :
1526  MPEGDescriptor(data, len, DescriptorID::extended_event) { }
1527  // Name bits loc expected value
1528  // descriptor_tag 8 0.0 0x4e
1529  // descriptor_length 8 1.0
1530 
1531  // descriptor_number 4 2.0
1532  uint DescriptorNumber(void) const { return m_data[2] >> 4; }
1533  // last_number 4 2.4
1534  uint LastNumber(void) const { return m_data[2] & 0xf; }
1535  // ISO_639_language_code 24 3.0
1536  int LanguageKey(void) const
1537  { return iso639_str3_to_key(&m_data[3]); }
1538  QString LanguageString(void) const
1539  { return iso639_key_to_str3(LanguageKey()); }
1540  int CanonicalLanguageKey(void) const
1541  { return iso639_key_to_canonical_key(LanguageKey()); }
1542  QString CanonicalLanguageString(void) const
1543  { return iso639_key_to_str3(CanonicalLanguageKey()); }
1544  // length_of_items 8 6.0
1545  uint LengthOfItems(void) const { return m_data[6]; }
1546  // for ( i=0;i<N;i++)
1547  // {
1548  // item_description_len 8 0.0+p
1549  // for (j=0;j<N;j++) { item_desc_char 8 }
1550  // item_length 8 1.0+p2
1551  // for (j=0;j<N;j++) { item_char 8 }
1552  // }
1553  QMultiMap<QString,QString> Items(void) const;
1554  // text_length 8
1555  uint TextLength(void) const { return m_data[7 + LengthOfItems()]; }
1556  // for (i=0; i<N; i++) { text_char 8 }
1557  QString Text(void) const
1558  { return dvb_decode_text(&m_data[8 + LengthOfItems()], TextLength()); }
1559 
1560  // HACK beg -- Pro7Sat is missing encoding
1561  QString Text(const enc_override &encoding_override) const
1562  {
1563  return dvb_decode_text(&m_data[8 + LengthOfItems()], TextLength(),
1564  encoding_override);
1565  }
1566  // HACK end -- Pro7Sat is missing encoding
1567 };
1568 
1569 // DVB Bluebook A038 (Sept 2011) p 60
1571 {
1572  public:
1573  explicit FrequencyListDescriptor(const unsigned char *data, int len = 300) :
1574  MPEGDescriptor(data, len, DescriptorID::frequency_list) { }
1575  // Name bits loc expected value
1576  // descriptor_tag 8 0.0 0x62
1577  // descriptor_length 8 1.0
1578 
1579  // reserved_future_use 6 2.0
1580  // coding_type 2 2.6
1581  enum
1582  {
1587  };
1588  uint CodingType(void) const { return m_data[2] & 0x3; }
1589  // for (i=0;I<N;i++)
1590  // {
1591  // centre_frequency 32
1592  // }
1593  uint FrequencyCount() const { return DescriptorLength()>>2; }
1594  unsigned long long Frequency(uint i) const
1595  {
1597  {
1598  return (((unsigned long long)m_data[i*4+3]<<24) |
1599  (m_data[i*4+4]<<16) |
1600  (m_data[i*4+5]<<8) |
1601  (m_data[i*4+6]));
1602  }
1603  return byte4BCD2int(m_data[i*4+3], m_data[i*4+4],
1604  m_data[i*4+5], m_data[i*4+6]);
1605  }
1606  unsigned long long FrequencyHz(uint i) const
1607  {
1608  return Frequency(i) *
1609  ((kCodingTypeTerrestrial == CodingType()) ? 10 : 100);
1610  }
1611 
1612  QString toString(void) const override; // MPEGDescriptor
1613 };
1614 
1615 // DVB Bluebook A038 (Sept 2011) p 70
1616 // ETSI EN 300 468 p 58
1618 {
1619  public:
1620  explicit LocalTimeOffsetDescriptor(const unsigned char *data, int len = 300) :
1621  MPEGDescriptor(data, len, DescriptorID::local_time_offset) { }
1622  // Name bits loc expected value
1623  // descriptor_tag 8 0.0 0x58
1624  // descriptor_length 8 1.0
1625  uint Count(void) const { return DescriptorLength() / 13; }
1626  // for(i=0;i<N;i++)
1627  // {
1628  // country_code 24 0.0+p
1630  {
1631  int o = 2 + i*13;
1632  return ((m_data[o] << 16) | (m_data[o+1] << 8) | m_data[o+2]);
1633  }
1634  QString CountryCodeString(uint i) const
1635  {
1636  int o = 2 + i*13;
1637  return QString(m_data[o]) + QChar(m_data[o+1]) + QChar(m_data[o+2]);
1638  }
1639  // country_region_id 6 3.0+p
1640  uint CountryRegionId(uint i) const { return m_data[2 + i*13 + 3] >> 2; }
1641  // reserved 1 3.6+p
1642  // local_time_off_polarity 1 3.7+p
1645  { return (m_data[2 + i*13 + 3] & 0x01) != 0; }
1646  // local_time_offset 16 4.0+p
1648  { return (m_data[2 + i*13 + 4] << 8) | m_data[2 + i*13 + 5]; }
1650  { return (LocalTimeOffsetPolarity(i) ? -1 : +1) * LocalTimeOffset(i); }
1651  // time_of_change 40 6.0+p
1652  // TODO decode this
1653  // next_time_offset 16 11.0+p
1655  { return (m_data[2 + i*13 + 11]<<8) | m_data[2 + i*13 + 12]; }
1656  // } 13.0
1657  QString toString(void) const override; // MPEGDescriptor
1658 };
1659 
1660 // DVB Bluebook A038 (Sept 2011) p 71
1662 {
1663  public:
1664  explicit MosaicDescriptor(const unsigned char *data, int len = 300) :
1665  MPEGDescriptor(data, len, DescriptorID::mosaic) { }
1666  // Name bits loc expected value
1667  // descriptor_tag 8 0.0 0x51
1668  // descriptor_length 8 1.0
1669 
1670  // mosaic_entry_point 1 2.0
1671  // num_horiz_elem_cells 3 2.1
1672  // reserved_future_use 1 2.4
1673  // num_vert_elem_cells 3 2.5
1674  // for (i=0;i<N; i++)
1675  // {
1676  // logical_cell_id 6 0.0+p
1677  // reserved_future_use 7 0.6+p
1678  // logical_cell_pres_info 3 1.5+p
1679  // elem_cell_field_len 8 2.0+p
1680  // for (i=0; j<elementary_cell_field_length; j++)
1681  // {
1682  // reserved_future_use 2
1683  // elementary_cell_id 6
1684  // }
1685  // cell_linkage_info 8
1686  // if (cell_linkage_info == 0x01)
1687  // {
1688  // bouquet_id 16
1689  // }
1690  // if (cell_linkage_info == 0x02)
1691  // {
1692  // original_network_id 16
1693  // transport_stream_id 16
1694  // service_id 16
1695  // }
1696  // if (cell_linkage_info == 0x03)
1697  // {
1698  // original_network_id 16
1699  // transport_stream_id 16
1700  // service_id 16
1701  // }
1702  // if (cell_linkage_info == 0x04)
1703  // {
1704  // original_network_id 16
1705  // transport_stream_id 16
1706  // service_id 16
1707  // event_id 16
1708  // }
1709  // }
1710 };
1711 
1712 // DVB Bluebook A038 (Sept 2011) p 74
1714 {
1715  public:
1717  const unsigned char *data, int len = 300) :
1718  MPEGDescriptor(data, len, DescriptorID::multilingual_bouquet_name) { }
1719  // Name bits loc expected value
1720  // descriptor_tag 8 0.0 0x5c
1721  // descriptor_length 8 1.0
1722 
1723  // for (i=0;i<N;i++)
1724  // {
1725  // ISO_639_language_code 24
1726  // bouquet_name_length 8
1727  // for (j=0;j<N;j++) { char 8 }
1728  // }
1729 };
1730 
1731 // DVB Bluebook A038 (Sept 2011) p 75
1733 {
1734  public:
1736  const unsigned char *data, int len = 300) :
1737  MPEGDescriptor(data, len, DescriptorID::multilingual_network_name) { }
1738  // Name bits loc expected value
1739  // descriptor_tag 8 0.0 0x5b
1740  // descriptor_length 8 1.0
1741 
1742  // for (i=0;i<N;i++)
1743  // {
1744  // ISO_639_language_code 24
1745  // network_name_length 8
1746  // for (j=0;j<N;j++) { char 8 }
1747  // }
1748 };
1749 
1750 // DVB Bluebook A038 (Sept 2011) p 76
1752 {
1753  public:
1755  const unsigned char *data, int len = 300) :
1756  MPEGDescriptor(data, len, DescriptorID::multilingual_service_name) { }
1757  // Name bits loc expected value
1758  // descriptor_tag 8 0.0 0x5d
1759  // descriptor_length 8 1.0
1760 
1761  // for (i=0;i<N;i++)
1762  // {
1763  // ISO_639_language_code 24
1764  // service_provider_name_length 8
1765  // for (j=0;j<N;j++) { char 8 }
1766  // service_name_length 8
1767  // for (j=0;j<N;j++) { char 8 }
1768  // }
1769 };
1770 
1771 // DVB Bluebook A038 (Sept 2011) p 76
1773 {
1774  public:
1775  explicit NVODReferenceDescriptor(const unsigned char *data, int len = 300) :
1776  MPEGDescriptor(data, len, DescriptorID::nvod_reference) { }
1777  // Name bits loc expected value
1778  // descriptor_tag 8 0.0 0x4b
1779  // descriptor_length 8 1.0
1780  uint Count(void) const { return DescriptorLength() / 6; }
1781 
1782  // for (i=0;i<N;i++)
1783  // {
1784  // transport_stream_id 16
1786  { return (m_data[i * 6 + 2] << 8) | m_data[i * 6 + 3]; }
1787  // original_network_id 16
1789  { return (m_data[i * 6 + 4] << 8) | m_data[i * 6 + 5]; }
1790  // service_id 16
1792  { return (m_data[i * 6 + 6] << 8) | m_data[i * 6 + 7]; }
1793  // }
1794  QString toString(void) const override; // MPEGDescriptor
1795 };
1796 
1797 // DVB Bluebook A038 (Sept 2011) p 78
1798 // ETSI EN 300 468
1800 {
1801  public:
1802  explicit ParentalRatingDescriptor(const unsigned char *data, int len = 300) :
1803  MPEGDescriptor(data, len, DescriptorID::parental_rating) { }
1804  explicit ParentalRatingDescriptor(const std::vector<uint8_t> &data) :
1805  MPEGDescriptor(data, DescriptorID::parental_rating) { }
1806  // Name bits loc expected value
1807  // descriptor_tag 8 0.0 0x55
1808  // descriptor_length 8 1.0
1809  uint Count(void) const { return DescriptorLength() / 4; }
1810 
1811  // for (i=0; i<N; i++)
1812  // {
1813  // country_code 24
1814  // rating 8
1815  // }
1816  QString CountryCodeString(uint i) const
1817  {
1818  int o = 2 + i*4;
1819  if (i < Count())
1820  return QString(m_data[o]) + QChar(m_data[o+1]) + QChar(m_data[o+2]);
1821  return QString("");
1822  }
1823  int Rating(uint i) const
1824  {
1825  if (i >= Count())
1826  {
1827  return -1;
1828  }
1829 
1830  unsigned char rawRating = m_data[2 + 3 + i*4];
1831  if (rawRating == 0)
1832  {
1833  // 0x00 - undefined
1834  return -1;
1835  }
1836  if ((rawRating >= 0x01) && (rawRating <= 0x0F))
1837  {
1838  // 0x01 to 0x0F - minumum age = rating + 3 years
1839  return rawRating + 3;
1840  }
1841 
1842  // 0x10 to 0xFF - defined by the broadcaster
1843  return -1;
1844  }
1845 };
1846 
1847 // DVB Bluebook A038 (Sept 2011) p 78 (see also ETSI EN 300 231 PDC)
1849 {
1850  public:
1851  explicit PDCDescriptor(const unsigned char *data, int len = 300) :
1852  MPEGDescriptor(data, len, DescriptorID::pdc, 3) { }
1853  // Name bits loc expected value
1854  // descriptor_tag 8 0.0 0x69
1855  // descriptor_length 8 1.0
1856 
1857  // reserved_future_use 4 2.0
1858  // program_id_label 20 2.4
1859  uint ProgramIdLabel(void) const
1860  { return (m_data[2] & 0x0F) << 16 | m_data[3] << 8 | m_data[4]; }
1861  QString toString(void) const override // MPEGDescriptor
1862  {
1863  return QString("PDCDescriptor program_id_label(%1)")
1864  .arg(ProgramIdLabel());
1865  }
1866 };
1867 
1868 // DVB Bluebook A038 (Sept 2011) p 79 (see also ETSI TS 101 162)
1870 {
1871  public:
1872  explicit PrivateDataSpecifierDescriptor(const unsigned char *data, int len = 300) :
1873  MPEGDescriptor(data, len, DescriptorID::private_data_specifier) { }
1874  explicit PrivateDataSpecifierDescriptor(const std::vector<uint8_t> &data) :
1875  MPEGDescriptor(data, DescriptorID::private_data_specifier) { }
1876  // Name bits loc expected value
1877  // descriptor_tag 8 0.0 0x5f
1878  // descriptor_length 8 1.0
1879 
1880  // private_data_specifier 32 2.0
1881  uint32_t PrivateDataSpecifier (void) const
1882  {
1883  return (m_data[2] << 24 | m_data[3] << 16 | m_data[4] << 8 | m_data[5]);
1884  }
1885 };
1886 
1887 // DVB Bluebook A038 (Sept 2011) p 79
1889 {
1890  public:
1891  explicit ScramblingDescriptor(const unsigned char *data, int len = 300) :
1892  MPEGDescriptor(data, len, DescriptorID::scrambling, 1) { }
1893  // Name bits loc expected value
1894  // descriptor_tag 8 0.0 0x65
1895  // descriptor_length 8 1.0
1896 
1897  // scrambling_mode 8 2.0
1898  uint ScramblingMode(void) const { return m_data[2]; }
1899  QString toString(void) const override // MPEGDescriptor
1900  {
1901  return QString("ScramblingDescriptor scrambling_mode(%1)")
1902  .arg(ScramblingMode());
1903  }
1904 };
1905 
1906 // DVB Bluebook A038 (Feb 2019) p 83, Table 89: Service type coding
1908 {
1909  public:
1910  explicit ServiceDescriptorMapping(const uint service_type) { m_serviceType = service_type; }
1911  enum
1912  {
1921  // reserved for future use = 0x09,
1930  // reserved for future use = 0x12 to 0x15
1942  // reserved for future use = 0x21 to 0x7F
1943  // user defined = 0x80 to 0xFE
1944  // reserved for future use = 0xFF
1945  // User Defined descriptors for Dish network
1959 
1960  };
1961  uint ServiceType(void) const { return m_serviceType; }
1962  bool IsDTV(void) const
1963  {
1964  return ((ServiceType() == kServiceTypeDigitalTelevision) ||
1966  IsHDTV() ||
1967  IsUHDTV() ||
1981  }
1982  bool IsDigitalAudio(void) const
1983  {
1984  return
1987  }
1988  bool IsHDTV(void) const
1989  {
1990  return
1994  }
1995  bool IsUHDTV(void) const
1996  {
1997  return
2000  }
2001  bool IsTeletext(void) const
2002  {
2004  }
2005  QString toString(void) const;
2006 
2007  private:
2009 };
2010 
2011 // DVB Bluebook A038 (Feb 2019) p 82
2013 {
2014  public:
2015  explicit ServiceDescriptor(const unsigned char *data, int len = 300) :
2016  MPEGDescriptor(data, len, DescriptorID::service) { }
2017  // Name bits loc expected value
2018  // descriptor_tag 8 0.0 0x48
2019  // descriptor_length 8 1.0
2020 
2021  // service_type 8 2.0
2022  uint ServiceType(void) const { return m_data[2]; }
2023  // svc_provider_name_len 8 3.0
2024  uint ServiceProviderNameLength(void) const { return m_data[3]; }
2025  // for (i=0;i<N;I++) { char 8 }
2026  QString ServiceProviderName(void) const
2028  QString ServiceProviderShortName(void) const
2029  {
2031  }
2032  // service_name_length 8
2034  { return m_data[4 + ServiceProviderNameLength()]; }
2035  // for (i=0;i<N;I++) { char 8 }
2036  QString ServiceName(void) const
2037  {
2039  ServiceNameLength());
2040  }
2041  QString ServiceShortName(void) const
2042  {
2044  ServiceNameLength());
2045  }
2046  bool IsDTV(void) const
2047  { return ServiceDescriptorMapping(ServiceType()).IsDTV(); }
2048  bool IsDigitalAudio(void) const
2050  bool IsHDTV(void) const
2052  bool IsTeletext(void) const
2054 
2055  QString toString(void) const override // MPEGDescriptor
2056  {
2057  return QString("ServiceDescriptor: %1 %2(0x%3)")
2058  .arg(ServiceName())
2060  .arg(ServiceType(),2,16,QChar('0'));
2061  }
2062 };
2063 
2064 // DVB Bluebook A038 (Feb 2019) p 84
2066 {
2067  public:
2068  explicit ServiceAvailabilityDescriptor(const unsigned char *data, int len = 300) :
2069  MPEGDescriptor(data, len, DescriptorID::service_availability) { }
2070  // Name bits loc expected value
2071  // descriptor_tag 8 0.0 0x72
2072  // descriptor_length 8 1.0
2073 
2074  // availability_flag 1 2.0
2075  // reserved 7 2.1
2076  // for (i=0;i<N;i++) { cell_id 16 }
2077 };
2078 
2079 // DVB Bluebook A038 (Feb 2019) p 84
2081 {
2082  public:
2083  explicit ServiceListDescriptor(const unsigned char *data, int len = 300) :
2084  MPEGDescriptor(data, len, DescriptorID::service_list) { }
2085  // Name bits loc expected value
2086  // descriptor_tag 8 0.0 0x41
2087  // descriptor_length 8 1.0
2088 
2089  // for (i=0;i<N;I++)
2090  // {
2091  // service_id 16 0.0+p
2092  // service_type 8 2.0+p
2093  // }
2094  uint ServiceCount(void) const { return DescriptorLength() / 3; }
2095 
2097  { return (m_data[2+i*3] << 8) | m_data[3+i*3]; }
2098 
2099  uint ServiceType(uint i) const { return m_data[4+i*3]; }
2100 
2101  QString toString(void) const override // MPEGDescriptor
2102  {
2103  QString str = QString("ServiceListDescriptor: %1 Services")
2104  .arg(ServiceCount());
2105  for (uint i=0; i<ServiceCount(); i++)
2106  {
2107  str.append("\n");
2108  str.append(QString(" Service (%1) Type%2 (0x%3)")
2109  .arg(ServiceID(i))
2111  .arg(ServiceType(i),2,16,QChar('0')));
2112  }
2113  return str;
2114  }
2115 };
2116 
2117 // DVB Bluebook A038 (Sept 2011) p 82
2119 {
2120  public:
2121  explicit ServiceMoveDescriptor(const unsigned char *data, int len = 300) :
2122  MPEGDescriptor(data, len, DescriptorID::service_move) { }
2123  // Name bits loc expected value
2124  // descriptor_tag 8 0.0 0x60
2125  // descriptor_length 8 1.0
2126 
2127  // new_original_network_id 16 2.0
2128  // new_transport_stream_id 16 4.0
2129  // new_service_id 16 6.0
2130 };
2131 
2132 // DVB Bluebook A038 (Sept 2011) p 83
2134 {
2135  public:
2136  explicit ShortEventDescriptor(const unsigned char *data, int len = 300) :
2137  MPEGDescriptor(data, len, DescriptorID::short_event) { }
2138  // Name bits loc expected value
2139  // descriptor_tag 8 0.0 0x4d
2140  // descriptor_length 8 1.0
2141 
2142  // ISO_639_language_code 24 2.0
2143  int LanguageKey(void) const
2144  { return iso639_str3_to_key(&m_data[2]); }
2145  QString LanguageString(void) const
2146  { return iso639_key_to_str3(LanguageKey()); }
2147  int CanonicalLanguageKey(void) const
2149  QString CanonicalLanguageString(void) const
2151  // event_name_length 8 5.0
2152  uint EventNameLength(void) const { return m_data[5]; }
2153  // for (i=0;i<event_name_length;i++) { event_name_char 8 }
2154  QString EventName(void) const
2155  { return dvb_decode_text(&m_data[6], m_data[5]); }
2156  QString EventShortName(void) const
2157  { return dvb_decode_short_name(&m_data[6], m_data[5]); }
2158  // text_length 8
2159  uint TextLength(void) const { return m_data[6 + m_data[5]]; }
2160  // for (i=0;i<text_length;i++) { text_char 8 }
2161  QString Text(void) const
2162  { return dvb_decode_text(&m_data[7 + m_data[5]], TextLength()); }
2163 
2164  // HACK beg -- Pro7Sat is missing encoding
2165  QString EventName(const enc_override& encoding_override) const
2166  {
2167  return dvb_decode_text(&m_data[6], m_data[5],
2168  encoding_override);
2169  }
2170 
2171  QString Text(const enc_override& encoding_override) const
2172  {
2173  return dvb_decode_text(&m_data[7 + m_data[5]], TextLength(),
2174  encoding_override);
2175  }
2176  // HACK end -- Pro7Sat is missing encoding
2177 
2178  QString toString(void) const override // MPEGDescriptor
2179  { return LanguageString() + " : " + EventName() + " : " + Text(); }
2180 };
2181 
2182 // DVB Bluebook A038 (Sept 2011) p 84
2184 {
2185  public:
2186  explicit ShortSmoothingBufferDescriptor(const unsigned char *data, int len = 300) :
2187  MPEGDescriptor(data, len, DescriptorID::short_smoothing_buffer) { }
2188  // Name bits loc expected value
2189  // descriptor_tag 8 0.0 0x61
2190  // descriptor_length 8 1.0
2191 
2192  // sb_size 2 2.0
2193  // sb_leak_rate 6 2.2
2194  // for (i=0; i<N; i++)
2195  // { DVB_reserved 8 }
2196 };
2197 
2198 // DVB Bluebook A038 (Sept 2011) p 85
2202 {
2203  public:
2204  explicit StreamIdentifierDescriptor(const unsigned char *data, int len = 300) :
2205  MPEGDescriptor(data, len, DescriptorID::stream_identifier, 1) { }
2206  // Name bits loc expected value
2207  // descriptor_tag 8 0.0 0x52
2208  // descriptor_length 8 1.0 0x01
2209 
2210  // component_tag 8 2.0
2211  uint ComponentTag(void) const { return m_data[2]; }
2212  QString toString(void) const override // MPEGDescriptor
2213  {
2214  return QString("Stream Identifier Descriptor (0x52): ComponentTag=0x%1")
2215  .arg(ComponentTag(),1,16);
2216  }
2217 };
2218 
2219 // DVB Bluebook A038 (Sept 2011) p 86
2221 {
2222  public:
2223  explicit StuffingDescriptor(const unsigned char *data, int len = 300) :
2224  MPEGDescriptor(data, len, DescriptorID::dvb_stuffing) { }
2225  // Name bits loc expected value
2226  // descriptor_tag 8 0.0 0x42
2227  // descriptor_length 8 1.0
2228  // stuffing_byte * 2.0
2229  QString toString(void) const override // MPEGDescriptor
2230  {
2231  return QString("Stuffing Descriptor (0x42) length(%1)")
2232  .arg(DescriptorLength());
2233  }
2234 };
2235 
2236 // DVB Bluebook A038 (Sept 2011) p 86
2238 {
2239  public:
2240  explicit SubtitlingDescriptor(const unsigned char *data, int len = 300) :
2241  MPEGDescriptor(data, len, DescriptorID::subtitling) { }
2242  // Name bits loc expected value
2243  // descriptor_tag 8 0.0 0x59
2244  // descriptor_length 8 1.0
2245 
2246  uint StreamCount(void) const { return DescriptorLength() >> 3; }
2247  // for (i= 0;i<N;I++)
2248  // {
2249  // ISO_639_language_code 24 0.0+(i*8)
2250  int LanguageKey(uint i) const
2251  { return iso639_str3_to_key(&m_data[2 + (i<<3)]); }
2252  QString LanguageString(uint i) const
2253  { return iso639_key_to_str3(LanguageKey(i)); }
2258 
2259  // subtitling_type 8 3.0+(i*8)
2261  { return m_data[5 + (i<<3)]; }
2262  // composition_page_id 16 4.0+(i*8)
2264  { return (m_data[6 + (i<<3)] << 8) | m_data[7 + (i<<3)]; }
2265  // ancillary_page_id 16 6.0+(i*8)
2267  { return (m_data[8 + (i<<3)] << 8) | m_data[9 + (i<<3)]; }
2268  // } 8.0
2269 };
2270 
2271 // DVB Bluebook A038 (Sept 2011) p 87
2273 {
2274  public:
2275  explicit TelephoneDescriptor(const unsigned char *data, int len = 300) :
2276  MPEGDescriptor(data, len, DescriptorID::telephone) { }
2277  // Name bits loc expected value
2278  // descriptor_tag 8 0.0 0x57
2279  // descriptor_length 8 1.0
2280 
2281  // reserved_future_use 2 2.0
2282  // foreign_availability 1 2.2
2283  // connection_type 5 2.3
2284  // reserved_future_use 1 3.0
2285  // country_prefix_length 2 3.1
2286  // i18n_area_code_len 3 3.4
2287  // operator_code_length 2 3.6
2288  // reserved_future_use 1 3.7
2289  // national_area_code_len 3 4.0
2290  // core_number_length 4 4.4
2291  //
2292  // for (i=0; i<N; i++)
2293  // { country_prefix_char 8 }
2294  // for (i=0; i<N; i++)
2295  // { international_area_code_char 8 }
2296  // for (i=0; i<N; i++)
2297  // { operator_code_char 8 }
2298  // for (i=0; i<N; i++)
2299  // { national_area_code_char 8 }
2300  // for (i=0; i<N; i++)
2301  // { core_number_char 8 }
2302 };
2303 
2304 // DVB Bluebook A038 (Sept 2011) p 88
2306 {
2307  public:
2308  explicit TeletextDescriptor(const unsigned char *data, int len = 300) :
2309  MPEGDescriptor(data, len, DescriptorID::teletext) { }
2310  // Name bits loc expected value
2311  // descriptor_tag 8 0.0 0x56
2312  // descriptor_length 8 1.0
2313 
2314  uint StreamCount(void) const { return DescriptorLength() / 5; }
2315 
2316  // for (i=0; i<N; i++)
2317  // {
2318  // ISO_639_language_code 24 0.0
2319  int LanguageKey(uint i) const
2320  { return iso639_str3_to_key(&m_data[2 + (i*5)]); }
2321  QString LanguageString(uint i) const
2322  { return iso639_key_to_str3(LanguageKey(i)); }
2327  // teletext_type 5 3.0
2329  { return m_data[5 + (i*5)] >> 3; }
2330  // teletext_magazine_num 3 3.5
2332  { return m_data[5 + (i*5)] & 0x7; }
2333  // teletext_page_num 8 4.0
2335  { return m_data[6 + (i*5)]; }
2336  // } 5.0
2337  QString toString(void) const override; // MPEGDescriptor
2338 };
2339 
2340 // DVB Bluebook A038 (Sept 2011) p 89
2342 {
2343  public:
2344  explicit TimeShiftedEventDescriptor(const unsigned char *data, int len = 300) :
2345  MPEGDescriptor(data, len, DescriptorID::time_shifted_event) { }
2346  // Name bits loc expected value
2347  // descriptor_tag 8 0.0 0x4f
2348  // descriptor_length 8 1.0
2349 
2350  // reference_service_id 16 2.0
2351  // reference_event_id 16 4.0
2352 };
2353 
2354 // DVB Bluebook A038 (Sept 2011) p 90
2356 {
2357  public:
2358  explicit TimeShiftedServiceDescriptor(const unsigned char *data, int len = 300) :
2359  MPEGDescriptor(data, len, DescriptorID::dvb_time_shifted_service) { }
2360  // Name bits loc expected value
2361  // descriptor_tag 8 0.0 0x4c
2362  // descriptor_length 8 1.0
2363 
2364  // reference_service_id 16 2.0
2365 };
2366 
2367 // DVB Bluebook A038 (Sept 2011) p 90
2369 {
2370  public:
2371  explicit TransportStreamDescriptor(const unsigned char *data, int len = 300) :
2372  MPEGDescriptor(data, len, DescriptorID::transport_stream) { }
2373  // Name bits loc expected value
2374  // descriptor_tag 8 0.0 0x67
2375  // descriptor_length 8 1.0
2376 
2377  // for (i=0; i<N; i++) { byte 8 }
2378  QString Data(void) const
2379  { return dvb_decode_text(&m_data[2], DescriptorLength()); }
2380  QString toString(void) const override // MPEGDescriptor
2381  { return QString("TransportStreamDescriptor data(%1)").arg(Data()); }
2382 };
2383 
2384 // DVB Bluebook A038 (Sept 2011) p 91
2386 {
2387  public:
2388  explicit VBIDataDescriptor(const unsigned char *data, int len = 300) :
2389  MPEGDescriptor(data, len, DescriptorID::vbi_data) { }
2390  // Name bits loc expected value
2391  // descriptor_tag 8 0.0 0x45
2392  // descriptor_length 8 1.0
2393 
2394  // for (i=0; i<N; i++)
2395  // {
2396  // data_service_id 8 0.0+p
2397  // data_service_length 8 1.0+p
2398  // if ((data_service_id&0x7) && data_service_id!=0x3))
2399  // {
2400  // for (i=0; i<N; i++)
2401  // {
2402  // reserved 2 2.0+p2
2403  // field_parity 1 2.2+p2
2404  // line_offset 5 2.3+p2
2405  // }
2406  // }
2407  // else
2408  // {
2409  // for (i=0; i<N; i++) { reserved 8 }
2410  // }
2411  // }
2412 };
2413 
2414 // DVB Bluebook A038 (Sept 2011) p 92
2416 {
2417  public:
2418  explicit VBITeletextDescriptor(const unsigned char *data, int len = 300) :
2419  MPEGDescriptor(data, len, DescriptorID::vbi_teletext) { }
2420  // Name bits loc expected value
2421  // descriptor_tag 8 0.0 0x46
2422  // descriptor_length 8 1.0
2423 
2424  // for (i=0;i<N;i++)
2425  // {
2426  // ISO_639_language_code 24 0.0+p
2427  // teletext_type 5 3.0+p
2428  // teletext_magazine_num 3 3.5+p
2429  // teletext_page_num 8 4.0+p
2430  // } 5.0
2431 };
2432 
2433 // DVB Bluebook A038 (Sept 2011) p 119
2435 {
2436  public:
2437  explicit PartialTransportStreamDescriptor(const unsigned char *data, int len = 300) :
2438  MPEGDescriptor(data, len, DescriptorID::partial_transport_stream) { }
2439  // Name bits loc expected value
2440  // descriptor_tag 8 0.0 0x63
2441  // descriptor_length 8 1.0
2442 
2443  // DVB_reserved_future_use 2 2.0
2444  // peak_rate 22 2.2
2445  uint PeakRate(void) const
2446  { return (m_data[2] & 0x3f) << 16 | m_data[3] | m_data[4]; }
2447  // DVB_reserved_future_use 2 5.0
2448  // min_overall_smooth_rate 22 5.2
2449  uint SmoothRate(void) const
2450  { return (m_data[5] & 0x3f) << 16 | m_data[6] | m_data[7]; }
2451  // DVB_reserved_future_use 2 8.0
2452  // max_overall_smooth_buf 14 8.2
2453  uint SmoothBuf(void) const { return ((m_data[8] & 0x3f) << 8) | m_data[9]; }
2454  QString toString(void) const override; // MPEGDescriptor
2455 };
2456 
2457 
2458 // a_52a.pdf p125 Table A7 (for DVB)
2460 {
2461  public:
2462  explicit AC3Descriptor(const unsigned char *data, int len = 300) :
2463  MPEGDescriptor(data, len, DescriptorID::ac3) { }
2464  // Name bits loc expected value
2465  // descriptor_tag 8 0.0 0x6A
2466  // descriptor_length 8 1.0
2467 
2468  // component_type_flag 1 2.0
2469  bool HasComponentType(void) const { return ( m_data[2] & 0x80 ) != 0; }
2470  // bsid_flag 1 2.1
2471  bool HasBSID(void) const { return ( m_data[2] & 0x40 ) != 0; }
2472  // mainid_flag 1 2.2
2473  bool HasMainID(void) const { return ( m_data[2] & 0x20 ) != 0; }
2474  // asvc_flag 1 2.3
2475  bool HasASVC(void) const { return ( m_data[2] & 0x10 ) != 0; }
2476  // reserved_flags 4 2.4
2477  // if (component_type_flag == 1)
2478  // { component_type 8 uimsbf }
2479  uint ComponentType(void) const { return m_data[3]; }
2480  // if (bsid_flag == 1)
2481  // { bsid 8 uimsbf }
2482  uint BSID(void) const
2483  { return (HasComponentType()) ? m_data[4] : m_data[3]; }
2484  // if (mainid_flag == 1)
2485  // { mainid 8 uimsbf }
2486  uint MainID(void) const
2487  {
2488  int offset = 3;
2489  offset += (HasComponentType()) ? 1 : 0;
2490  offset += (HasBSID()) ? 1 : 0;
2491  return m_data[offset];
2492  }
2493  // if (asvc_flag==1)
2494  // { asvc 8 uimsbf }
2495  uint ASVC(void) const
2496  {
2497  int offset = 3;
2498  offset += (HasComponentType()) ? 1 : 0;
2499  offset += (HasBSID()) ? 1 : 0;
2500  offset += (HasMainID()) ? 1 : 0;
2501  return m_data[offset];
2502  }
2503  // for (I=0;I<N;I++)
2504  // { additional_info[i] N*8 uimsbf }
2505  //};
2506  QString toString(void) const override; // MPEGDescriptor
2507 };
2508 
2509 static QString coderate_inner(uint coderate)
2510 {
2511  switch (coderate)
2512  {
2513  case 0x0: return "auto"; // not actually defined in spec
2514  case 0x1: return "1/2";
2515  case 0x2: return "2/3";
2516  case 0x3: return "3/4";
2517  case 0x4: return "5/6";
2518  case 0x5: return "7/8";
2519  case 0x8: return "8/9";
2520  case 0xf: return "none";
2521  default: return "auto"; // not actually defined in spec
2522  }
2523 }
2524 
2534 {
2535  public:
2536  explicit DVBLogicalChannelDescriptor(const unsigned char *data, int len = 300) :
2537  MPEGDescriptor(data, len, PrivateDescriptorID::dvb_logical_channel_descriptor) { }
2538  // Name bits loc expected value
2539  // descriptor_tag 8 0.0 0x83
2540  // descriptor_length 8 1.0
2541 
2542  uint ChannelCount(void) const { return DescriptorLength() >> 2; }
2543 
2545  { return (m_data[2 + (i<<2)] << 8) | m_data[3 + (i<<2)]; }
2546 
2548  { return ((m_data[4 + (i<<2)] << 8) | m_data[5 + (i<<2)]) & 0x3ff; }
2549 
2550  QString toString(void) const override; // MPEGDescriptor
2551 };
2552 
2562 {
2563  public:
2564  explicit DVBSimulcastChannelDescriptor(const unsigned char *data, int len = 300) :
2565  MPEGDescriptor(data, len, PrivateDescriptorID::dvb_simulcast_channel_descriptor) { }
2566  // Name bits loc expected value
2567  // descriptor_tag 8 0.0 0x88
2568  // descriptor_length 8 1.0
2569 
2570  uint ChannelCount(void) const { return DescriptorLength() >> 2; }
2571 
2573  { return (m_data[2 + (i<<2)] << 8) | m_data[3 + (i<<2)]; }
2574 
2576  { return ((m_data[4 + (i<<2)] << 8) | m_data[5 + (i<<2)]) & 0x3ff; }
2577 
2578  QString toString(void) const override; // MPEGDescriptor
2579 };
2580 
2592 {
2593  public:
2594  explicit FreesatLCNDescriptor(const unsigned char *data, int len = 300) :
2595  MPEGDescriptor(data, len, PrivateDescriptorID::freesat_lcn_table)
2596  {
2598 
2599  const unsigned char *payload = &data[2];
2600 
2601  uint offset = 0;
2602  while ((offset + 5 < DescriptorLength()) &&
2603  (offset + 5 + payload[offset+4] <= DescriptorLength()))
2604  {
2605  m_entries.push_back(&payload[offset]);
2606  offset += 5 + payload[offset+4];
2607  }
2608  }
2609  // Name bits loc expected value
2610  // descriptor_tag 8 0.0 0xd3
2611  // descriptor_length 8 1.0
2612  // for (i=0;i<N;i++) {
2613  // service_id 16 0.0+p
2614  // chan_id 15 2.1+p
2615  // length 8 4.0+p
2616  // for (j=0;j<N;j++) {
2617  // unknown 4 0.0+p2
2618  // logical_channel_number 12 0.4+p2
2619  // region_id 16 2.0+p2
2620  // }
2621  // }
2622 
2623  uint ServiceCount(void) const
2624  { return m_entries.size(); }
2625 
2626  uint ServiceID(int i) const
2627  { return *m_entries[i] << 8 | *(m_entries[i]+1); }
2628 
2629  uint ChanID(int i) const
2630  { return (*(m_entries[i] + 2) << 8 | *(m_entries[i] + 3)) & 0x7FFF; }
2631 
2632  uint LCNCount(int i) const
2633  { return *(m_entries[i] + 4) / 4; }
2634 
2635  uint LogicalChannelNumber(int i, int j) const
2636  { return (*(m_entries[i] + 5 + j*4) << 8 | *(m_entries[i] + 5 + j*4 + 1)) & 0xFFF; }
2637 
2638  uint RegionID(int i, int j) const
2639  { return *(m_entries[i] + 5 + j*4 + 2) << 8 | *(m_entries[i] + 5 + j*4 + 3); }
2640 
2641  QString toString(void) const override; // MPEGDescriptor
2642 
2643  private:
2645 };
2646 
2657 {
2658  public:
2659  explicit FreesatRegionDescriptor(const unsigned char *data, int len = 300) :
2660  MPEGDescriptor(data, len, PrivateDescriptorID::freesat_region_table)
2661  {
2663 
2664  const unsigned char *payload = &data[2];
2665 
2666  uint offset = 0;
2667  while ((offset + 6 < DescriptorLength()) &&
2668  (offset + 6 + payload[offset+5] <= DescriptorLength()))
2669  {
2670  m_entries.push_back(&payload[offset]);
2671  offset += 6 + payload[offset+5];
2672  }
2673  }
2674  // Name bits loc expected value
2675  // descriptor_tag 8 0.0 0xd4
2676  // descriptor_length 8 1.0
2677  // for (i=0;i<N;i++) {
2678  // region_id 16 0.0+p
2679  // language_code 24 2.0+p eng
2680  // text_length 8 5.0+p
2681  // for (j=0;j<N;j++) {
2682  // text_char 8
2683  // }
2684  // }
2685 
2686  uint RegionCount(void) const
2687  { return m_entries.size(); }
2688 
2689  int RegionID(uint i) const
2690  { return *m_entries[i] << 8 | *(m_entries[i]+1); }
2691 
2692  QString Language(uint i) const
2693  { return QString::fromLatin1((char *) m_entries[i] + 2, 3); }
2694 
2695  QString RegionName(uint i) const
2696  { return QString::fromLatin1((char *) m_entries[i] + 6, *(m_entries[i] + 5)); }
2697 
2698  QString toString(void) const override; // MPEGDescriptor
2699 
2700  private:
2702 };
2703 
2712 {
2713  public:
2714  explicit FreesatCallsignDescriptor(const unsigned char *data, int len = 300) :
2715  MPEGDescriptor(data, len, PrivateDescriptorID::freesat_callsign)
2716  {
2718  }
2719 
2720  // Name bits loc expected value
2721  // descriptor_tag 8 0.0 0xd8
2722  // descriptor_length 8 1.0
2723 
2724  // ISO_639_language_code 24 2.0
2725  // callsign_length 8 5.0
2726  // for (j=0;j<N;j++) {
2727  // callsign_char 8
2728 
2729  QString Language(void) const
2730  { return QString::fromLatin1((char *) m_data +2, 3); }
2731 
2732  QString Callsign(void) const
2733  { return dvb_decode_short_name(&m_data[6], m_data[5]); }
2734 
2735  QString toString(void) const override; // MPEGDescriptor
2736 };
2737 
2750 {
2751  public:
2752  explicit SkyLCNDescriptor(const unsigned char *data, int len = 300) :
2753  MPEGDescriptor(data, len, PrivateDescriptorID::sky_lcn_table)
2754  {
2756  }
2757  // Name bits loc expected value
2758  // descriptor_tag 8 0.0 0xd3
2759  // descriptor_length 8 1.0
2760  // region_id 16 2.0
2761  // for (i=0;i<N;i++) {
2762  // service_id 16 0.0+p
2763  // service_type 8 2.0+p
2764  // unknown 16 3.0+p
2765  // logical_channel_number 16 5.0+p2
2766  // unknown 16 7.0+p2
2767  // }
2768 
2769  uint RegionID(void) const
2770  { return (*(m_data + 3) != 0xFF) ? *(m_data + 3) : 0xFFFF;}
2771 
2772  uint RegionRaw(void) const
2773  { return *(m_data + 2) << 8 | *(m_data + 3);}
2774 
2775  uint ServiceCount(void) const
2776  { return (DescriptorLength() - 2) / 9; }
2777 
2778  uint ServiceID(int i) const
2779  { return *(m_data + 4 + i*9) << 8 | *(m_data + 5 + i*9); }
2780 
2781  uint ServiceType(int i) const
2782  { return *(m_data + 6 + i*9); }
2783 
2784  uint ChannelID(int i) const
2785  { return *(m_data + 7 + i*9) << 8 | *(m_data + 8 + i*9); }
2786 
2788  { return *(m_data + 9 + i*9) << 8 | *(m_data + 10 + i*9); }
2789 
2790  uint Flags(int i) const
2791  { return *(m_data + 11 + i*9) << 8 | *(m_data + 12 + i*9); }
2792 
2793  QString toString(void) const override; // MPEGDescriptor
2794 };
2795 
2796 // Descriptor layout similar to SkyLCNDescriptor
2798 {
2799  public:
2800  explicit OpenTVChannelListDescriptor(const unsigned char *data, int len = 300) :
2801  MPEGDescriptor(data, len, PrivateDescriptorID::opentv_channel_list) { }
2802  // Name bits loc expected value
2803  // descriptor_tag 8 0.0 0xB1
2804  // descriptor_length 8 1.0
2805 
2806  uint ChannelCount(void) const { return (DescriptorLength() - 2)/9; }
2807 
2808  uint RegionID() const
2809  { return (m_data[2] << 8) | m_data[3]; }
2810 
2812  { return (m_data[4 + 0 + (i*9)] << 8) | m_data[4 + 1 + (i*9)]; }
2813 
2815  { return m_data[4 + 2 + (i*9)]; }
2816 
2818  { return ((m_data[4 + 3 + (i*9)] << 8) | m_data[4 + 4 + (i*9)]); }
2819 
2821  { return ((m_data[4 + 5 + (i*9)] << 8) | m_data[4 + 6 + (i*9)]); }
2822 
2823  uint Flags(uint i) const
2824  { return ((m_data[4 + 7 + (i*9)] << 8) | m_data[4 + 8 + (i*9)]) & 0xf; }
2825 
2826  QString toString(void) const override; // MPEGDescriptor
2827 };
2828 
2829 // ETSI TS 102 323 (TV Anytime)
2831 {
2832  public:
2833  explicit DVBContentIdentifierDescriptor(const unsigned char *data, int len = 300) :
2834  MPEGDescriptor(data, len, DescriptorID::dvb_content_identifier)
2835  {
2836  size_t count = 0;
2837 
2838  m_crid.fill(nullptr);
2839 
2840  if (IsValid())
2841  {
2842  uint8_t position = 2;
2843  while (m_data[1] >= position)
2844  {
2845  size_t length = m_data[position+1];
2846  m_crid[count] = &m_data[position];
2847  count++;
2848  position+=length+2;
2849  }
2850  }
2851  m_cridCount = count;
2852  }
2853  // Name bits loc expected value
2854  // descriptor_tag 8 0.0 0x76
2855  // descriptor_length 8 1.0
2856 
2857  uint ContentType(size_t n=0) const { return m_crid[n][0] >> 2; }
2858 
2859  uint ContentEncoding(size_t n=0) const { return m_crid[n][0] & 0x03; }
2860 
2861  // A content identifier is a URI. It may contain UTF-8 encoded using %XX.
2862  QString ContentId(size_t n=0) const
2863  {
2864  // cppcheck-suppress AssignmentAddressToInteger
2865  int length = m_crid[n][1];
2866  int positionOfHash = length-1;
2867  while (positionOfHash >= 0) {
2868  if (m_crid[n][2 + positionOfHash] == '#') {
2869  length = positionOfHash; /* remove the hash and the following IMI */
2870  break;
2871  }
2872  positionOfHash--;
2873  }
2874  return QString::fromLatin1((const char *)&m_crid[n][2], length);
2875  }
2876 
2877  size_t CRIDCount() const
2878  {
2879  return m_cridCount;
2880  }
2881 
2882  private:
2883  size_t m_cridCount;
2884  std::array<const uint8_t*,8> m_crid {};
2885 };
2886 
2887 // ETSI TS 102 323 (TV Anytime)
2889 {
2890  public:
2891  explicit DefaultAuthorityDescriptor(const unsigned char *data, int len = 300) :
2892  MPEGDescriptor(data, len, DescriptorID::default_authority) { }
2893  // Name bits loc expected value
2894  // descriptor_tag 8 0.0 0x73
2895  // descriptor_length 8 1.0
2896 
2897  QString DefaultAuthority(void) const
2898  {
2899  return QString::fromLatin1((const char *)m_data+2, m_data[1]);
2900  }
2901 
2902  QString toString(void) const override // MPEGDescriptor
2903  {
2904  return QString("DefaultAuthorityDescriptor: Authority(%1)")
2905  .arg(DefaultAuthority());
2906  }
2907 };
2908 
2909 /*
2910  * private UPC Cablecom (Austria) episode descriptor for Horizon middleware
2911  */
2913 {
2914  public:
2915  explicit PrivateUPCCablecomEpisodeTitleDescriptor(const unsigned char *data, int len = 300) :
2916  MPEGDescriptor(data, len, PrivateDescriptorID::upc_event_episode_title) { }
2917  explicit PrivateUPCCablecomEpisodeTitleDescriptor(const std::vector<uint8_t> &data) :
2918  MPEGDescriptor(data, PrivateDescriptorID::upc_event_episode_title) { }
2919  // Name bits loc expected value
2920  // descriptor_tag 8 0.0 0xa7
2921  // descriptor_length 8 1.0
2922 
2923  // ISO_639_language_code 24 2.0
2924  int LanguageKey(void) const
2925  {
2926  return iso639_str3_to_key(&m_data[2]);
2927  }
2928  QString LanguageString(void) const
2929  {
2930  return iso639_key_to_str3(LanguageKey());
2931  }
2932  int CanonicalLanguageKey(void) const
2933  {
2935  }
2936  QString CanonicalLanguageString(void) const
2937  {
2939  }
2940 
2941  uint TextLength(void) const
2942  {
2943  return m_data[1] - 3;
2944  }
2945 
2946  QString Text(void) const
2947  {
2948  return dvb_decode_text(&m_data[5], TextLength());
2949  }
2950 };
2951 
2952 #endif // DVB_DESCRIPTORS_H
AdaptationFieldDataDescriptor::AdaptationFieldDataID
uint AdaptationFieldDataID(void) const
Definition: dvbdescriptors.h:215
DescriptorID
Definition: mpegdescriptors.h:21
ServiceRelocatedDescriptor
Definition: dvbdescriptors.h:1414
ShortEventDescriptor::EventName
QString EventName(const enc_override &encoding_override) const
Definition: dvbdescriptors.h:2165
TeletextDescriptor::TeletextMagazineNum
uint TeletextMagazineNum(uint i) const
Definition: dvbdescriptors.h:2331
ServiceDescriptorMapping
Definition: dvbdescriptors.h:1908
T2DeliverySystemDescriptor::TransmissionMode
uint TransmissionMode(void) const
Definition: dvbdescriptors.h:1181
ServiceDescriptorMapping::kServiceTypeCommonInterface
@ kServiceTypeCommonInterface
Definition: dvbdescriptors.h:1925
CableDeliverySystemDescriptor::kModulationQAM256
@ kModulationQAM256
Definition: dvbdescriptors.h:757
TerrestrialDeliverySystemDescriptor::kBandwidth8Mhz
@ kBandwidth8Mhz
Definition: dvbdescriptors.h:925
SatelliteDeliverySystemDescriptor::OrbitalPositionString
QString OrbitalPositionString(void) const
Definition: dvbdescriptors.h:818
CableDeliverySystemDescriptor::kOuterFEC_RS204_RS188
@ kOuterFEC_RS204_RS188
Definition: dvbdescriptors.h:742
OpenTVChannelListDescriptor::ChannelID
uint ChannelID(uint i) const
Definition: dvbdescriptors.h:2817
DSNGDescriptor::DSNGDescriptor
DSNGDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1513
ParentalRatingDescriptor
Definition: dvbdescriptors.h:1800
TerrestrialDeliverySystemDescriptor::CodeRateLP
uint CodeRateLP(void) const
Definition: dvbdescriptors.h:1003
T2DeliverySystemDescriptor::TransmissionModeString
QString TransmissionModeString(void) const
Definition: dvbdescriptors.h:1182
PrivateDescriptorID::freesat_region_table
@ freesat_region_table
Definition: mpegdescriptors.h:233
LinkageDescriptor::kIP_MACNotificationService
@ kIP_MACNotificationService
Definition: dvbdescriptors.h:141
bool
bool
Definition: pxsup2dast.c:30
iso639_key_to_canonical_key
int iso639_key_to_canonical_key(int iso639_2)
Definition: iso639.cpp:118
TeletextDescriptor::TeletextDescriptor
TeletextDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2308
TerrestrialDeliverySystemDescriptor::kConstellationQAM64
@ kConstellationQAM64
Definition: dvbdescriptors.h:949
LinkageDescriptor::kOriginNIT
@ kOriginNIT
Definition: dvbdescriptors.h:163
TargetRegionNameDescriptor::CountryCodeString
QString CountryCodeString(void) const
Definition: dvbdescriptors.h:1395
TeletextDescriptor::CanonicalLanguageString
QString CanonicalLanguageString(uint i) const
Definition: dvbdescriptors.h:2325
BouquetNameDescriptor::BouquetNameDescriptor
BouquetNameDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:272
T2DeliverySystemDescriptor::kGuardInterval_19_128
@ kGuardInterval_19_128
Definition: dvbdescriptors.h:1160
SUB_HARDHEAR
@ SUB_HARDHEAR
Definition: programtypes.h:208
CableDeliverySystemDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:555
T2DeliverySystemDescriptor::kBandwidth10Mhz
@ kBandwidth10Mhz
Definition: dvbdescriptors.h:1135
MosaicDescriptor::MosaicDescriptor
MosaicDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1664
TerrestrialDeliverySystemDescriptor::HierarchyString
QString HierarchyString(void) const
Definition: dvbdescriptors.h:974
ComponentDescriptor::AudioProperties
uint AudioProperties(void) const
Definition: dvbdescriptors.h:470
ContentDescriptor::GetMythCategory
ProgramInfo::CategoryType GetMythCategory(uint i) const
Definition: dvbdescriptors.cpp:230
TerrestrialDeliverySystemDescriptor::GuardInterval
uint GuardInterval(void) const
Definition: dvbdescriptors.h:1019
T2DeliverySystemDescriptor::GuardIntervalString
QString GuardIntervalString(void) const
Definition: dvbdescriptors.h:1164
LocalTimeOffsetDescriptor::LocalTimeOffsetPolarity
bool LocalTimeOffsetPolarity(uint i) const
-1 if true, +1 if false (behind utc, ahead of utc, resp).
Definition: dvbdescriptors.h:1644
T2DeliverySystemDescriptor::CellIDExtension
uint CellIDExtension(uint i, uint j) const
Definition: dvbdescriptors.h:1206
TransportStreamDescriptor::Data
QString Data(void) const
Definition: dvbdescriptors.h:2378
MPEGDescriptor::DescriptorTag
uint DescriptorTag(void) const
Definition: mpegdescriptors.h:343
ServiceDescriptorMapping::kServiceTypeH264AVCHDNVODTimeShifted
@ kServiceTypeH264AVCHDNVODTimeShifted
Definition: dvbdescriptors.h:1935
TerrestrialDeliverySystemDescriptor::GuardIntervalString
QString GuardIntervalString(void) const
Definition: dvbdescriptors.h:1020
MPEGDescriptor::DescriptorLength
uint DescriptorLength(void) const
Definition: mpegdescriptors.h:344
ServiceDescriptorMapping::kServiceTypeNVODTimeShifted
@ kServiceTypeNVODTimeShifted
Definition: dvbdescriptors.h:1917
T2DeliverySystemDescriptor::OtherFrequencyFlag
uint OtherFrequencyFlag(void) const
Definition: dvbdescriptors.h:1188
ServiceDescriptorMapping::kServiceTypeH264AVCSDNVODReference
@ kServiceTypeH264AVCSDNVODReference
Definition: dvbdescriptors.h:1933
SkyLCNDescriptor::Flags
uint Flags(int i) const
Definition: dvbdescriptors.h:2790
VID_HDTV
@ VID_HDTV
Definition: programtypes.h:188
ShortSmoothingBufferDescriptor::ShortSmoothingBufferDescriptor
ShortSmoothingBufferDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2186
ContentDescriptor::Nibble1
uint Nibble1(uint i) const
Definition: dvbdescriptors.h:595
ShortEventDescriptor::ShortEventDescriptor
ShortEventDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2136
CountryAvailabilityDescriptor
Definition: dvbdescriptors.h:623
SatelliteDeliverySystemDescriptor::OrbitalPositionFloat
double OrbitalPositionFloat() const
Definition: dvbdescriptors.h:824
ContentDescriptor::GetDescription
QString GetDescription(uint i) const
Definition: dvbdescriptors.cpp:278
TerrestrialDeliverySystemDescriptor::kCodeRate_3_4
@ kCodeRate_3_4
Definition: dvbdescriptors.h:990
ParentalRatingDescriptor::Count
uint Count(void) const
Definition: dvbdescriptors.h:1809
TerrestrialDeliverySystemDescriptor::kGuardInterval_1_8
@ kGuardInterval_1_8
Definition: dvbdescriptors.h:1016
ComponentDescriptor::VideoProperties
uint VideoProperties(void) const
Definition: dvbdescriptors.h:407
SatelliteDeliverySystemDescriptor::IsLinearPolarization
bool IsLinearPolarization(void) const
Definition: dvbdescriptors.h:837
TerrestrialDeliverySystemDescriptor::CodeRateHP
uint CodeRateHP(void) const
Definition: dvbdescriptors.h:994
ServiceDescriptorMapping::kServiceTypeHEVCDigitalTelevision
@ kServiceTypeHEVCDigitalTelevision
Definition: dvbdescriptors.h:1940
MultilingualNetworkNameDescriptor
Definition: dvbdescriptors.h:1733
CableDeliverySystemDescriptor::Modulation
uint Modulation(void) const
Definition: dvbdescriptors.h:759
VID_3DTV
@ VID_3DTV
Definition: programtypes.h:195
TerrestrialDeliverySystemDescriptor::OtherFrequencyInUse
bool OtherFrequencyInUse(void) const
Definition: dvbdescriptors.h:1039
ServiceDescriptorMapping::kServiceTypeFMRadio
@ kServiceTypeFMRadio
Definition: dvbdescriptors.h:1919
CableDeliverySystemDescriptor::kInnerFEC_1_2_ConvolutionCodeRate
@ kInnerFEC_1_2_ConvolutionCodeRate
Definition: dvbdescriptors.h:781
ServiceDescriptorMapping::kServiceTypeAdvancedCodecDigitalRadioSound
@ kServiceTypeAdvancedCodecDigitalRadioSound
Definition: dvbdescriptors.h:1922
ImageIconDescriptor::IconID
uint IconID(void) const
Definition: dvbdescriptors.h:1076
mpegdescriptors.h
CableDeliverySystemDescriptor::kModulationQAM64
@ kModulationQAM64
Definition: dvbdescriptors.h:755
ComponentDescriptor::LanguageKey
int LanguageKey(void) const
Definition: dvbdescriptors.h:375
ServiceMoveDescriptor::ServiceMoveDescriptor
ServiceMoveDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2121
ServiceDescriptor::ServiceProviderName
QString ServiceProviderName(void) const
Definition: dvbdescriptors.h:2026
FrequencyListDescriptor
Definition: dvbdescriptors.h:1571
CableDeliverySystemDescriptor::kInnerFEC_7_8_ConvolutionCodeRate
@ kInnerFEC_7_8_ConvolutionCodeRate
Definition: dvbdescriptors.h:785
FreesatLCNDescriptor
Freesat Logical Channel Number descriptor.
Definition: dvbdescriptors.h:2592
FreesatLCNDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:873
ImageIconDescriptor::DescriptorNumber
uint DescriptorNumber(void) const
Definition: dvbdescriptors.h:1064
AC3Descriptor::ASVC
uint ASVC(void) const
Definition: dvbdescriptors.h:2495
TerrestrialDeliverySystemDescriptor::Bandwidth
uint Bandwidth(void) const
Definition: dvbdescriptors.h:930
LocalTimeOffsetDescriptor::NextTimeOffset
uint NextTimeOffset(uint i) const
Definition: dvbdescriptors.h:1654
LinkageDescriptor::kMobileHandOver
@ kMobileHandOver
Definition: dvbdescriptors.h:138
CountryAvailabilityDescriptor::IsAvailable
bool IsAvailable(void) const
Definition: dvbdescriptors.h:634
CableDeliverySystemDescriptor::kInnerFEC_5_6_ConvolutionCodeRate
@ kInnerFEC_5_6_ConvolutionCodeRate
Definition: dvbdescriptors.h:784
ShortEventDescriptor::Text
QString Text(const enc_override &encoding_override) const
Definition: dvbdescriptors.h:2171
LinkageDescriptor::MobileOriginTypeString
QString MobileOriginTypeString(void) const
TerrestrialDeliverySystemDescriptor::kHierarchyInfoAlpha1NativeInterleaver
@ kHierarchyInfoAlpha1NativeInterleaver
Definition: dvbdescriptors.h:963
CableDeliverySystemDescriptor::kModulationQAM128
@ kModulationQAM128
Definition: dvbdescriptors.h:756
ExtendedEventDescriptor::CanonicalLanguageKey
int CanonicalLanguageKey(void) const
Definition: dvbdescriptors.h:1540
CableDeliverySystemDescriptor::FECInner
uint FECInner(void) const
Definition: dvbdescriptors.h:789
OpenTVChannelListDescriptor::Flags
uint Flags(uint i) const
Definition: dvbdescriptors.h:2823
CellListDescriptor
Definition: dvbdescriptors.h:332
ComponentDescriptor::MP2Properties
uint MP2Properties(void) const
Definition: dvbdescriptors.h:485
TimeShiftedServiceDescriptor
Definition: dvbdescriptors.h:2356
SupplementaryAudioDescriptor::ReservedFutureUse
uint ReservedFutureUse(void) const
Definition: dvbdescriptors.h:1270
LinkageDescriptor::kCAReplacementService
@ kCAReplacementService
Definition: dvbdescriptors.h:133
LocalTimeOffsetDescriptor::LocalTimeOffsetWithPolarity
int LocalTimeOffsetWithPolarity(uint i) const
Definition: dvbdescriptors.h:1649
x2
static int x2
Definition: mythsocket.cpp:61
ExtendedEventDescriptor::LanguageString
QString LanguageString(void) const
Definition: dvbdescriptors.h:1538
LinkageDescriptor::HasMobileNetworkID
bool HasMobileNetworkID(void) const
Definition: dvbdescriptors.h:171
ShortEventDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:2178
T2DeliverySystemDescriptor::kTransmissionMode8k
@ kTransmissionMode8k
Definition: dvbdescriptors.h:1175
MessageDescriptor::MessageDescriptor
MessageDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1309
ServiceDescriptorMapping::kServiceTypeDigitalRadioSound
@ kServiceTypeDigitalRadioSound
Definition: dvbdescriptors.h:1914
TerrestrialDeliverySystemDescriptor::kCodeRate_5_6
@ kCodeRate_5_6
Definition: dvbdescriptors.h:991
TerrestrialDeliverySystemDescriptor::kBandwidth6Mhz
@ kBandwidth6Mhz
Definition: dvbdescriptors.h:927
SatelliteDeliverySystemDescriptor::kModulation8PSK
@ kModulation8PSK
Definition: dvbdescriptors.h:866
DVBContentIdentifierDescriptor::CRIDCount
size_t CRIDCount() const
Definition: dvbdescriptors.h:2877
mythtvexp.h
SatelliteDeliverySystemDescriptor::kInnerFEC_None
@ kInnerFEC_None
Definition: dvbdescriptors.h:895
build_compdb.content
content
Definition: build_compdb.py:38
CellFrequencyLinkDescriptor
Definition: dvbdescriptors.h:310
ServiceDescriptorMapping::kServiceTypeMPEG2HDDigitalTelevision
@ kServiceTypeMPEG2HDDigitalTelevision
Definition: dvbdescriptors.h:1929
DescriptorID::s2x_satellite_delivery_system
@ s2x_satellite_delivery_system
Definition: mpegdescriptors.h:157
ExtendedEventDescriptor::LanguageKey
int LanguageKey(void) const
Definition: dvbdescriptors.h:1536
byteBCDH2int
#define byteBCDH2int(i)
Definition: dvbdescriptors.h:51
ServiceListDescriptor::ServiceListDescriptor
ServiceListDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2083
DescriptorID::target_region
@ target_region
Definition: mpegdescriptors.h:149
CellFrequencyLinkDescriptor::CellFrequencyLinkDescriptor
CellFrequencyLinkDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:312
ComponentDescriptor::StreamContent
uint StreamContent(void) const
Definition: dvbdescriptors.h:369
ServiceMoveDescriptor
Definition: dvbdescriptors.h:2119
DataBroadcastDescriptor::LanguageKey
int LanguageKey(void) const
Definition: dvbdescriptors.h:680
dvb_decode_text
MTV_PUBLIC QString dvb_decode_text(const unsigned char *src, uint length, const enc_override &encoding_override)
Definition: dvbdescriptors.cpp:56
MessageDescriptor::LanguageString
QString LanguageString(void) const
Definition: dvbdescriptors.h:1329
NVODReferenceDescriptor::Count
uint Count(void) const
Definition: dvbdescriptors.h:1780
MessageDescriptor::MessageID
uint MessageID(void) const
Definition: dvbdescriptors.h:1324
T2DeliverySystemDescriptor::Bandwidth
uint Bandwidth(void) const
Definition: dvbdescriptors.h:1138
LinkageDescriptor::kServiceReplacementService
@ kServiceReplacementService
Definition: dvbdescriptors.h:135
ComponentDescriptor::IsAudio
bool IsAudio(void) const
Definition: dvbdescriptors.h:392
DescriptorID::network_change_notify
@ network_change_notify
Definition: mpegdescriptors.h:147
FrequencyListDescriptor::CodingType
uint CodingType(void) const
Definition: dvbdescriptors.h:1588
ServiceDescriptor::IsDTV
bool IsDTV(void) const
Definition: dvbdescriptors.h:2046
MessageDescriptor::Message
QString Message(void) const
Definition: dvbdescriptors.h:1333
ServiceDescriptorMapping::kServiceTypeEchoStarTV3
@ kServiceTypeEchoStarTV3
Definition: dvbdescriptors.h:1948
CableDeliverySystemDescriptor
Definition: dvbdescriptors.h:717
ServiceDescriptorMapping::kServiceTypeMosaic
@ kServiceTypeMosaic
Definition: dvbdescriptors.h:1918
FreesatCallsignDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:908
SHDeliverySystemDescriptor
Definition: dvbdescriptors.h:1222
T2DeliverySystemDescriptor::kGuardInterval_1_128
@ kGuardInterval_1_128
Definition: dvbdescriptors.h:1159
DVBSimulcastChannelDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:841
T2DeliverySystemDescriptor::NumCells
uint NumCells(void) const
Definition: dvbdescriptors.h:1192
LinkageDescriptor::m_offset
uint m_offset
Definition: dvbdescriptors.h:202
FrequencyListDescriptor::kCodingTypeSatellite
@ kCodingTypeSatellite
Definition: dvbdescriptors.h:1584
CableDeliverySystemDescriptor::FECOuterString
QString FECOuterString(void) const
Definition: dvbdescriptors.h:745
x3
static int x3
Definition: mythsocket.cpp:62
NVODReferenceDescriptor
Definition: dvbdescriptors.h:1773
MultilingualBouquetNameDescriptor
Definition: dvbdescriptors.h:1714
ScramblingDescriptor
Definition: dvbdescriptors.h:1889
PartialTransportStreamDescriptor::PartialTransportStreamDescriptor
PartialTransportStreamDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2437
TargetRegionDescriptor::CountryCode
uint CountryCode(void) const
Definition: dvbdescriptors.h:1358
TerrestrialDeliverySystemDescriptor::Hierarchy
uint Hierarchy(void) const
Definition: dvbdescriptors.h:971
CAIdentifierDescriptor
Definition: dvbdescriptors.h:292
SatelliteDeliverySystemDescriptor::Modulation
uint Modulation(void) const
Definition: dvbdescriptors.h:869
LinkageDescriptor::kHandOverIdentical
@ kHandOverIdentical
Definition: dvbdescriptors.h:153
FreesatCallsignDescriptor::FreesatCallsignDescriptor
FreesatCallsignDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2714
DescriptorID::sh_delivery_system
@ sh_delivery_system
Definition: mpegdescriptors.h:145
SHDeliverySystemDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:682
DVBLogicalChannelDescriptor
DVB Logical Channel Descriptor.
Definition: dvbdescriptors.h:2534
PartialTransportStreamDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:991
ComponentDescriptor::AC3Properties
uint AC3Properties(void) const
Definition: dvbdescriptors.h:504
VBIDataDescriptor
Definition: dvbdescriptors.h:2386
FrequencyListDescriptor::FrequencyListDescriptor
FrequencyListDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1573
TerrestrialDeliverySystemDescriptor::NativeInterleaver
bool NativeInterleaver(void) const
Definition: dvbdescriptors.h:979
SubtitlingDescriptor::LanguageKey
int LanguageKey(uint i) const
Definition: dvbdescriptors.h:2250
T2DeliverySystemDescriptor::kGuardInterval_1_8
@ kGuardInterval_1_8
Definition: dvbdescriptors.h:1157
OpenTVChannelListDescriptor::RegionID
uint RegionID() const
Definition: dvbdescriptors.h:2808
ServiceDescriptorMapping::IsUHDTV
bool IsUHDTV(void) const
Definition: dvbdescriptors.h:1995
ShortEventDescriptor::CanonicalLanguageKey
int CanonicalLanguageKey(void) const
Definition: dvbdescriptors.h:2147
SatelliteDeliverySystemDescriptor::FrequencyRaw
uint FrequencyRaw(void) const
frequency 32 2.0
Definition: dvbdescriptors.h:806
CableDeliverySystemDescriptor::FrequencyHz
unsigned long long FrequencyHz(void) const
Definition: dvbdescriptors.h:731
NVODReferenceDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:977
T2DeliverySystemDescriptor::SubcellInfoLoopLength
uint SubcellInfoLoopLength(uint i) const
Definition: dvbdescriptors.h:1205
ExtendedEventDescriptor::DescriptorNumber
uint DescriptorNumber(void) const
Definition: dvbdescriptors.h:1532
TeletextDescriptor::LanguageKey
int LanguageKey(uint i) const
Definition: dvbdescriptors.h:2319
PrivateUPCCablecomEpisodeTitleDescriptor::Text
QString Text(void) const
Definition: dvbdescriptors.h:2946
ServiceDescriptorMapping::kServiceTypeH264AVCFrameCompatiblePlanoStereoscopicHDNVODTimeShifted
@ kServiceTypeH264AVCFrameCompatiblePlanoStereoscopicHDNVODTimeShifted
Definition: dvbdescriptors.h:1938
enc_override
std::vector< uint8_t > enc_override
Definition: dvbdescriptors.h:40
SatelliteDeliverySystemDescriptor::kInnerFEC_2_3_ConvolutionCodeRate
@ kInnerFEC_2_3_ConvolutionCodeRate
Definition: dvbdescriptors.h:890
DefaultAuthorityDescriptor::DefaultAuthorityDescriptor
DefaultAuthorityDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2891
LocalTimeOffsetDescriptor::CountryRegionId
uint CountryRegionId(uint i) const
Definition: dvbdescriptors.h:1640
CellListDescriptor::CellListDescriptor
CellListDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:334
ShortEventDescriptor::Text
QString Text(void) const
Definition: dvbdescriptors.h:2161
DescriptorID::target_region_name
@ target_region_name
Definition: mpegdescriptors.h:150
CableDeliverySystemDescriptor::FECInnerString
QString FECInnerString(void) const
Definition: dvbdescriptors.h:790
DataBroadcastDescriptor::LanguageString
QString LanguageString(void) const
Definition: dvbdescriptors.h:682
LinkageDescriptor::kOriginSDT
@ kOriginSDT
Definition: dvbdescriptors.h:164
NetworkNameDescriptor::NetworkNameDescriptor
NetworkNameDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:71
NetworkNameDescriptor::Name
QString Name(void) const
Definition: dvbdescriptors.h:77
CAIdentifierDescriptor::CASystemCount
uint CASystemCount(void) const
Definition: dvbdescriptors.h:300
CountryAvailabilityDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:651
T2DeliverySystemDescriptor::TFSFlag
uint TFSFlag(void) const
Definition: dvbdescriptors.h:1189
DataBroadcastDescriptor::DataBroadcastId
uint DataBroadcastId(void) const
Definition: dvbdescriptors.h:669
ParentalRatingDescriptor::ParentalRatingDescriptor
ParentalRatingDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1802
T2DeliverySystemDescriptor::CentreFrequency
uint CentreFrequency(int i, int j) const
Definition: dvbdescriptors.h:1201
dvb_decode_short_name
QString dvb_decode_short_name(const unsigned char *src, uint raw_length)
Definition: dvbdescriptors.cpp:175
PrivateUPCCablecomEpisodeTitleDescriptor::LanguageKey
int LanguageKey(void) const
Definition: dvbdescriptors.h:2924
DVBContentIdentifierDescriptor::ContentType
uint ContentType(size_t n=0) const
Definition: dvbdescriptors.h:2857
BouquetNameDescriptor
Definition: dvbdescriptors.h:270
CableDeliverySystemDescriptor::kModulationQAM32
@ kModulationQAM32
Definition: dvbdescriptors.h:754
DVBSimulcastChannelDescriptor::ChannelNumber
uint ChannelNumber(uint i) const
Definition: dvbdescriptors.h:2575
FrequencyListDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:502
FreesatLCNDescriptor::LCNCount
uint LCNCount(int i) const
Definition: dvbdescriptors.h:2632
T2DeliverySystemDescriptor::kBandwidth8Mhz
@ kBandwidth8Mhz
Definition: dvbdescriptors.h:1131
ContentDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:299
TerrestrialDeliverySystemDescriptor
Definition: dvbdescriptors.h:905
MultilingualBouquetNameDescriptor::MultilingualBouquetNameDescriptor
MultilingualBouquetNameDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1716
LocalTimeOffsetDescriptor
Definition: dvbdescriptors.h:1618
LinkageDescriptor::PrivateData
const unsigned char * PrivateData(void) const
Definition: dvbdescriptors.h:196
TerrestrialDeliverySystemDescriptor::Alpha
uint Alpha(void) const
Definition: dvbdescriptors.h:980
ServiceDescriptorMapping::kServiceTypeH264AVCFrameCompatiblePlanoStereoscopicHDNVODReference
@ kServiceTypeH264AVCFrameCompatiblePlanoStereoscopicHDNVODReference
Definition: dvbdescriptors.h:1939
AUD_HARDHEAR
@ AUD_HARDHEAR
Definition: programtypes.h:175
DescriptorID::t2_delivery_system
@ t2_delivery_system
Definition: mpegdescriptors.h:144
ServiceListDescriptor::ServiceType
uint ServiceType(uint i) const
Definition: dvbdescriptors.h:2099
LinkageDescriptor::kTSContainingCompleteNetworkBouquetSI
@ kTSContainingCompleteNetworkBouquetSI
Definition: dvbdescriptors.h:134
T2DeliverySystemDescriptor::kTransmissionMode16k
@ kTransmissionMode16k
Definition: dvbdescriptors.h:1178
ShortEventDescriptor
Definition: dvbdescriptors.h:2134
DataBroadcastDescriptor
Definition: dvbdescriptors.h:660
DataBroadcastDescriptor::DataBroadcastDescriptor
DataBroadcastDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:662
T2DeliverySystemDescriptor::BandwidthString
QString BandwidthString(void) const
Definition: dvbdescriptors.h:1145
CableDeliverySystemDescriptor::kInnerFEC_3_4_ConvolutionCodeRate
@ kInnerFEC_3_4_ConvolutionCodeRate
Definition: dvbdescriptors.h:783
AncillaryDataDescriptor::AncillaryDataDescriptor
AncillaryDataDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:228
AnnouncementSupportDescriptor::AnnouncementSupportDescriptor
AnnouncementSupportDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:247
ServiceDescriptorMapping::m_serviceType
uint m_serviceType
Definition: dvbdescriptors.h:2008
VID_UNKNOWN
@ VID_UNKNOWN
Definition: programtypes.h:186
AnnouncementSupportDescriptor
Definition: dvbdescriptors.h:245
ServiceDescriptorMapping::kServiceTypeEchoStarTV1
@ kServiceTypeEchoStarTV1
Definition: dvbdescriptors.h:1946
T2DeliverySystemDescriptor::CentreFrequency
uint CentreFrequency(uint i) const
Definition: dvbdescriptors.h:1196
OpenTVChannelListDescriptor
Definition: dvbdescriptors.h:2798
DVBContentIdentifierDescriptor::ContentEncoding
uint ContentEncoding(size_t n=0) const
Definition: dvbdescriptors.h:2859
ServiceDescriptorMapping::kServiceTypeRCS_Map
@ kServiceTypeRCS_Map
Definition: dvbdescriptors.h:1926
PDCDescriptor::PDCDescriptor
PDCDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1851
MPEGDescriptor::IsValid
bool IsValid(void) const
Definition: mpegdescriptors.h:340
ServiceDescriptor::ServiceDescriptor
ServiceDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2015
LinkageDescriptor::kRCSMap
@ kRCSMap
Definition: dvbdescriptors.h:137
OpenTVChannelListDescriptor::ChannelCount
uint ChannelCount(void) const
Definition: dvbdescriptors.h:2806
AdaptationFieldDataDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:216
SubtitlingDescriptor::AncillaryPageID
uint AncillaryPageID(uint i) const
Definition: dvbdescriptors.h:2266
MessageDescriptor::LanguageKey
int LanguageKey(void) const
Definition: dvbdescriptors.h:1327
FrequencyListDescriptor::kCodingTypeTerrestrial
@ kCodingTypeTerrestrial
Definition: dvbdescriptors.h:1586
FreesatRegionDescriptor::RegionCount
uint RegionCount(void) const
Definition: dvbdescriptors.h:2686
LinkageDescriptor::ServiceID
uint ServiceID(void) const
Definition: dvbdescriptors.h:127
ServiceDescriptorMapping::ServiceType
uint ServiceType(void) const
Definition: dvbdescriptors.h:1961
T2DeliverySystemDescriptor::kGuardInterval_1_16
@ kGuardInterval_1_16
Definition: dvbdescriptors.h:1156
NVODReferenceDescriptor::ServiceId
uint ServiceId(uint i) const
Definition: dvbdescriptors.h:1791
ComponentDescriptor::HEVCProperties
uint HEVCProperties(void) const
Definition: dvbdescriptors.h:455
FreesatRegionDescriptor::FreesatRegionDescriptor
FreesatRegionDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2659
ParentalRatingDescriptor::CountryCodeString
QString CountryCodeString(uint i) const
Definition: dvbdescriptors.h:1816
ServiceDescriptor::ServiceName
QString ServiceName(void) const
Definition: dvbdescriptors.h:2036
ContentDescriptor::Count
uint Count(void) const
Definition: dvbdescriptors.h:591
PrivateUPCCablecomEpisodeTitleDescriptor
Definition: dvbdescriptors.h:2913
ServiceDescriptorMapping::kServiceTypeNimiqTV1
@ kServiceTypeNimiqTV1
Definition: dvbdescriptors.h:1950
ContentDescriptor::UserNibble
uint UserNibble(uint i) const
Definition: dvbdescriptors.h:605
PrivateUPCCablecomEpisodeTitleDescriptor::TextLength
uint TextLength(void) const
Definition: dvbdescriptors.h:2941
programinfo.h
ShortEventDescriptor::EventNameLength
uint EventNameLength(void) const
Definition: dvbdescriptors.h:2152
TerrestrialDeliverySystemDescriptor::BandwidthString
QString BandwidthString(void) const
Definition: dvbdescriptors.h:932
LinkageDescriptor::PrivateDataLength
uint PrivateDataLength(void) const
Definition: dvbdescriptors.h:198
ContentDescriptor::s_categoryDesc
static QMap< uint, QString > s_categoryDesc
Definition: dvbdescriptors.h:617
PartialTransportStreamDescriptor::SmoothRate
uint SmoothRate(void) const
Definition: dvbdescriptors.h:2449
AUD_UNKNOWN
@ AUD_UNKNOWN
Definition: programtypes.h:170
LinkageDescriptor::TSID
uint TSID(void) const
Definition: dvbdescriptors.h:123
ServiceDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:2055
DataBroadcastIdDescriptor::DataBroadCastId
uint DataBroadCastId(void) const
Definition: dvbdescriptors.h:710
ContentDescriptor::UserNibble2
uint UserNibble2(uint i) const
Definition: dvbdescriptors.h:604
PrivateUPCCablecomEpisodeTitleDescriptor::PrivateUPCCablecomEpisodeTitleDescriptor
PrivateUPCCablecomEpisodeTitleDescriptor(const std::vector< uint8_t > &data)
Definition: dvbdescriptors.h:2917
SubtitlingDescriptor::CanonicalLanguageKey
int CanonicalLanguageKey(uint i) const
Definition: dvbdescriptors.h:2254
SubtitlingDescriptor::CanonicalLanguageString
QString CanonicalLanguageString(uint i) const
Definition: dvbdescriptors.h:2256
PrivateDataSpecifierDescriptor::PrivateDataSpecifierDescriptor
PrivateDataSpecifierDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1872
S2XSatelliteDeliverySystemDescriptor
Definition: dvbdescriptors.h:1486
AC3Descriptor::HasASVC
bool HasASVC(void) const
Definition: dvbdescriptors.h:2475
AncillaryDataDescriptor
Definition: dvbdescriptors.h:226
C2DeliverySystemDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:801
SatelliteDeliverySystemDescriptor::IsWest
bool IsWest(void) const
Definition: dvbdescriptors.h:828
DVBLogicalChannelDescriptor::ChannelCount
uint ChannelCount(void) const
Definition: dvbdescriptors.h:2542
TerrestrialDeliverySystemDescriptor::Constellation
uint Constellation(void) const
Definition: dvbdescriptors.h:952
ShortEventDescriptor::EventShortName
QString EventShortName(void) const
Definition: dvbdescriptors.h:2156
ComponentDescriptor::IsVideo
bool IsVideo(void) const
Definition: dvbdescriptors.h:386
TerrestrialDeliverySystemDescriptor::kConstellationQAM256
@ kConstellationQAM256
Definition: dvbdescriptors.h:950
ServiceDescriptorMapping::IsTeletext
bool IsTeletext(void) const
Definition: dvbdescriptors.h:2001
ServiceDescriptorMapping::kServiceTypeRCS_FLS
@ kServiceTypeRCS_FLS
Definition: dvbdescriptors.h:1927
T2DeliverySystemDescriptor::kBandwidth5Mhz
@ kBandwidth5Mhz
Definition: dvbdescriptors.h:1134
CableDeliverySystemDescriptor::kModulationQAM16
@ kModulationQAM16
Definition: dvbdescriptors.h:753
FreesatLCNDescriptor::m_entries
desc_list_t m_entries
Definition: dvbdescriptors.h:2644
T2DeliverySystemDescriptor::FrequencyLoopLength
uint FrequencyLoopLength(uint i) const
Definition: dvbdescriptors.h:1194
SatelliteDeliverySystemDescriptor::kRollOff_35
@ kRollOff_35
Definition: dvbdescriptors.h:843
TerrestrialDeliverySystemDescriptor::kConstellationQAM16
@ kConstellationQAM16
Definition: dvbdescriptors.h:948
PDCDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:1861
ImageIconDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:602
CountryAvailabilityDescriptor::CountryAvailabilityDescriptor
CountryAvailabilityDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:625
MPEGDescriptor
Definition: mpegdescriptors.h:301
SupplementaryAudioDescriptor::SupplementaryAudioDescriptor
SupplementaryAudioDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1249
ServiceDescriptor::IsTeletext
bool IsTeletext(void) const
Definition: dvbdescriptors.h:2052
AC3Descriptor::HasMainID
bool HasMainID(void) const
Definition: dvbdescriptors.h:2473
SatelliteDeliverySystemDescriptor::RollOffString
QString RollOffString(void) const
Definition: dvbdescriptors.h:849
TerrestrialDeliverySystemDescriptor::kHierarchyInfoAlpha2InDepthInterleaver
@ kHierarchyInfoAlpha2InDepthInterleaver
Definition: dvbdescriptors.h:968
TerrestrialDeliverySystemDescriptor::kHierarchyInfoNonHierarchicalInDepthInterleaver
@ kHierarchyInfoNonHierarchicalInDepthInterleaver
Definition: dvbdescriptors.h:966
ShortEventDescriptor::TextLength
uint TextLength(void) const
Definition: dvbdescriptors.h:2159
CableDeliverySystemDescriptor::FrequencyRaw
uint FrequencyRaw(void) const
Definition: dvbdescriptors.h:726
SubtitlingDescriptor::StreamCount
uint StreamCount(void) const
Definition: dvbdescriptors.h:2246
TeletextDescriptor::StreamCount
uint StreamCount(void) const
Definition: dvbdescriptors.h:2314
AUD_SURROUND
@ AUD_SURROUND
Definition: programtypes.h:173
AdaptationFieldDataDescriptor::AdaptationFieldDataDescriptor
AdaptationFieldDataDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:209
ComponentDescriptor::CanonicalLanguageKey
int CanonicalLanguageKey(void) const
Definition: dvbdescriptors.h:379
DVBSimulcastChannelDescriptor::DVBSimulcastChannelDescriptor
DVBSimulcastChannelDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2564
CAIdentifierDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:928
ParentalRatingDescriptor::Rating
int Rating(uint i) const
Definition: dvbdescriptors.h:1823
TargetRegionDescriptor
Definition: dvbdescriptors.h:1341
T2DeliverySystemDescriptor::kGuardInterval_1_32
@ kGuardInterval_1_32
Definition: dvbdescriptors.h:1155
DVBLogicalChannelDescriptor::DVBLogicalChannelDescriptor
DVBLogicalChannelDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2536
ServiceRelocatedDescriptor::OldServiceID
uint OldServiceID(void) const
Definition: dvbdescriptors.h:1435
ServiceDescriptor::ServiceNameLength
uint ServiceNameLength(void) const
Definition: dvbdescriptors.h:2033
byte2BCD2int
#define byte2BCD2int(i, j)
Definition: dvbdescriptors.h:54
ParentalRatingDescriptor::ParentalRatingDescriptor
ParentalRatingDescriptor(const std::vector< uint8_t > &data)
Definition: dvbdescriptors.h:1804
ServiceDescriptorMapping::kServiceTypeNimiqTV4
@ kServiceTypeNimiqTV4
Definition: dvbdescriptors.h:1953
CableDeliverySystemDescriptor::CableDeliverySystemDescriptor
CableDeliverySystemDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:719
x1
static int x1
Definition: mythsocket.cpp:60
MPEGDescriptor::m_data
const unsigned char * m_data
Definition: mpegdescriptors.h:368
SatelliteDeliverySystemDescriptor::ModulationSystem
uint ModulationSystem(void) const
Definition: dvbdescriptors.h:855
DVBLogicalChannelDescriptor::ChannelNumber
uint ChannelNumber(uint i) const
Definition: dvbdescriptors.h:2547
ServiceDescriptorMapping::kServiceTypeNimiqTV3
@ kServiceTypeNimiqTV3
Definition: dvbdescriptors.h:1952
SatelliteDeliverySystemDescriptor::kInnerFEC_1_2_ConvolutionCodeRate
@ kInnerFEC_1_2_ConvolutionCodeRate
Definition: dvbdescriptors.h:889
ServiceDescriptorMapping::kServiceTypeH264AVCMosaic
@ kServiceTypeH264AVCMosaic
Definition: dvbdescriptors.h:1923
desc_list_t
std::vector< const unsigned char * > desc_list_t
Definition: mpegdescriptors.h:18
ScramblingDescriptor::ScramblingMode
uint ScramblingMode(void) const
Definition: dvbdescriptors.h:1898
SatelliteDeliverySystemDescriptor::kModulationQAM16
@ kModulationQAM16
Definition: dvbdescriptors.h:867
MessageDescriptor
Definition: dvbdescriptors.h:1307
ServiceRelocatedDescriptor::ServiceRelocatedDescriptor
ServiceRelocatedDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1416
TerrestrialDeliverySystemDescriptor::TerrestrialDeliverySystemDescriptor
TerrestrialDeliverySystemDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:907
LinkageDescriptor
Definition: dvbdescriptors.h:87
ExtendedEventDescriptor
Definition: dvbdescriptors.h:1523
ServiceDescriptorMapping::kServiceTypeHEVCUHDDigitalTelevision
@ kServiceTypeHEVCUHDDigitalTelevision
Definition: dvbdescriptors.h:1941
ComponentDescriptor::HEAACProperties
uint HEAACProperties(void) const
Definition: dvbdescriptors.h:533
TerrestrialDeliverySystemDescriptor::ConstellationString
QString ConstellationString(void) const
Definition: dvbdescriptors.h:953
T2DeliverySystemDescriptor::SisoMiso
uint SisoMiso(void) const
Definition: dvbdescriptors.h:1120
ServiceDescriptorMapping::kServiceTypeNimiqTV6
@ kServiceTypeNimiqTV6
Definition: dvbdescriptors.h:1955
byte4BCD2int
#define byte4BCD2int(i, j, k, l)
Definition: dvbdescriptors.h:61
ShortEventDescriptor::CanonicalLanguageString
QString CanonicalLanguageString(void) const
Definition: dvbdescriptors.h:2149
ServiceListDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:2101
T2DeliverySystemDescriptor
Definition: dvbdescriptors.h:1090
ExtendedEventDescriptor::ExtendedEventDescriptor
ExtendedEventDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1525
ExtendedEventDescriptor::TextLength
uint TextLength(void) const
Definition: dvbdescriptors.h:1555
SkyLCNDescriptor
Sky Logical Channel Number descriptor.
Definition: dvbdescriptors.h:2750
LinkageDescriptor::kHandOverAssociatedService
@ kHandOverAssociatedService
Definition: dvbdescriptors.h:155
MultilingualServiceNameDescriptor
Definition: dvbdescriptors.h:1752
SatelliteDeliverySystemDescriptor::FECInnerString
QString FECInnerString(void) const
Definition: dvbdescriptors.h:898
ServiceDescriptor::ServiceProviderShortName
QString ServiceProviderShortName(void) const
Definition: dvbdescriptors.h:2028
LinkageDescriptor::TargetEventID
uint TargetEventID(void) const
Definition: dvbdescriptors.h:187
ServiceDescriptorMapping::kServiceTypeNVODReference
@ kServiceTypeNVODReference
Definition: dvbdescriptors.h:1916
PDCDescriptor
Definition: dvbdescriptors.h:1849
ImageIconDescriptor::ImageIconDescriptor
ImageIconDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1049
NVODReferenceDescriptor::OriginalNetworkId
uint OriginalNetworkId(uint i) const
Definition: dvbdescriptors.h:1788
NetworkNameDescriptor::ShortName
QString ShortName(void) const
Definition: dvbdescriptors.h:79
TerrestrialDeliverySystemDescriptor::Frequency
uint Frequency(void) const
Definition: dvbdescriptors.h:915
TargetRegionNameDescriptor::CountryCode
uint CountryCode(void) const
Definition: dvbdescriptors.h:1391
ComponentDescriptor::LanguageString
QString LanguageString(void) const
Definition: dvbdescriptors.h:377
PrivateDataSpecifierDescriptor::PrivateDataSpecifier
uint32_t PrivateDataSpecifier(void) const
Definition: dvbdescriptors.h:1881
DVBSimulcastChannelDescriptor
DVB HD Simulcast Logical Channel Descriptor.
Definition: dvbdescriptors.h:2562
SubtitlingDescriptor::LanguageString
QString LanguageString(uint i) const
Definition: dvbdescriptors.h:2252
StreamIdentifierDescriptor::ComponentTag
uint ComponentTag(void) const
Definition: dvbdescriptors.h:2211
ServiceDescriptorMapping::kServiceTypeDigitalTelevision
@ kServiceTypeDigitalTelevision
Definition: dvbdescriptors.h:1913
FreesatLCNDescriptor::ServiceID
uint ServiceID(int i) const
Definition: dvbdescriptors.h:2626
CountryAvailabilityDescriptor::CountryCount
uint CountryCount(void) const
Definition: dvbdescriptors.h:631
ComponentDescriptor::IsSubtitle
bool IsSubtitle(void) const
Definition: dvbdescriptors.h:405
T2DeliverySystemDescriptor::m_subCellPtrs
std::vector< const unsigned char * > m_subCellPtrs
Definition: dvbdescriptors.h:1217
BouquetNameDescriptor::BouquetShortName
QString BouquetShortName(void) const
Definition: dvbdescriptors.h:280
LinkageDescriptor::kHandOverLocalVariation
@ kHandOverLocalVariation
Definition: dvbdescriptors.h:154
VBIDataDescriptor::VBIDataDescriptor
VBIDataDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2388
LinkageDescriptor::kEventLinkage
@ kEventLinkage
Definition: dvbdescriptors.h:143
MPEGDescriptor::DescriptorTagExtension
uint DescriptorTagExtension(void) const
Definition: mpegdescriptors.h:345
VID_AVC
@ VID_AVC
Definition: programtypes.h:190
C2DeliverySystemDescriptor::Frequency
uint Frequency(void) const
Definition: dvbdescriptors.h:1471
DSNGDescriptor
Definition: dvbdescriptors.h:1511
ServiceDescriptorMapping::kServiceTypeTeletext
@ kServiceTypeTeletext
Definition: dvbdescriptors.h:1915
SupplementaryAudioDescriptor
Definition: dvbdescriptors.h:1247
TargetRegionNameDescriptor::TargetRegionNameDescriptor
TargetRegionNameDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1376
CableDeliverySystemDescriptor::FECOuter
uint FECOuter(void) const
Definition: dvbdescriptors.h:744
ShortSmoothingBufferDescriptor
Definition: dvbdescriptors.h:2184
SUB_UNKNOWN
@ SUB_UNKNOWN
Definition: programtypes.h:207
ContentDescriptor::ContentDescriptor
ContentDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:585
iso639_key_to_str3
static QString iso639_key_to_str3(int code)
Definition: iso639.h:46
uint
unsigned int uint
Definition: compat.h:140
SkyLCNDescriptor::ServiceType
uint ServiceType(int i) const
Definition: dvbdescriptors.h:2781
FrequencyListDescriptor::kCodingTypeNotDefined
@ kCodingTypeNotDefined
Definition: dvbdescriptors.h:1583
ExtendedEventDescriptor::Text
QString Text(const enc_override &encoding_override) const
Definition: dvbdescriptors.h:1561
TransportStreamDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:2380
SupplementaryAudioDescriptor::LanguageCodePresent
uint LanguageCodePresent(void) const
Definition: dvbdescriptors.h:1273
DVBContentIdentifierDescriptor::m_crid
std::array< const uint8_t *, 8 > m_crid
Definition: dvbdescriptors.h:2884
PartialTransportStreamDescriptor::PeakRate
uint PeakRate(void) const
Definition: dvbdescriptors.h:2445
TerrestrialDeliverySystemDescriptor::kTransmissionMode2k
@ kTransmissionMode2k
Definition: dvbdescriptors.h:1028
x5
static int x5
Definition: mythsocket.cpp:64
SkyLCNDescriptor::ChannelID
uint ChannelID(int i) const
Definition: dvbdescriptors.h:2784
PrivateDescriptorID::freesat_lcn_table
@ freesat_lcn_table
Definition: mpegdescriptors.h:232
T2DeliverySystemDescriptor::GuardInterval
uint GuardInterval(void) const
Definition: dvbdescriptors.h:1163
TerrestrialDeliverySystemDescriptor::kHierarchyInfoAlpha4InDepthInterleaver
@ kHierarchyInfoAlpha4InDepthInterleaver
Definition: dvbdescriptors.h:969
CableDeliverySystemDescriptor::kInnerFEC_2_3_ConvolutionCodeRate
@ kInnerFEC_2_3_ConvolutionCodeRate
Definition: dvbdescriptors.h:782
ComponentDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:573
TerrestrialDeliverySystemDescriptor::TransmissionMode
uint TransmissionMode(void) const
Definition: dvbdescriptors.h:1032
TerrestrialDeliverySystemDescriptor::kConstellationQPSK
@ kConstellationQPSK
Definition: dvbdescriptors.h:947
ProgramInfo::CategoryType
CategoryType
Definition: programinfo.h:75
ServiceDescriptor::ServiceType
uint ServiceType(void) const
Definition: dvbdescriptors.h:2022
ContentDescriptor::s_categoryDescExists
static volatile bool s_categoryDescExists
Definition: dvbdescriptors.h:618
S2XSatelliteDeliverySystemDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:816
FreesatCallsignDescriptor
Freesat Channel Callsign descriptor.
Definition: dvbdescriptors.h:2712
ServiceRelocatedDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:784
T2DeliverySystemDescriptor::SisoMisoString
QString SisoMisoString(void) const
Definition: dvbdescriptors.h:1121
DataBroadcastDescriptor::CanonicalLanguageString
QString CanonicalLanguageString(void) const
Definition: dvbdescriptors.h:686
SatelliteDeliverySystemDescriptor::FrequencykHz
unsigned long long FrequencykHz(void) const
Definition: dvbdescriptors.h:811
StuffingDescriptor::StuffingDescriptor
StuffingDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2223
TerrestrialDeliverySystemDescriptor::kGuardInterval_1_16
@ kGuardInterval_1_16
Definition: dvbdescriptors.h:1015
CAIdentifierDescriptor::CAIdentifierDescriptor
CAIdentifierDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:294
PDCDescriptor::ProgramIdLabel
uint ProgramIdLabel(void) const
Definition: dvbdescriptors.h:1859
TerrestrialDeliverySystemDescriptor::kBandwidth7Mhz
@ kBandwidth7Mhz
Definition: dvbdescriptors.h:926
PrivateDescriptorID::sky_lcn_table
@ sky_lcn_table
Definition: mpegdescriptors.h:229
PrivateDataSpecifierDescriptor
Definition: dvbdescriptors.h:1870
TargetRegionNameDescriptor::LanguageString
QString LanguageString(void) const
Definition: dvbdescriptors.h:1403
ContentDescriptor::s_categoryLock
static QMutex s_categoryLock
Definition: dvbdescriptors.h:616
TransportStreamDescriptor::TransportStreamDescriptor
TransportStreamDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2371
ServiceListDescriptor::ServiceCount
uint ServiceCount(void) const
Definition: dvbdescriptors.h:2094
ServiceDescriptorMapping::kServiceTypeEchoStarTV4
@ kServiceTypeEchoStarTV4
Definition: dvbdescriptors.h:1949
SubtitlingDescriptor::SubtitlingDescriptor
SubtitlingDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2240
LinkageDescriptor::MobileInitialServiceID
uint MobileInitialServiceID(void) const
Definition: dvbdescriptors.h:178
TerrestrialDeliverySystemDescriptor::kBandwidth5Mhz
@ kBandwidth5Mhz
Definition: dvbdescriptors.h:928
SkyLCNDescriptor::ServiceID
uint ServiceID(int i) const
Definition: dvbdescriptors.h:2778
T2DeliverySystemDescriptor::kBandwidth1712kHz
@ kBandwidth1712kHz
Definition: dvbdescriptors.h:1136
TerrestrialDeliverySystemDescriptor::kHierarchyInfoAlpha2NativeInterleaver
@ kHierarchyInfoAlpha2NativeInterleaver
Definition: dvbdescriptors.h:964
NVODReferenceDescriptor::TransportStreamId
uint TransportStreamId(uint i) const
Definition: dvbdescriptors.h:1785
ServiceListDescriptor::ServiceID
uint ServiceID(uint i) const
Definition: dvbdescriptors.h:2096
SatelliteDeliverySystemDescriptor::kInnerFEC_7_8_ConvolutionCodeRate
@ kInnerFEC_7_8_ConvolutionCodeRate
Definition: dvbdescriptors.h:893
DataBroadcastDescriptor::Selector
const unsigned char * Selector(void) const
Definition: dvbdescriptors.h:677
MTV_PUBLIC
#define MTV_PUBLIC
Definition: mythtvexp.h:15
LinkageDescriptor::IsEventSimulcast
bool IsEventSimulcast(void) const
Definition: dvbdescriptors.h:191
AC3Descriptor::HasBSID
bool HasBSID(void) const
Definition: dvbdescriptors.h:2471
T2DeliverySystemDescriptor::kTransmissionMode2k
@ kTransmissionMode2k
Definition: dvbdescriptors.h:1174
ServiceDescriptorMapping::kServiceTypeNimiqTV2
@ kServiceTypeNimiqTV2
Definition: dvbdescriptors.h:1951
AC3Descriptor::ComponentType
uint ComponentType(void) const
Definition: dvbdescriptors.h:2479
FreesatLCNDescriptor::RegionID
uint RegionID(int i, int j) const
Definition: dvbdescriptors.h:2638
TelephoneDescriptor
Definition: dvbdescriptors.h:2273
FreesatRegionDescriptor::Language
QString Language(uint i) const
Definition: dvbdescriptors.h:2692
ExtendedEventDescriptor::LengthOfItems
uint LengthOfItems(void) const
Definition: dvbdescriptors.h:1545
LocalTimeOffsetDescriptor::LocalTimeOffsetDescriptor
LocalTimeOffsetDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1620
AC3Descriptor::AC3Descriptor
AC3Descriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2462
TerrestrialDeliverySystemDescriptor::kHierarchyInfoAlpha1InDepthInterleaver
@ kHierarchyInfoAlpha1InDepthInterleaver
Definition: dvbdescriptors.h:967
DataBroadcastIdDescriptor
Definition: dvbdescriptors.h:701
DescriptorID::c2_delivery_system
@ c2_delivery_system
Definition: mpegdescriptors.h:153
TimeShiftedEventDescriptor::TimeShiftedEventDescriptor
TimeShiftedEventDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2344
SupplementaryAudioDescriptor::LanguageString
QString LanguageString(void) const
Definition: dvbdescriptors.h:1278
T2DeliverySystemDescriptor::CellID
uint CellID(uint i) const
Definition: dvbdescriptors.h:1193
SatelliteDeliverySystemDescriptor::Polarization
uint Polarization(void) const
Definition: dvbdescriptors.h:830
LinkageDescriptor::MobileNetworkID
uint MobileNetworkID(void) const
Definition: dvbdescriptors.h:173
T2DeliverySystemDescriptor::BandwidthHz
uint BandwidthHz(void) const
Definition: dvbdescriptors.h:1139
LinkageDescriptor::kEPGService
@ kEPGService
Definition: dvbdescriptors.h:132
DataBroadcastIdDescriptor::DataBroadcastIdDescriptor
DataBroadcastIdDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:703
coderate_inner
static QString coderate_inner(uint coderate)
Definition: dvbdescriptors.h:2509
TerrestrialDeliverySystemDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:585
SatelliteDeliverySystemDescriptor::SymbolRate
uint SymbolRate(void) const
Definition: dvbdescriptors.h:876
ContentDescriptor::UserNibble1
uint UserNibble1(uint i) const
Definition: dvbdescriptors.h:602
TerrestrialDeliverySystemDescriptor::CodeRateLPString
QString CodeRateLPString(void) const
Definition: dvbdescriptors.h:1004
DataBroadcastDescriptor::CanonicalLanguageKey
int CanonicalLanguageKey(void) const
Definition: dvbdescriptors.h:684
LocalTimeOffsetDescriptor::LocalTimeOffset
uint LocalTimeOffset(uint i) const
Definition: dvbdescriptors.h:1647
C2DeliverySystemDescriptor::DataSliceID
uint DataSliceID(void) const
Definition: dvbdescriptors.h:1465
FrequencyListDescriptor::kCodingTypeCable
@ kCodingTypeCable
Definition: dvbdescriptors.h:1585
StreamIdentifierDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:2212
T2DeliverySystemDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:633
ServiceDescriptorMapping::kServiceTypeDVB_SRM
@ kServiceTypeDVB_SRM
Definition: dvbdescriptors.h:1920
T2DeliverySystemDescriptor::m_cellPtrs
std::vector< const unsigned char * > m_cellPtrs
Definition: dvbdescriptors.h:1216
OpenTVChannelListDescriptor::ChannelType
uint ChannelType(uint i) const
Definition: dvbdescriptors.h:2814
ServiceDescriptorMapping::kServiceTypeEchoStarTV2
@ kServiceTypeEchoStarTV2
Definition: dvbdescriptors.h:1947
ServiceDescriptor::ServiceProviderNameLength
uint ServiceProviderNameLength(void) const
Definition: dvbdescriptors.h:2024
TargetRegionDescriptor::CountryCodeString
QString CountryCodeString(void) const
Definition: dvbdescriptors.h:1362
SkyLCNDescriptor::LogicalChannelNumber
uint LogicalChannelNumber(int i) const
Definition: dvbdescriptors.h:2787
FreesatCallsignDescriptor::Callsign
QString Callsign(void) const
Definition: dvbdescriptors.h:2732
ServiceDescriptor::IsHDTV
bool IsHDTV(void) const
Definition: dvbdescriptors.h:2050
ServiceDescriptorMapping::kServiceTypeH264AVCHDNVODReference
@ kServiceTypeH264AVCHDNVODReference
Definition: dvbdescriptors.h:1936
LocalTimeOffsetDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:960
assert
#define assert(x)
Definition: audiooutputalsa.cpp:18
OpenTVChannelListDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:917
ServiceDescriptorMapping::kServiceTypeDataBroadcast
@ kServiceTypeDataBroadcast
Definition: dvbdescriptors.h:1924
CAIdentifierDescriptor::CASystemId
int CASystemId(uint i) const
Definition: dvbdescriptors.h:303
ComponentDescriptor::ComponentTag
uint ComponentTag(void) const
Definition: dvbdescriptors.h:373
DescriptorID::image_icon
@ image_icon
Definition: mpegdescriptors.h:143
DataBroadcastDescriptor::SelectorLength
uint SelectorLength(void) const
Definition: dvbdescriptors.h:673
DataBroadcastDescriptor::TextLength
uint TextLength(void) const
Definition: dvbdescriptors.h:689
countries
QDomElement countries
Definition: mythplugins/mytharchive/mytharchivehelper/main.cpp:785
VID_HEVC
@ VID_HEVC
Definition: programtypes.h:191
FreesatRegionDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:891
ImageIconDescriptor::LastDescriptorNumber
uint LastDescriptorNumber(void) const
Definition: dvbdescriptors.h:1070
PrivateUPCCablecomEpisodeTitleDescriptor::CanonicalLanguageString
QString CanonicalLanguageString(void) const
Definition: dvbdescriptors.h:2936
FrequencyListDescriptor::Frequency
unsigned long long Frequency(uint i) const
Definition: dvbdescriptors.h:1594
ContentDescriptor
Definition: dvbdescriptors.h:583
ServiceDescriptorMapping::kServiceTypeDVB_MHP
@ kServiceTypeDVB_MHP
Definition: dvbdescriptors.h:1928
SatelliteDeliverySystemDescriptor::IsEast
bool IsEast(void) const
west_east_flag 1 8.0
Definition: dvbdescriptors.h:827
TeletextDescriptor::CanonicalLanguageKey
int CanonicalLanguageKey(uint i) const
Definition: dvbdescriptors.h:2323
LinkageDescriptor::kInformationService
@ kInformationService
Definition: dvbdescriptors.h:131
ComponentDescriptor::CanonicalLanguageString
QString CanonicalLanguageString(void) const
Definition: dvbdescriptors.h:381
ServiceDescriptorMapping::IsHDTV
bool IsHDTV(void) const
Definition: dvbdescriptors.h:1988
TerrestrialDeliverySystemDescriptor::kGuardInterval_1_4
@ kGuardInterval_1_4
Definition: dvbdescriptors.h:1017
AC3Descriptor::MainID
uint MainID(void) const
Definition: dvbdescriptors.h:2486
LocalTimeOffsetDescriptor::CountryCodeString
QString CountryCodeString(uint i) const
Definition: dvbdescriptors.h:1634
ServiceAvailabilityDescriptor
Definition: dvbdescriptors.h:2066
DVBContentIdentifierDescriptor::DVBContentIdentifierDescriptor
DVBContentIdentifierDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2833
ServiceDescriptor::ServiceShortName
QString ServiceShortName(void) const
Definition: dvbdescriptors.h:2041
SHDeliverySystemDescriptor::SHDeliverySystemDescriptor
SHDeliverySystemDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1224
NetworkChangeNotifyDescriptor
Definition: dvbdescriptors.h:1286
PrivateDescriptorID::freesat_callsign
@ freesat_callsign
Definition: mpegdescriptors.h:238
DVBLogicalChannelDescriptor::ServiceID
uint ServiceID(uint i) const
Definition: dvbdescriptors.h:2544
C2DeliverySystemDescriptor::PlpID
uint PlpID(void) const
Definition: dvbdescriptors.h:1459
SubtitlingDescriptor
Definition: dvbdescriptors.h:2238
AUD_VISUALIMPAIR
@ AUD_VISUALIMPAIR
Definition: programtypes.h:176
PartialTransportStreamDescriptor
Definition: dvbdescriptors.h:2435
ServiceDescriptorMapping::ServiceDescriptorMapping
ServiceDescriptorMapping(const uint service_type)
Definition: dvbdescriptors.h:1910
ShortEventDescriptor::LanguageString
QString LanguageString(void) const
Definition: dvbdescriptors.h:2145
SatelliteDeliverySystemDescriptor::OrbitalPosition
uint OrbitalPosition(void) const
orbital_position 16 6.0
Definition: dvbdescriptors.h:816
ShortEventDescriptor::EventName
QString EventName(void) const
Definition: dvbdescriptors.h:2154
ServiceRelocatedDescriptor::OldTransportID
uint OldTransportID(void) const
Definition: dvbdescriptors.h:1434
SupplementaryAudioDescriptor::MixType
uint MixType(void) const
Definition: dvbdescriptors.h:1264
SatelliteDeliverySystemDescriptor::ModulationSystemString
QString ModulationSystemString(void) const
Definition: dvbdescriptors.h:856
LinkageDescriptor::LinkageTypeString
QString LinkageTypeString(void) const
Definition: dvbdescriptors.cpp:258
DefaultAuthorityDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:2902
LinkageDescriptor::kDataBroadcastService
@ kDataBroadcastService
Definition: dvbdescriptors.h:136
StreamIdentifierDescriptor
This is used to label streams so the can be treated differently, for instance each stream may get it'...
Definition: dvbdescriptors.h:2202
PrivateUPCCablecomEpisodeTitleDescriptor::CanonicalLanguageKey
int CanonicalLanguageKey(void) const
Definition: dvbdescriptors.h:2932
CableDeliverySystemDescriptor::ModulationString
QString ModulationString(void) const
Definition: dvbdescriptors.h:760
SatelliteDeliverySystemDescriptor::SymbolRateHz
uint SymbolRateHz(void) const
Definition: dvbdescriptors.h:881
ServiceDescriptorMapping::IsDigitalAudio
bool IsDigitalAudio(void) const
Definition: dvbdescriptors.h:1982
MultilingualServiceNameDescriptor::MultilingualServiceNameDescriptor
MultilingualServiceNameDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1754
AC3Descriptor
Definition: dvbdescriptors.h:2460
TerrestrialDeliverySystemDescriptor::kHierarchyInfoAlpha4NativeInterleaver
@ kHierarchyInfoAlpha4NativeInterleaver
Definition: dvbdescriptors.h:965
CableDeliverySystemDescriptor::kInnerFEC_8_9_ConvolutionCodeRate
@ kInnerFEC_8_9_ConvolutionCodeRate
Definition: dvbdescriptors.h:786
TerrestrialDeliverySystemDescriptor::kCodeRate_1_2
@ kCodeRate_1_2
Definition: dvbdescriptors.h:988
ScramblingDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:1899
TeletextDescriptor::TeletextPageNum
uint TeletextPageNum(uint i) const
Definition: dvbdescriptors.h:2334
ImageIconDescriptor
Definition: dvbdescriptors.h:1047
ServiceDescriptor
Definition: dvbdescriptors.h:2013
ComponentDescriptor
Definition: dvbdescriptors.h:360
ServiceAvailabilityDescriptor::ServiceAvailabilityDescriptor
ServiceAvailabilityDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2068
StuffingDescriptor
Definition: dvbdescriptors.h:2221
SatelliteDeliverySystemDescriptor::IsVerticalRightPolarization
bool IsVerticalRightPolarization(void) const
Definition: dvbdescriptors.h:839
OpenTVChannelListDescriptor::ServiceID
uint ServiceID(uint i) const
Definition: dvbdescriptors.h:2811
ServiceDescriptorMapping::kServiceTypeNimiqTV9
@ kServiceTypeNimiqTV9
Definition: dvbdescriptors.h:1958
DataBroadcastDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:939
SatelliteDeliverySystemDescriptor::kInnerFEC_3_4_ConvolutionCodeRate
@ kInnerFEC_3_4_ConvolutionCodeRate
Definition: dvbdescriptors.h:891
DVBContentIdentifierDescriptor::m_cridCount
size_t m_cridCount
Definition: dvbdescriptors.h:2883
TerrestrialDeliverySystemDescriptor::FrequencyHz
uint64_t FrequencyHz(void) const
Definition: dvbdescriptors.h:920
MosaicDescriptor
Definition: dvbdescriptors.h:1662
T2DeliverySystemDescriptor::kBandwidth7Mhz
@ kBandwidth7Mhz
Definition: dvbdescriptors.h:1132
DVBSimulcastChannelDescriptor::ChannelCount
uint ChannelCount(void) const
Definition: dvbdescriptors.h:2570
SatelliteDeliverySystemDescriptor::kModulationQPSK_NS
@ kModulationQPSK_NS
Definition: dvbdescriptors.h:863
ServiceDescriptorMapping::kServiceTypeNimiqTV5
@ kServiceTypeNimiqTV5
Definition: dvbdescriptors.h:1954
SatelliteDeliverySystemDescriptor::kInnerFEC_5_6_ConvolutionCodeRate
@ kInnerFEC_5_6_ConvolutionCodeRate
Definition: dvbdescriptors.h:892
SatelliteDeliverySystemDescriptor::kRollOff_Auto
@ kRollOff_Auto
Definition: dvbdescriptors.h:846
TerrestrialDeliverySystemDescriptor::IsMPE_FECUsed
bool IsMPE_FECUsed(void) const
Definition: dvbdescriptors.h:942
BouquetNameDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:283
PrivateUPCCablecomEpisodeTitleDescriptor::PrivateUPCCablecomEpisodeTitleDescriptor
PrivateUPCCablecomEpisodeTitleDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2915
StuffingDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:2229
FreesatCallsignDescriptor::Language
QString Language(void) const
Definition: dvbdescriptors.h:2729
CableDeliverySystemDescriptor::SymbolRateRaw
uint SymbolRateRaw(void) const
Definition: dvbdescriptors.h:768
SatelliteDeliverySystemDescriptor::kModulationQPSK
@ kModulationQPSK
Definition: dvbdescriptors.h:865
LinkageDescriptor::MobileHandOverTypeString
QString MobileHandOverTypeString(void) const
Definition: dvbdescriptors.cpp:267
TerrestrialDeliverySystemDescriptor::TransmissionModeString
QString TransmissionModeString(void) const
Definition: dvbdescriptors.h:1033
LocalTimeOffsetDescriptor::CountryCode
uint CountryCode(uint i) const
Definition: dvbdescriptors.h:1629
T2DeliverySystemDescriptor::kTransmissionMode32k
@ kTransmissionMode32k
Definition: dvbdescriptors.h:1179
SatelliteDeliverySystemDescriptor::kRollOff_20
@ kRollOff_20
Definition: dvbdescriptors.h:844
CableDeliverySystemDescriptor::kOuterFEC_None
@ kOuterFEC_None
Definition: dvbdescriptors.h:741
ExtendedEventDescriptor::LastNumber
uint LastNumber(void) const
Definition: dvbdescriptors.h:1534
FreesatRegionDescriptor::RegionID
int RegionID(uint i) const
Definition: dvbdescriptors.h:2689
NetworkNameDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:81
SatelliteDeliverySystemDescriptor::PolarizationString
QString PolarizationString() const
Definition: dvbdescriptors.h:831
TerrestrialDeliverySystemDescriptor::kTransmissionMode4k
@ kTransmissionMode4k
Definition: dvbdescriptors.h:1030
SkyLCNDescriptor::ServiceCount
uint ServiceCount(void) const
Definition: dvbdescriptors.h:2775
ServiceDescriptorMapping::kServiceTypeH264AVCSDDigitalTelevision
@ kServiceTypeH264AVCSDDigitalTelevision
Definition: dvbdescriptors.h:1931
PrivateUPCCablecomEpisodeTitleDescriptor::LanguageString
QString LanguageString(void) const
Definition: dvbdescriptors.h:2928
TerrestrialDeliverySystemDescriptor::IsTimeSlicingIndicatorUsed
bool IsTimeSlicingIndicatorUsed(void) const
Definition: dvbdescriptors.h:940
T2DeliverySystemDescriptor::kTransmissionMode4k
@ kTransmissionMode4k
Definition: dvbdescriptors.h:1176
SatelliteDeliverySystemDescriptor
Definition: dvbdescriptors.h:796
SatelliteDeliverySystemDescriptor::kRollOff_25
@ kRollOff_25
Definition: dvbdescriptors.h:845
SubtitlingDescriptor::SubtitleType
uint SubtitleType(uint i) const
Definition: dvbdescriptors.h:2260
AncillaryDataDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.h:235
TelephoneDescriptor::TelephoneDescriptor
TelephoneDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2275
ExtendedEventDescriptor::Text
QString Text(void) const
Definition: dvbdescriptors.h:1557
TerrestrialDeliverySystemDescriptor::BandwidthHz
uint BandwidthHz(void) const
Definition: dvbdescriptors.h:931
AUD_STEREO
@ AUD_STEREO
Definition: programtypes.h:171
DVBContentIdentifierDescriptor::ContentId
QString ContentId(size_t n=0) const
Definition: dvbdescriptors.h:2862
FreesatRegionDescriptor
Freesat Region descriptor.
Definition: dvbdescriptors.h:2657
SkyLCNDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:852
LocalTimeOffsetDescriptor::Count
uint Count(void) const
Definition: dvbdescriptors.h:1625
TerrestrialDeliverySystemDescriptor::CodeRateHPString
QString CodeRateHPString(void) const
Definition: dvbdescriptors.h:995
CableDeliverySystemDescriptor::SymbolRateHz
uint SymbolRateHz(void) const
Definition: dvbdescriptors.h:773
AUD_DOLBY
@ AUD_DOLBY
Definition: programtypes.h:174
ServiceDescriptorMapping::kServiceTypeH264AVCHDDigitalTelevision
@ kServiceTypeH264AVCHDDigitalTelevision
Definition: dvbdescriptors.h:1934
DataBroadcastDescriptor::DataComponentTag
uint DataComponentTag(void) const
Definition: dvbdescriptors.h:671
FreesatRegionDescriptor::m_entries
desc_list_t m_entries
Definition: dvbdescriptors.h:2701
TargetRegionNameDescriptor::LanguageKey
int LanguageKey(void) const
Definition: dvbdescriptors.h:1401
TargetRegionNameDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:766
OpenTVChannelListDescriptor::ChannelNumber
uint ChannelNumber(uint i) const
Definition: dvbdescriptors.h:2820
TargetRegionNameDescriptor
Definition: dvbdescriptors.h:1374
TerrestrialDeliverySystemDescriptor::HighPriority
bool HighPriority(void) const
Definition: dvbdescriptors.h:938
ComponentDescriptor::SubtitleType
uint SubtitleType(void) const
Definition: dvbdescriptors.h:555
SatelliteDeliverySystemDescriptor::RollOff
uint RollOff(void) const
Definition: dvbdescriptors.h:848
FrequencyListDescriptor::FrequencyHz
unsigned long long FrequencyHz(uint i) const
Definition: dvbdescriptors.h:1606
TerrestrialDeliverySystemDescriptor::kCodeRate_2_3
@ kCodeRate_2_3
Definition: dvbdescriptors.h:989
ComponentDescriptor::AVCProperties
uint AVCProperties(void) const
Definition: dvbdescriptors.h:437
ScramblingDescriptor::ScramblingDescriptor
ScramblingDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1891
LinkageDescriptor::LinkageType
uint LinkageType(void) const
Definition: dvbdescriptors.h:145
MultilingualNetworkNameDescriptor::MultilingualNetworkNameDescriptor
MultilingualNetworkNameDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1735
T2DeliverySystemDescriptor::kGuardInterval_1_4
@ kGuardInterval_1_4
Definition: dvbdescriptors.h:1158
ServiceDescriptorMapping::IsDTV
bool IsDTV(void) const
Definition: dvbdescriptors.h:1962
CableDeliverySystemDescriptor::kInnerFEC_None
@ kInnerFEC_None
Definition: dvbdescriptors.h:787
DataBroadcastDescriptor::Text
QString Text(void) const
Definition: dvbdescriptors.h:691
T2DeliverySystemDescriptor::kGuardInterval_19_256
@ kGuardInterval_19_256
Definition: dvbdescriptors.h:1161
DefaultAuthorityDescriptor
Definition: dvbdescriptors.h:2889
ServiceDescriptorMapping::toString
QString toString(void) const
Definition: dvbdescriptors.cpp:515
LinkageDescriptor::MobileHandOverType
uint MobileHandOverType(void) const
Definition: dvbdescriptors.h:157
StreamIdentifierDescriptor::StreamIdentifierDescriptor
StreamIdentifierDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2204
TerrestrialDeliverySystemDescriptor::kTransmissionMode8k
@ kTransmissionMode8k
Definition: dvbdescriptors.h:1029
NetworkChangeNotifyDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:719
SatelliteDeliverySystemDescriptor::IsHorizontalLeftPolarization
bool IsHorizontalLeftPolarization(void) const
Definition: dvbdescriptors.h:838
AdaptationFieldDataDescriptor
Definition: dvbdescriptors.h:207
SatelliteDeliverySystemDescriptor::FECInner
uint FECInner(void) const
Definition: dvbdescriptors.h:897
ComponentDescriptor::MPEG2Properties
uint MPEG2Properties(void) const
Definition: dvbdescriptors.h:419
ServiceDescriptorMapping::kServiceTypeH264AVCFrameCompatiblePlanoStereoscopicHDDigitalTelevision
@ kServiceTypeH264AVCFrameCompatiblePlanoStereoscopicHDDigitalTelevision
Definition: dvbdescriptors.h:1937
LinkageDescriptor::MobileOriginType
uint MobileOriginType(void) const
Definition: dvbdescriptors.h:166
LinkageDescriptor::HasMobileInitialServiceID
bool HasMobileInitialServiceID(void) const
Definition: dvbdescriptors.h:176
TeletextDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:535
ServiceDescriptorMapping::kServiceTypeH264AVCSDNVODTimeShifted
@ kServiceTypeH264AVCSDNVODTimeShifted
Definition: dvbdescriptors.h:1932
SupplementaryAudioDescriptor::LanguageKey
int LanguageKey(void) const
Definition: dvbdescriptors.h:1276
SUB_NORMAL
@ SUB_NORMAL
Definition: programtypes.h:209
SkyLCNDescriptor::RegionID
uint RegionID(void) const
Definition: dvbdescriptors.h:2769
VID_WIDESCREEN
@ VID_WIDESCREEN
Definition: programtypes.h:187
DVBContentIdentifierDescriptor
Definition: dvbdescriptors.h:2831
ServiceDescriptorMapping::kServiceTypeNimiqTV8
@ kServiceTypeNimiqTV8
Definition: dvbdescriptors.h:1957
T2DeliverySystemDescriptor::TransposerFrequency
uint TransposerFrequency(uint i, uint j) const
Definition: dvbdescriptors.h:1207
FrequencyListDescriptor::FrequencyCount
uint FrequencyCount() const
Definition: dvbdescriptors.h:1593
LinkageDescriptor::OriginalNetworkID
uint OriginalNetworkID() const
Definition: dvbdescriptors.h:125
FreesatLCNDescriptor::ChanID
uint ChanID(int i) const
Definition: dvbdescriptors.h:2629
iso639_str3_to_key
static int iso639_str3_to_key(const unsigned char *iso639_2)
Definition: iso639.h:61
T2DeliverySystemDescriptor::T2DeliverySystemDescriptor
T2DeliverySystemDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1092
LinkageDescriptor::kTSContaining_INT_BAT_NIT
@ kTSContaining_INT_BAT_NIT
Definition: dvbdescriptors.h:142
T2DeliverySystemDescriptor::PlpID
uint PlpID(void) const
Definition: dvbdescriptors.h:1108
TeletextDescriptor::LanguageString
QString LanguageString(uint i) const
Definition: dvbdescriptors.h:2321
S2XSatelliteDeliverySystemDescriptor::S2XSatelliteDeliverySystemDescriptor
S2XSatelliteDeliverySystemDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1488
MessageDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:731
SatelliteDeliverySystemDescriptor::IsCircularPolarization
bool IsCircularPolarization(void) const
Definition: dvbdescriptors.h:836
AUD_MONO
@ AUD_MONO
Definition: programtypes.h:172
NVODReferenceDescriptor::NVODReferenceDescriptor
NVODReferenceDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1775
AC3Descriptor::BSID
uint BSID(void) const
Definition: dvbdescriptors.h:2482
TimeShiftedEventDescriptor
Definition: dvbdescriptors.h:2342
TerrestrialDeliverySystemDescriptor::kHierarchyInfoNonHierarchicalNativeInterleaver
@ kHierarchyInfoNonHierarchicalNativeInterleaver
Definition: dvbdescriptors.h:962
VBITeletextDescriptor::VBITeletextDescriptor
VBITeletextDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2418
SkyLCNDescriptor::RegionRaw
uint RegionRaw(void) const
Definition: dvbdescriptors.h:2772
ExtendedEventDescriptor::CanonicalLanguageString
QString CanonicalLanguageString(void) const
Definition: dvbdescriptors.h:1542
VBITeletextDescriptor
Definition: dvbdescriptors.h:2416
TeletextDescriptor::TeletextType
uint TeletextType(uint i) const
Definition: dvbdescriptors.h:2328
TargetRegionDescriptor::TargetRegionDescriptor
TargetRegionDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1343
ServiceListDescriptor
Definition: dvbdescriptors.h:2081
FreesatLCNDescriptor::FreesatLCNDescriptor
FreesatLCNDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2594
ComponentDescriptor::ComponentType
uint ComponentType(void) const
Definition: dvbdescriptors.h:371
ServiceDescriptorMapping::kServiceTypeNimiqTV7
@ kServiceTypeNimiqTV7
Definition: dvbdescriptors.h:1956
OpenTVChannelListDescriptor::OpenTVChannelListDescriptor
OpenTVChannelListDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2800
PartialTransportStreamDescriptor::SmoothBuf
uint SmoothBuf(void) const
Definition: dvbdescriptors.h:2453
T2DeliverySystemDescriptor::kTransmissionMode1k
@ kTransmissionMode1k
Definition: dvbdescriptors.h:1177
AncillaryDataDescriptor::AncillaryDataID
uint AncillaryDataID(void) const
Definition: dvbdescriptors.h:234
T2DeliverySystemDescriptor::Parse
void Parse(void) const
Definition: dvbdescriptors.cpp:618
ContentDescriptor::Nibble
uint Nibble(uint i) const
Definition: dvbdescriptors.h:599
TerrestrialDeliverySystemDescriptor::kCodeRate_7_8
@ kCodeRate_7_8
Definition: dvbdescriptors.h:992
DVBLogicalChannelDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:830
TeletextDescriptor
Definition: dvbdescriptors.h:2306
NetworkChangeNotifyDescriptor::NetworkChangeNotifyDescriptor
NetworkChangeNotifyDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1288
T2DeliverySystemDescriptor::T2SystemID
uint T2SystemID(void) const
Definition: dvbdescriptors.h:1114
DescriptorID::service_relocated
@ service_relocated
Definition: mpegdescriptors.h:151
SatelliteDeliverySystemDescriptor::SatelliteDeliverySystemDescriptor
SatelliteDeliverySystemDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:798
FreesatLCNDescriptor::LogicalChannelNumber
uint LogicalChannelNumber(int i, int j) const
Definition: dvbdescriptors.h:2635
AC3Descriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:998
SupplementaryAudioDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:697
SubtitlingDescriptor::CompositionPageID
uint CompositionPageID(uint i) const
Definition: dvbdescriptors.h:2263
ServiceDescriptor::IsDigitalAudio
bool IsDigitalAudio(void) const
Definition: dvbdescriptors.h:2048
ContentDescriptor::Init
static void Init(void)
Definition: dvbdescriptors.cpp:307
SatelliteDeliverySystemDescriptor::kInnerFEC_8_9_ConvolutionCodeRate
@ kInnerFEC_8_9_ConvolutionCodeRate
Definition: dvbdescriptors.h:894
LinkageDescriptor::kSystemSoftwareUpdateService
@ kSystemSoftwareUpdateService
Definition: dvbdescriptors.h:139
TimeShiftedServiceDescriptor::TimeShiftedServiceDescriptor
TimeShiftedServiceDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2358
DescriptorID::supplementary_audio
@ supplementary_audio
Definition: mpegdescriptors.h:146
C2DeliverySystemDescriptor
Definition: dvbdescriptors.h:1442
LinkageDescriptor::IsTargetListed
bool IsTargetListed(void) const
Definition: dvbdescriptors.h:189
TerrestrialDeliverySystemDescriptor::kGuardInterval_1_32
@ kGuardInterval_1_32
Definition: dvbdescriptors.h:1014
SatelliteDeliverySystemDescriptor::ModulationString
QString ModulationString(void) const
Definition: dvbdescriptors.h:870
SupplementaryAudioDescriptor::EditorialClassification
uint EditorialClassification(void) const
Definition: dvbdescriptors.h:1267
SkyLCNDescriptor::SkyLCNDescriptor
SkyLCNDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:2752
TransportStreamDescriptor
Definition: dvbdescriptors.h:2369
LinkageDescriptor::kTSContaining_SSU_BAT_NIT
@ kTSContaining_SSU_BAT_NIT
Definition: dvbdescriptors.h:140
FreesatRegionDescriptor::RegionName
QString RegionName(uint i) const
Definition: dvbdescriptors.h:2695
AC3Descriptor::HasComponentType
bool HasComponentType(void) const
Definition: dvbdescriptors.h:2469
PrivateDataSpecifierDescriptor::PrivateDataSpecifierDescriptor
PrivateDataSpecifierDescriptor(const std::vector< uint8_t > &data)
Definition: dvbdescriptors.h:1874
DVBSimulcastChannelDescriptor::ServiceID
uint ServiceID(uint i) const
Definition: dvbdescriptors.h:2572
T2DeliverySystemDescriptor::kBandwidth6Mhz
@ kBandwidth6Mhz
Definition: dvbdescriptors.h:1133
FreesatLCNDescriptor::ServiceCount
uint ServiceCount(void) const
Definition: dvbdescriptors.h:2623
SatelliteDeliverySystemDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:569
byte3BCD2int
#define byte3BCD2int(i, j, k)
Definition: dvbdescriptors.h:57
TargetRegionDescriptor::toString
QString toString(void) const override
Definition: dvbdescriptors.cpp:749
LinkageDescriptor::LinkageDescriptor
LinkageDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:89
DefaultAuthorityDescriptor::DefaultAuthority
QString DefaultAuthority(void) const
Definition: dvbdescriptors.h:2897
PrivateDescriptorID
Definition: mpegdescriptors.h:198
BouquetNameDescriptor::BouquetName
QString BouquetName(void) const
Definition: dvbdescriptors.h:278
ComponentDescriptor::ComponentDescriptor
ComponentDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:362
NetworkNameDescriptor
Definition: dvbdescriptors.h:69
ServiceRelocatedDescriptor::OldOriginalNetworkID
uint OldOriginalNetworkID(void) const
Definition: dvbdescriptors.h:1433
CountryAvailabilityDescriptor::CountryNames
QString CountryNames(void) const
Definition: dvbdescriptors.h:639
ShortEventDescriptor::LanguageKey
int LanguageKey(void) const
Definition: dvbdescriptors.h:2143
ContentDescriptor::Nibble2
uint Nibble2(uint i) const
Definition: dvbdescriptors.h:597
C2DeliverySystemDescriptor::C2DeliverySystemDescriptor
C2DeliverySystemDescriptor(const unsigned char *data, int len=300)
Definition: dvbdescriptors.h:1444