3#ifndef DVB_DESCRIPTORS_H
4#define DVB_DESCRIPTORS_H
59static constexpr uint8_t
byteBCDH2int(uint8_t i) {
return i >> 4; };
60static constexpr uint8_t
byteBCDL2int(uint8_t i) {
return i & 0x0f; };
66static constexpr uint32_t
byte3BCD2int(uint8_t i, uint8_t j, uint8_t k)
70static constexpr uint32_t
byte4BCD2int(uint8_t i, uint8_t j, uint8_t k, uint8_t l)
75static constexpr uint64_t
byte4BCD2int64(uint8_t i, uint8_t j, uint8_t k, uint8_t l)
76{
return static_cast<uint64_t
>(
byte4BCD2int(i, j, k, l)); }
81static_assert(
byte4BCD2int(0x98, 0x76, 0x54, 0x32) == 98765432);
82static_assert(
byte4BCD2int64(0x98, 0x76, 0x54, 0x32) == 98765432ULL);
99 {
return QString(
"NetworkNameDescriptor: ")+
Name(); }
239 {
return (
m_data[2 + (i*3)] & 0x7F) << 8 |
m_data[2 + (i*3) + 1] ; }
241 {
return m_data[2 + (i*3) + 2] & 0x1F ; }
242 QString
toString(
void)
const override;
258 return QString(
"AdaptationFieldDataDescriptor "
259 "adaptation_field_data_identifier(%1)")
277 return QString(
"AncillaryDataDescriptor "
278 "ancillary_data_identifier(%1)")
325 return QString(
"BouquetNameDescriptor: Bouquet Name(%1)")
344 {
return (
m_data[2 + (i*2)] << 8) |
m_data[3 + (i*2)]; }
345 QString
toString(
void)
const override;
463 case 0x2:
case 0x3:
case 0x4:
464 case 0x6:
case 0x7:
case 0x8:
465 return VID_WIDESCREEN;
469 case 0x0A:
case 0x0B:
case 0x0C:
470 case 0x0E:
case 0x0F:
case 0x10:
471 return VID_WIDESCREEN | VID_HDTV;
483 return VID_WIDESCREEN;
484 case 0x0B:
case 0x0C:
485 case 0x0F:
case 0x10:
486 return VID_WIDESCREEN | VID_HDTV;
487 case 0x80:
case 0x81:
488 case 0x82:
case 0x83:
489 return VID_WIDESCREEN | VID_HDTV | VID_3DTV;
536 return AUD_VISUALIMPAIR;
546 unsigned char properties = AUD_UNKNOWN;
551 properties |= AUD_MONO;
554 properties |= AUD_STEREO;
557 properties |= AUD_DOLBY;
560 properties |= AUD_SURROUND;
565 properties |= AUD_VISUALIMPAIR;
568 properties |= AUD_HARDHEAR;
586 return AUD_VISUALIMPAIR;
604 case 0x10:
case 0x11:
case 0x12:
case 0x13:
606 case 0x20:
case 0x21:
case 0x22:
case 0x23:
615 return QString(
"ComponentDescriptor(stream_content: 0x%1, "
650 QString
toString(
void)
const override;
653 static void Init(
void);
681 QString countries=
"";
684 if (i!=0) countries.append(
" ");
685 countries.append(QString::fromLatin1(
686 (
const char *)
m_data+(3*(i+1)), 3));
693 return QString(
"CountryAvailabilityDescriptor: Available(%1) in (%2)")
736 QString
toString(
void)
const override;
790 return "RS(204/188)";
805 static std::array<QString,6> ms
806 {
"auto",
"qam_16",
"qam_32",
"qam_64",
"qam_128",
"qam_256" };
834 QString
toString(
void)
const override;
842 const unsigned char *data,
int len = 300) :
864 return QString(
"%1.%2 %3").arg(num / 10).arg(num % 10)
865 .arg((
IsEast()) ?
"East" :
"West");
876 static const std::array<const QString,4> ps {
"h",
"v",
"l",
"r" };
894 static const std::array<const QString,4> ro {
"0.35",
"0.20",
"0.25",
"auto" };
915 static const std::array<const QString,4> ms {
"qpsk",
"qpsk",
"8psk",
"qam_16" };
943 QString
toString(
void)
const override;
951 const unsigned char *data,
int len = 300) :
977 static std::array<QString,4> bs {
"8",
"7",
"6",
"5" };
998 static std::array<QString,4> cs {
"qpsk",
"qam_16",
"qam_64",
"qam_256" };
1019 static const std::array<const QString,8> hs {
"n",
"1",
"2",
"4",
"a",
"a",
"a",
"a" };
1026 return (0x2 == i) ? 4 : i;
1040 static const std::array<const QString,8> cr {
1041 "1/2",
"2/3",
"3/4",
"5/6",
"7/8",
"auto",
"auto",
"auto"
1049 static const std::array<const QString,8> cr {
1050 "1/2",
"2/3",
"3/4",
"5/6",
"7/8",
"auto",
"auto",
"auto"
1065 static const std::array<const QString,4> gi {
"1/32",
"1/16",
"1/8",
"1/4" };
1078 static const std::array<const QString,4> tm {
"2",
"8",
"4",
"auto" };
1085 QString
toString(
void)
const override;
1093 const unsigned char *data,
int len = 300) :
1128 QString
toString(
void)
const override;
1136 const unsigned char *data,
int len = 300) :
1168 static const std::array<const QString,4> sm
1169 {
"SISO",
"MISO",
"reserved",
"reserved" };
1186 static constexpr std::array<const uint,6> bw
1187 { 8000000, 7000000, 6000000, 5000000, 10000000, 1712000 };
1192 static const std::array<const QString,6> bs
1193 {
"8",
"7",
"6",
"5",
"10",
"1.712" };
1211 static const std::array<const QString,8> gi
1212 {
"1/32",
"1/16",
"1/8",
"1/4",
"1/128",
"19/128",
"19/256",
"reserved" };
1229 static const std::array<const QString,8> tm
1230 {
"2k",
"8k",
"4k",
"1k",
"16k",
"32k",
"reserved",
"reserved" };
1257 void Parse(
void)
const;
1258 QString
toString(
void)
const override;
1270 const unsigned char *data,
int len = 300) :
1287 QString
toString(
void)
const override;
1295 const unsigned char *data,
int len = 300) :
1326 QString
toString(
void)
const override;
1334 const unsigned char *data,
int len = 300) :
1347 QString
toString(
void)
const override;
1355 const unsigned char *data,
int len = 300) :
1381 QString
toString(
void)
const override;
1389 const unsigned char *data,
int len = 300) :
1409 std::array<QChar,3> code
1411 return QString(code.data(), 3);
1416 QString
toString(
void)
const override;
1424 const unsigned char *data,
int len = 300) :
1444 std::array<QChar,3> code
1446 return QString(code.data(), 3);
1458 QString
toString(
void)
const override;
1466 const unsigned char *data,
int len = 300) :
1486 QString
toString(
void)
const override;
1494 const unsigned char *data,
int len = 300) :
1530 QString
toString(
void)
const override;
1538 const unsigned char *data,
int len = 300) :
1555 QString
toString(
void)
const override;
1602 QMultiMap<QString,QString> Items(
void)
const;
1607 {
return dvb_decode_text(&m_data[8 + LengthOfItems()], TextLength()); }
1647 return (((
unsigned long long)
m_data[(i*4)+3]<<24) |
1661 QString
toString(
void)
const override;
1681 return ((m_data[o] << 16) | (m_data[o+1] << 8) | m_data[o+2]);
1686 std::array<QChar,3> code
1687 { QChar(m_data[o]), QChar(m_data[o+1]), QChar(m_data[o+2]) };
1688 return QString(code.data(), 3);
1696 {
return (m_data[2 + (i*13) + 3] & 0x01) != 0; }
1699 {
return (
byteBCD2int(m_data[2 + (i*13) + 4]) * 60) +
1702 {
return (LocalTimeOffsetPolarity(i) ? -1 : +1) * LocalTimeOffset(i); }
1705 {
return &m_data[2 + (i*13) + 6]; }
1712 {
return (
byteBCD2int(m_data[2 + (i*13) + 11]) * 60) +
1715 QString
toString(
void)
const override;
1775 const unsigned char *data,
int len = 300) :
1794 const unsigned char *data,
int len = 300) :
1813 const unsigned char *data,
int len = 300) :
1844 {
return (
m_data[(i * 6) + 2] << 8) |
m_data[(i * 6) + 3]; }
1847 {
return (
m_data[(i * 6) + 4] << 8) |
m_data[(i * 6) + 5]; }
1850 {
return (
m_data[(i * 6) + 6] << 8) |
m_data[(i * 6) + 7]; }
1852 QString
toString(
void)
const override;
1879 std::array<QChar,3> code
1881 return QString(code.data(), 3);
1890 unsigned char rawRating =
m_data[2 + 3 + (i*4)];
1896 if (rawRating <= 0x0F)
1899 return rawRating + 3;
1923 return QString(
"PDCDescriptor program_id_label(%1)")
1961 return QString(
"ScramblingDescriptor scrambling_mode(%1)")
2117 return QString(
"ServiceDescriptor: %1 %2(0x%3)")
2163 QString str = QString(
"ServiceListDescriptor: %1 Services")
2168 str.append(QString(
" Service (%1) Type%2 (0x%3)")
2274 return QString(
"Stream Identifier Descriptor (0x52): ComponentTag=0x%1")
2291 return QString(
"Stuffing Descriptor (0x42) length(%1)")
2321 {
return m_data[5 + (i<<3)]; }
2324 {
return (
m_data[6 + (i<<3)] << 8) |
m_data[7 + (i<<3)]; }
2327 {
return (
m_data[8 + (i<<3)] << 8) |
m_data[9 + (i<<3)]; }
2329 QString
toString(
void)
const override;
2390 {
return m_data[5 + (i*5)] >> 3; }
2393 {
return m_data[5 + (i*5)] & 0x7; }
2396 {
return m_data[6 + (i*5)]; }
2398 QString
toString(
void)
const override;
2442 {
return QString(
"TransportStreamDescriptor data(%1)").arg(
Data()); }
2515 QString
toString(
void)
const override;
2552 offset += (
HasBSID()) ? 1 : 0;
2561 offset += (
HasBSID()) ? 1 : 0;
2568 QString
toString(
void)
const override;
2575 case 0x0:
return "auto";
2576 case 0x1:
return "1/2";
2577 case 0x2:
return "2/3";
2578 case 0x3:
return "3/4";
2579 case 0x4:
return "5/6";
2580 case 0x5:
return "7/8";
2581 case 0x8:
return "8/9";
2582 case 0xf:
return "none";
2583 default:
return "auto";
2607 {
return (
m_data[2 + (i<<2)] << 8) |
m_data[3 + (i<<2)]; }
2610 {
return ((
m_data[4 + (i<<2)] << 8) |
m_data[5 + (i<<2)]) & 0x3ff; }
2612 QString
toString(
void)
const override;
2635 {
return (
m_data[2 + (i<<2)] << 8) |
m_data[3 + (i<<2)]; }
2638 {
return ((
m_data[4 + (i<<2)] << 8) |
m_data[5 + (i<<2)]) & 0x3ff; }
2640 QString
toString(
void)
const override;
2663 const unsigned char *payload = &data[2];
2670 offset += 5 + payload[offset+4];
2700 {
return (*(
m_entries[i] + 5 + (j*4)) << 8 | *(
m_entries[i] + 5 + (j*4) + 1)) & 0xFFF; }
2705 QString
toString(
void)
const override;
2730 const unsigned char *payload = &data[2];
2737 offset += 6 + payload[offset+5];
2759 {
return QString::fromLatin1((
char *)
m_entries[i] + 2, 3); }
2764 QString
toString(
void)
const override;
2796 {
return QString::fromLatin1((
char *)
m_data +2, 3); }
2801 QString
toString(
void)
const override;
2836 {
return (*(
m_data + 3) != 0xFF) ? *(
m_data + 3) : 0xFFFF;}
2845 {
return *(
m_data + 4 + (i*9)) << 8 | *(
m_data + 5 + (i*9)); }
2848 {
return *(
m_data + 6 + (i*9)); }
2851 {
return *(
m_data + 7 + (i*9)) << 8 | *(
m_data + 8 + (i*9)); }
2854 {
return *(
m_data + 9 + (i*9)) << 8 | *(
m_data + 10 + (i*9)); }
2857 {
return *(
m_data + 11 + (i*9)) << 8 | *(
m_data + 12 + (i*9)); }
2859 QString
toString(
void)
const override;
2878 {
return (
m_data[4 + 0 + (i*9)] << 8) |
m_data[4 + 1 + (i*9)]; }
2881 {
return m_data[4 + 2 + (i*9)]; }
2884 {
return ((
m_data[4 + 3 + (i*9)] << 8) |
m_data[4 + 4 + (i*9)]); }
2887 {
return ((
m_data[4 + 5 + (i*9)] << 8) |
m_data[4 + 6 + (i*9)]); }
2890 {
return ((
m_data[4 + 7 + (i*9)] << 8) |
m_data[4 + 8 + (i*9)]) & 0xf; }
2892 QString
toString(
void)
const override;
2908 uint8_t position = 2;
2909 while (
m_data[1] >= position)
2911 size_t length =
m_data[position+1];
2931 const uint8_t* cridN =
m_crid[n];
2932 int length = cridN[1];
2933 int positionOfHash = length-1;
2934 while (positionOfHash >= 0) {
2935 if (cridN[2 + positionOfHash] ==
'#') {
2936 length = positionOfHash;
2941 return QString::fromLatin1((
const char *)&
m_crid[n][2], length);
2966 return QString::fromLatin1((
const char *)
m_data+2,
m_data[1]);
2971 return QString(
"DefaultAuthorityDescriptor: Authority(%1)")
2984 const unsigned char *data,
int len = 300) :
2991 {
return (
m_data[2] >> 7) & 0x01; }
2995 {
return (
m_data[2] >> 6) & 0x01; }
3000 {
return (
m_data[2] >> 4) & 0x01; }
3005 {
return m_data[2] & 0x03; }
3018 QString
toString(
void)
const override;
QString toString(void) const override
bool HasComponentType(void) const
bool HasMainID(void) const
uint ComponentType(void) const
AC3Descriptor(const unsigned char *data, int len=300)
AdaptationFieldDataDescriptor(const unsigned char *data, int len=300)
uint AdaptationFieldDataID(void) const
QString toString(void) const override
uint AncillaryDataID(void) const
QString toString(void) const override
AncillaryDataDescriptor(const unsigned char *data, int len=300)
AnnouncementSupportDescriptor(const unsigned char *data, int len=300)
QString toString(void) const override
uint AITVersionNumber(uint i) const
ApplicationSignallingDescriptor(const unsigned char *data, int len=300)
uint ApplicationType(uint i) const
QString BouquetShortName(void) const
QString BouquetName(void) const
QString toString(void) const override
BouquetNameDescriptor(const unsigned char *data, int len=300)
QString toString(void) const override
uint DataSliceID(void) const
uint Frequency(void) const
C2DeliverySystemDescriptor(const unsigned char *data, int len=300)
uint CASystemCount(void) const
QString toString(void) const override
int CASystemId(uint i) const
CAIdentifierDescriptor(const unsigned char *data, int len=300)
uint FECOuter(void) const
CableDeliverySystemDescriptor(const unsigned char *data, int len=300)
uint FrequencyRaw(void) const
unsigned long long FrequencyHz(void) const
QString toString(void) const override
QString FECOuterString(void) const
uint SymbolRateRaw(void) const
QString ModulationString(void) const
QString FECInnerString(void) const
uint Modulation(void) const
@ kInnerFEC_2_3_ConvolutionCodeRate
@ kInnerFEC_8_9_ConvolutionCodeRate
@ kInnerFEC_3_4_ConvolutionCodeRate
@ kInnerFEC_1_2_ConvolutionCodeRate
@ kInnerFEC_5_6_ConvolutionCodeRate
@ kInnerFEC_7_8_ConvolutionCodeRate
uint FECInner(void) const
uint SymbolRateHz(void) const
CellFrequencyLinkDescriptor(const unsigned char *data, int len=300)
CellListDescriptor(const unsigned char *data, int len=300)
uint StreamContent(void) const
QString CanonicalLanguageString(void) const
uint HEVCProperties(void) const
uint VideoProperties(void) const
uint MPEG2Properties(void) const
int CanonicalLanguageKey(void) const
ComponentDescriptor(const unsigned char *data, int len=300)
uint SubtitleType(void) const
QString LanguageString(void) const
uint ComponentType(void) const
QString toString(void) const override
uint AVCProperties(void) const
uint HEAACProperties(void) const
int LanguageKey(void) const
uint ComponentTag(void) const
uint AC3Properties(void) const
uint MP2Properties(void) const
uint AudioProperties(void) const
bool IsSubtitle(void) const
static volatile bool s_categoryDescExists
ContentDescriptor(const unsigned char *data, int len=300)
uint Nibble(uint i) const
ProgramInfo::CategoryType GetMythCategory(uint i) const
uint UserNibble2(uint i) const
uint UserNibble1(uint i) const
uint Nibble2(uint i) const
static QMap< uint, QString > s_categoryDesc
static QMutex s_categoryLock
QString GetDescription(uint i) const
QString toString(void) const override
uint Nibble1(uint i) const
uint UserNibble(uint i) const
uint CountryCount(void) const
QString toString(void) const override
bool IsAvailable(void) const
CountryAvailabilityDescriptor(const unsigned char *data, int len=300)
QString CountryNames(void) const
DSNGDescriptor(const unsigned char *data, int len=300)
uint ContentType(size_t n=0) const
DVBContentIdentifierDescriptor(const unsigned char *data, int len=300)
std::array< const uint8_t *, 8 > m_crid
QString ContentId(size_t n=0) const
uint ContentEncoding(size_t n=0) const
DVB Logical Channel Descriptor.
QString toString(void) const override
DVBLogicalChannelDescriptor(const unsigned char *data, int len=300)
uint ChannelCount(void) const
uint ChannelNumber(uint i) const
uint ServiceID(uint i) const
DVB HD Simulcast Logical Channel Descriptor.
QString toString(void) const override
uint ChannelNumber(uint i) const
uint ServiceID(uint i) const
uint ChannelCount(void) const
DVBSimulcastChannelDescriptor(const unsigned char *data, int len=300)
int CanonicalLanguageKey(void) const
uint TextLength(void) const
QString toString(void) const override
uint DataBroadcastId(void) const
int LanguageKey(void) const
QString LanguageString(void) const
const unsigned char * Selector(void) const
uint DataComponentTag(void) const
DataBroadcastDescriptor(const unsigned char *data, int len=300)
QString CanonicalLanguageString(void) const
uint SelectorLength(void) const
uint DataBroadCastId(void) const
DataBroadcastIdDescriptor(const unsigned char *data, int len=300)
QString toString(void) const override
QString DefaultAuthority(void) const
DefaultAuthorityDescriptor(const unsigned char *data, int len=300)
@ s2x_satellite_delivery_system
QString Text(const enc_override &encoding_override) const
int LanguageKey(void) const
ExtendedEventDescriptor(const unsigned char *data, int len=300)
uint LengthOfItems(void) const
int CanonicalLanguageKey(void) const
QString LanguageString(void) const
uint LastNumber(void) const
uint DescriptorNumber(void) const
QString CanonicalLanguageString(void) const
uint TextLength(void) const
Freesat Channel Callsign descriptor.
QString Callsign(void) const
FreesatCallsignDescriptor(const unsigned char *data, int len=300)
QString toString(void) const override
QString Language(void) const
Freesat Logical Channel Number descriptor.
uint ChanID(size_t i) const
uint LCNCount(size_t i) const
uint ServiceCount(void) const
QString toString(void) const override
uint ServiceID(size_t i) const
uint LogicalChannelNumber(size_t i, size_t j) const
uint RegionID(size_t i, size_t j) const
FreesatLCNDescriptor(const unsigned char *data, int len=300)
Freesat Region descriptor.
QString Language(uint i) const
QString RegionName(uint i) const
FreesatRegionDescriptor(const unsigned char *data, int len=300)
int RegionID(uint i) const
QString toString(void) const override
uint RegionCount(void) const
QString toString(void) const override
unsigned long long Frequency(uint i) const
uint FrequencyCount() const
FrequencyListDescriptor(const unsigned char *data, int len=300)
unsigned long long FrequencyHz(uint i) const
uint CodingType(void) const
QString toString(void) const override
uint LastDescriptorNumber(void) const
uint DescriptorNumber(void) const
ImageIconDescriptor(const unsigned char *data, int len=300)
uint ServiceID(void) const
uint MobileOriginType(void) const
uint TargetEventID(void) const
uint MobileInitialServiceID(void) const
uint LinkageType(void) const
QString LinkageTypeString(void) const
uint MobileNetworkID(void) const
QString MobileHandOverTypeString(void) const
bool HasMobileNetworkID(void) const
uint OriginalNetworkID() const
@ kTSContaining_SSU_BAT_NIT
@ kTSContainingCompleteNetworkBouquetSI
@ kSystemSoftwareUpdateService
@ kServiceReplacementService
@ kIP_MACNotificationService
@ kTSContaining_INT_BAT_NIT
@ kHandOverLocalVariation
@ kHandOverAssociatedService
bool IsEventSimulcast(void) const
bool IsTargetListed(void) const
LinkageDescriptor(const unsigned char *data, int len=300)
QString MobileOriginTypeString(void) const
uint PrivateDataLength(void) const
const unsigned char * PrivateData(void) const
uint MobileHandOverType(void) const
bool HasMobileInitialServiceID(void) const
int LocalTimeOffsetWithPolarity(uint i) const
time_t TimeOfChangeUnix(uint i) const
QString CountryCodeString(uint i) const
uint CountryRegionId(uint i) const
uint CountryCode(uint i) const
LocalTimeOffsetDescriptor(const unsigned char *data, int len=300)
uint NextTimeOffset(uint i) const
bool LocalTimeOffsetPolarity(uint i) const
-1 if true, +1 if false (behind utc, ahead of utc, resp).
uint LocalTimeOffset(uint i) const
const unsigned char * TimeOfChangeData(uint i) const
QDateTime TimeOfChange(uint i) const
uint DescriptorLength(void) const
uint DescriptorTag(void) const
uint DescriptorTagExtension(void) const
virtual QString toString(void) const
const unsigned char * m_data
QString LanguageString(void) const
QString toString(void) const override
MessageDescriptor(const unsigned char *data, int len=300)
QString Message(void) const
int LanguageKey(void) const
uint MessageID(void) const
MosaicDescriptor(const unsigned char *data, int len=300)
MultilingualBouquetNameDescriptor(const unsigned char *data, int len=300)
MultilingualNetworkNameDescriptor(const unsigned char *data, int len=300)
MultilingualServiceNameDescriptor(const unsigned char *data, int len=300)
QString toString(void) const override
uint TransportStreamId(uint i) const
uint ServiceId(uint i) const
uint OriginalNetworkId(uint i) const
NVODReferenceDescriptor(const unsigned char *data, int len=300)
QString toString(void) const override
NetworkChangeNotifyDescriptor(const unsigned char *data, int len=300)
NetworkNameDescriptor(const unsigned char *data, int len=300)
QString toString(void) const override
QString ShortName(void) const
QString toString(void) const override
uint ChannelCount(void) const
uint ChannelID(uint i) const
uint ServiceID(uint i) const
uint ChannelType(uint i) const
OpenTVChannelListDescriptor(const unsigned char *data, int len=300)
uint ChannelNumber(uint i) const
uint ProgramIdLabel(void) const
QString toString(void) const override
PDCDescriptor(const unsigned char *data, int len=300)
ParentalRatingDescriptor(const unsigned char *data, int len=300)
ParentalRatingDescriptor(const std::vector< uint8_t > &data)
QString CountryCodeString(uint i) const
PartialTransportStreamDescriptor(const unsigned char *data, int len=300)
uint SmoothRate(void) const
uint SmoothBuf(void) const
uint PeakRate(void) const
QString toString(void) const override
PrivateDataSpecifierDescriptor(const unsigned char *data, int len=300)
PrivateDataSpecifierDescriptor(const std::vector< uint8_t > &data)
uint32_t PrivateDataSpecifier(void) const
PrivateUPCCablecomEpisodeTitleDescriptor(const unsigned char *data, int len=300)
int CanonicalLanguageKey(void) const
int LanguageKey(void) const
PrivateUPCCablecomEpisodeTitleDescriptor(const std::vector< uint8_t > &data)
QString LanguageString(void) const
QString CanonicalLanguageString(void) const
uint TextLength(void) const
S2SatelliteDeliverySystemDescriptor(const unsigned char *data, int len=300)
uint ScramblingSequenceSelector() const
uint MultipleInputStreamFlag() const
uint NotTimesliceFlag() const
QString toString(void) const override
S2XSatelliteDeliverySystemDescriptor(const unsigned char *data, int len=300)
QString toString(void) const override
QString toString(void) const override
SHDeliverySystemDescriptor(const unsigned char *data, int len=300)
bool IsVerticalRightPolarization(void) const
@ kInnerFEC_8_9_ConvolutionCodeRate
@ kInnerFEC_3_4_ConvolutionCodeRate
@ kInnerFEC_5_6_ConvolutionCodeRate
@ kInnerFEC_7_8_ConvolutionCodeRate
@ kInnerFEC_2_3_ConvolutionCodeRate
@ kInnerFEC_1_2_ConvolutionCodeRate
uint64_t FrequencykHz(void) const
double OrbitalPositionFloat() const
uint SymbolRate(void) const
uint FrequencyRaw(void) const
frequency 32 2.0
QString toString(void) const override
uint FECInner(void) const
uint Modulation(void) const
uint SymbolRateHz(void) const
bool IsHorizontalLeftPolarization(void) const
uint OrbitalPosition(void) const
orbital_position 16 6.0
SatelliteDeliverySystemDescriptor(const unsigned char *data, int len=300)
bool IsEast(void) const
west_east_flag 1 8.0
uint ModulationSystem(void) const
QString OrbitalPositionString(void) const
bool IsLinearPolarization(void) const
bool IsCircularPolarization(void) const
QString FECInnerString(void) const
QString ModulationString(void) const
QString PolarizationString() const
QString RollOffString(void) const
uint Polarization(void) const
QString ModulationSystemString(void) const
ScramblingDescriptor(const unsigned char *data, int len=300)
QString toString(void) const override
uint ScramblingMode(void) const
ServiceAvailabilityDescriptor(const unsigned char *data, int len=300)
uint ServiceType(void) const
bool IsDigitalAudio(void) const
@ kServiceTypeH264AVCSDDigitalTelevision
@ kServiceTypeHEVCDigitalTelevision
@ kServiceTypeEchoStarTV2
@ kServiceTypeHEVCUHDDigitalTelevision
@ kServiceTypeH264AVCFrameCompatiblePlanoStereoscopicHDNVODTimeShifted
@ kServiceTypeEchoStarTV4
@ kServiceTypeH264AVCHDNVODTimeShifted
@ kServiceTypeEchoStarTV3
@ kServiceTypeNVODTimeShifted
@ kServiceTypeEchoStarTV1
@ kServiceTypeAdvancedCodecDigitalRadioSound
@ kServiceTypeMPEG2HDDigitalTelevision
@ kServiceTypeH264AVCHDDigitalTelevision
@ kServiceTypeH264AVCFrameCompatiblePlanoStereoscopicHDNVODReference
@ kServiceTypeDataBroadcast
@ kServiceTypeH264AVCSDNVODTimeShifted
@ kServiceTypeNVODReference
@ kServiceTypeDigitalRadioSound
@ kServiceTypeH264AVCFrameCompatiblePlanoStereoscopicHDDigitalTelevision
@ kServiceTypeH264AVCHDNVODReference
@ kServiceTypeH264AVCSDNVODReference
@ kServiceTypeCommonInterface
@ kServiceTypeH264AVCMosaic
@ kServiceTypeDigitalTelevision
ServiceDescriptorMapping(const uint service_type)
bool IsTeletext(void) const
QString toString(void) const
QString ServiceShortName(void) const
QString toString(void) const override
uint ServiceProviderNameLength(void) const
QString ServiceProviderShortName(void) const
uint ServiceNameLength(void) const
ServiceDescriptor(const unsigned char *data, int len=300)
uint ServiceType(void) const
bool IsTeletext(void) const
QString ServiceName(void) const
bool IsDigitalAudio(void) const
QString ServiceProviderName(void) const
QString toString(void) const override
uint ServiceID(uint i) const
uint ServiceType(uint i) const
ServiceListDescriptor(const unsigned char *data, int len=300)
uint ServiceCount(void) const
ServiceMoveDescriptor(const unsigned char *data, int len=300)
uint OldOriginalNetworkID(void) const
uint OldTransportID(void) const
uint OldServiceID(void) const
QString toString(void) const override
ServiceRelocatedDescriptor(const unsigned char *data, int len=300)
QString EventShortName(void) const
QString LanguageString(void) const
QString CanonicalLanguageString(void) const
QString toString(void) const override
ShortEventDescriptor(const unsigned char *data, int len=300)
int LanguageKey(void) const
uint TextLength(void) const
int CanonicalLanguageKey(void) const
QString EventName(void) const
QString Text(const enc_override &encoding_override) const
uint EventNameLength(void) const
QString EventName(const enc_override &encoding_override) const
ShortSmoothingBufferDescriptor(const unsigned char *data, int len=300)
Sky Logical Channel Number descriptor.
uint ServiceType(size_t i) const
uint RegionRaw(void) const
uint Flags(size_t i) const
uint ChannelID(size_t i) const
QString toString(void) const override
uint RegionID(void) const
uint ServiceCount(void) const
uint LogicalChannelNumber(size_t i) const
uint ServiceID(size_t i) const
SkyLCNDescriptor(const unsigned char *data, int len=300)
This is used to label streams so the can be treated differently, for instance each stream may get it'...
uint ComponentTag(void) const
StreamIdentifierDescriptor(const unsigned char *data, int len=300)
QString toString(void) const override
QString toString(void) const override
StuffingDescriptor(const unsigned char *data, int len=300)
QString LanguageString(uint i) const
uint AncillaryPageID(uint i) const
uint SubtitleType(uint i) const
int LanguageKey(uint i) const
int CanonicalLanguageKey(uint i) const
SubtitlingDescriptor(const unsigned char *data, int len=300)
uint CompositionPageID(uint i) const
QString CanonicalLanguageString(uint i) const
QString toString(void) const override
uint StreamCount(void) const
SupplementaryAudioDescriptor(const unsigned char *data, int len=300)
QString LanguageString(void) const
uint ReservedFutureUse(void) const
uint EditorialClassification(void) const
int LanguageKey(void) const
QString toString(void) const override
uint LanguageCodePresent(void) const
QString toString(void) const override
uint TransposerFrequency(uint i, uint j) const
QString TransmissionModeString(void) const
uint CentreFrequency(int i, int j) const
uint TransmissionMode(void) const
std::vector< const unsigned char * > m_subCellPtrs
T2DeliverySystemDescriptor(const unsigned char *data, int len=300)
uint SubcellInfoLoopLength(uint i) const
uint BandwidthHz(void) const
uint NumCells(void) const
uint Bandwidth(void) const
QString GuardIntervalString(void) const
uint CellIDExtension(uint i, uint j) const
uint GuardInterval(void) const
QString SisoMisoString(void) const
std::vector< const unsigned char * > m_cellPtrs
uint OtherFrequencyFlag(void) const
uint SisoMiso(void) const
QString BandwidthString(void) const
uint FrequencyLoopLength(uint i) const
uint T2SystemID(void) const
uint CentreFrequency(uint i) const
uint CellID(uint i) const
TargetRegionDescriptor(const unsigned char *data, int len=300)
QString CountryCodeString(void) const
QString toString(void) const override
uint CountryCode(void) const
TargetRegionNameDescriptor(const unsigned char *data, int len=300)
uint CountryCode(void) const
int LanguageKey(void) const
QString toString(void) const override
QString LanguageString(void) const
QString CountryCodeString(void) const
TelephoneDescriptor(const unsigned char *data, int len=300)
uint TeletextPageNum(uint i) const
int LanguageKey(uint i) const
TeletextDescriptor(const unsigned char *data, int len=300)
uint StreamCount(void) const
uint TeletextMagazineNum(uint i) const
int CanonicalLanguageKey(uint i) const
QString toString(void) const override
QString LanguageString(uint i) const
uint TeletextType(uint i) const
QString CanonicalLanguageString(uint i) const
QString HierarchyString(void) const
uint Constellation(void) const
uint CodeRateLP(void) const
QString CodeRateHPString(void) const
uint Frequency(void) const
bool HighPriority(void) const
QString CodeRateLPString(void) const
bool NativeInterleaver(void) const
bool IsMPE_FECUsed(void) const
uint64_t FrequencyHz(void) const
QString GuardIntervalString(void) const
@ kHierarchyInfoNonHierarchicalNativeInterleaver
@ kHierarchyInfoNonHierarchicalInDepthInterleaver
@ kHierarchyInfoAlpha2InDepthInterleaver
@ kHierarchyInfoAlpha4InDepthInterleaver
@ kHierarchyInfoAlpha1InDepthInterleaver
@ kHierarchyInfoAlpha1NativeInterleaver
@ kHierarchyInfoAlpha2NativeInterleaver
@ kHierarchyInfoAlpha4NativeInterleaver
bool IsTimeSlicingIndicatorUsed(void) const
QString toString(void) const override
QString ConstellationString(void) const
uint BandwidthHz(void) const
uint GuardInterval(void) const
uint Hierarchy(void) const
TerrestrialDeliverySystemDescriptor(const unsigned char *data, int len=300)
uint TransmissionMode(void) const
uint CodeRateHP(void) const
uint Bandwidth(void) const
bool OtherFrequencyInUse(void) const
QString TransmissionModeString(void) const
QString BandwidthString(void) const
TimeShiftedEventDescriptor(const unsigned char *data, int len=300)
TimeShiftedServiceDescriptor(const unsigned char *data, int len=300)
TransportStreamDescriptor(const unsigned char *data, int len=300)
QString toString(void) const override
VBIDataDescriptor(const unsigned char *data, int len=300)
VBITeletextDescriptor(const unsigned char *data, int len=300)
MTV_PUBLIC time_t dvbdate2unix(const unsigned char *buf)
MTV_PUBLIC QDateTime dvbdate2qt(const unsigned char *buf)
MTV_PUBLIC QString dvb_decode_text(const unsigned char *src, uint length, const enc_override &encoding_override)
static QString coderate_inner(uint coderate)
std::vector< uint8_t > enc_override
static constexpr uint8_t byteBCD2int(uint8_t i)
static constexpr uint64_t byte4BCD2int64(uint8_t i, uint8_t j, uint8_t k, uint8_t l)
static constexpr uint8_t byteBCDH2int(uint8_t i)
static constexpr uint32_t byte3BCD2int(uint8_t i, uint8_t j, uint8_t k)
static constexpr uint8_t byteBCDL2int(uint8_t i)
static constexpr uint32_t byte4BCD2int(uint8_t i, uint8_t j, uint8_t k, uint8_t l)
MTV_PUBLIC QString dvb_decode_short_name(const unsigned char *src, uint raw_length)
static constexpr uint16_t byte2BCD2int(uint8_t i, uint8_t j)
int iso639_key_to_canonical_key(int iso639_2)
static QString iso639_key_to_str3(int code)
static int iso639_str3_to_key(const unsigned char *iso639_2)
std::vector< const unsigned char * > desc_list_t