tagparser/av1/av1configuration.h

51 lines
1.1 KiB
C
Raw Normal View History

2018-08-23 23:18:57 +02:00
#ifndef TAG_PARSER_AV1CONFIGURATION_H
#define TAG_PARSER_AV1CONFIGURATION_H
#include "../global.h"
2019-03-13 19:06:42 +01:00
#include <cstdint>
2018-08-23 23:18:57 +02:00
2019-06-10 22:49:11 +02:00
namespace CppUtilities {
2018-08-23 23:18:57 +02:00
class BinaryReader;
}
namespace TagParser {
class MediaFormat;
class Diagnostics;
struct TAG_PARSER_EXPORT Av1Configuration {
Av1Configuration();
2019-03-13 19:06:42 +01:00
std::uint64_t markerAndVersion;
std::uint64_t profileAndLevel;
std::uint8_t tier;
std::uint8_t highBitdepth;
std::uint8_t twelveBit;
std::uint8_t monochrome;
std::uint8_t chromaSubsamplingX;
std::uint8_t chromaSubsamplingY;
std::uint16_t chromaSamplePosition;
2019-06-10 22:49:11 +02:00
void parse(CppUtilities::BinaryReader &reader, std::uint64_t maxSize, Diagnostics &diag);
2018-08-23 23:18:57 +02:00
};
/*!
* \brief Constructs an empty AVC configuration.
*/
inline Av1Configuration::Av1Configuration()
: markerAndVersion(0)
, profileAndLevel(0)
, tier(0)
, highBitdepth(0)
, twelveBit(0)
, monochrome(0)
, chromaSubsamplingX(0)
, chromaSubsamplingY(0)
, chromaSamplePosition(0)
{
}
} // namespace TagParser
#endif // TAG_PARSER_AV1CONFIGURATION_H