4#include <QCoreApplication>
25 bool offset = (
m_data[3] & 0xf8) == 0x80;
26 return m_data + ((offset) ? 4 : 3);
34 bool offset = (
m_data[3] & 0xf8) == 0x80;
39 uint compression_type)
const
78 if (properties_raw.contains(
"6|CC"))
81 if (properties_raw.contains(
"7|Stereo"))
88 QString
prefix = QString(
"");
100 else if (
m_data[2] == 0x7d)
102 else if (
m_data[2] == 0x7e)
114 QString
id = QString(
"%1%2%3").arg(
prefix, series).arg(episode, 4, 0);
121 QString
prefix = QString(
"");
128 else if (
m_data[2] == 0x7d)
130 else if (
m_data[2] == 0x7e)
136 ((
m_data[6] & 0xc0) >> 0x06);
138 QString
id = QString(
"%1%2").arg(
prefix).arg(series, 8, 0);
145 std::array<uint8_t,5> mjd {};
177 case 0x01:
return 1.0 / 4;
178 case 0x02:
return 1.5 / 4;
179 case 0x03:
return 2.0 / 4;
180 case 0x04:
return 2.5 / 4;
181 case 0x05:
return 3.0 / 4;
182 case 0x06:
return 3.5 / 4;
183 case 0x07:
return 4.0 / 4;
207 QStringList advisories;
210 advisories.append(
"S");
212 advisories.append(
"L");
214 advisories.append(
"mQ");
216 advisories.append(
"FV");
218 advisories.append(
"V");
220 advisories.append(
"mK");
222 advisories.append(
"N");
224 return advisories.join(
",");
266 QStringList advisories;
269 advisories.append(
"FV");
271 advisories.append(
"V");
273 advisories.append(
"S");
275 advisories.append(
"L");
277 advisories.append(
"D");
279 return advisories.join(
",");
305 static const std::array<const std::string,kThemeLast> s_themes =
307 "",
"Movie",
"Sports",
"News/Business",
"Family/Children",
"Education",
308 "Series/Special",
"Music/Art",
"Religious",
"Off-Air"
312 return QString::fromStdString(s_themes[theme_type]);
319 static const std::array<const std::string,kThemeLast> s_themes
321 "",
"Movie",
"Sports",
"News/Business",
"Family/Children",
"Education",
322 "Series/Special",
"Music/Art",
"Religious",
"Off-Air"
325 for (
uint i = 1; i < 10; i++)
326 if (theme_type.toStdString() == s_themes[i])
356 QMap<uint,QString>::const_iterator it =
499 "Holiday-children special");
661 "Hydroplane racing");
665 "Motorcycle racing");
705 "Mixed martial arts");
QString atsc_huffman2_to_string(const unsigned char *compressed, uint length, uint table)
uint Nibble2(uint i) const
static QMutex s_categoryLock
uint Nibble1(uint i) const
uint UserNibble(uint i) const
QString toString() const override
DishThemeType GetTheme(void) const
static QMap< uint, QString > s_dishCategoryDesc
static QMap< uint, QString > s_themeDesc
static volatile bool s_dishCategoryDescExists
QString GetCategory(void) const
QString Description(uint compression_type) const
const unsigned char * DescriptionRaw(void) const
uint DescriptionRawLength(void) const
static QMutex s_mpaaRatingsLock
QString advisory(void) const
uint rating_raw(void) const
QString rating(void) const
uint advisory_raw(void) const
static QMap< uint, QString > s_mpaaRatingsDesc
static bool s_mpaaRatingsExists
uint stars_raw(void) const
QString Name(uint compression_type) const
uint SubtitleProperties(uint compression_type) const
void decompress_properties(uint compression_type) const
static bool s_decompressed
bool HasProperties(void) const
static uint s_subtitleProps
uint AudioProperties(uint compression_type) const
static bool s_vchipRatingsExists
QString rating(void) const
static QMutex s_vchipRatingsLock
static QMap< uint, QString > s_vchipRatingsDesc
uint advisory_raw(void) const
uint rating_raw(void) const
QString advisory(void) const
uint DescriptorLength(void) const
const unsigned char * m_data
QString dish_theme_type_to_string(uint theme_type)
DishThemeType string_to_dish_theme_type(const QString &theme_type)
MTV_PUBLIC QDateTime dvbdate2qt(const unsigned char *buf)