Tag Parser 12.5.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
aaccodebook.h
Go to the documentation of this file.
1#ifndef TAG_PARSER_AACCODEBOOK_H
2#define TAG_PARSER_AACCODEBOOK_H
3
4// NOTE: The AAC parser is still WIP. It does not work yet and its API/ABI may change even in patch releases.
5
6#include "../global.h"
7
8#include <cstdint>
9
10namespace TagParser {
11
13
14struct TAG_PARSER_EXPORT AacHcb {
15 std::uint8_t offset;
16 std::uint8_t extraBits;
17};
18
19struct TAG_PARSER_EXPORT AacHcb2Pair {
20 std::uint8_t bits;
21 std::int8_t x;
22 std::int8_t y;
23};
24
25struct TAG_PARSER_EXPORT AacHcb2Quad {
26 std::uint8_t bits;
27 std::int8_t x;
28 std::int8_t y;
29 std::int8_t v;
30 std::int8_t w;
31};
32
33struct TAG_PARSER_EXPORT AacHcbBinPair {
34 std::uint8_t isLeaf;
35 std::int8_t data[2];
36};
37
38struct TAG_PARSER_EXPORT AacHcbBinQuad {
39 std::uint8_t isLeaf;
40 std::int8_t data[4];
41};
42
43extern const AacHcb *const aacHcbTable[];
44extern const AacHcb2Pair *const aacHcb2PairTable[];
45extern const AacHcb2Quad *const aacHcb2QuadTable[];
46extern const AacHcbBinPair *const aacHcbBinTable[];
47extern const std::uint8_t aacHcbN[];
48extern const int aacHcb2QuadTableSize[];
49extern const int aacHcb2PairTableSize[];
50extern const int aacHcbBinTableSize[];
51
52extern const AacHcb aacHcb1Step1[];
53extern const AacHcb2Quad aacHcb1Step2[];
54extern const AacHcb aacHcb2Step1[];
55extern const AacHcb2Quad aacHcb2Step2[];
56extern const AacHcbBinQuad aacHcb3[];
57extern const AacHcb aacHcb4Step1[];
58extern const AacHcb2Quad aacHcb4Step2[];
59extern const AacHcbBinPair aacHcb5[];
60extern const AacHcb aacHcb6Step1[];
61extern const AacHcb2Pair aacHcb6Step2[];
62extern const AacHcbBinPair aacHcb7[];
63extern const AacHcb aacHcb8Step1[];
64extern const AacHcb2Pair aacHcb8Step2[];
65extern const AacHcbBinPair aacHcb9[];
66extern const AacHcb aacHcb10Step1[];
67extern const AacHcb2Pair aacHcb10Step2[];
68extern const AacHcb aacHcb11Step1[];
69extern const AacHcb2Pair aacHcb11Step2[];
70extern const std::uint8_t aacHcbSf[][2];
71
72extern const std::int8_t tHuffmanEnv15dB[120][2];
73extern const std::int8_t fHuffmanEnv15dB[120][2];
74extern const std::int8_t tHuffmanEnvBal15dB[48][2];
75extern const std::int8_t fHuffmanEnvBal15dB[48][2];
76extern const std::int8_t tHuffmanEnv30dB[62][2];
77extern const std::int8_t fHuffmanEnv30dB[62][2];
78extern const std::int8_t tHuffmanEnvBal30dB[24][2];
79extern const std::int8_t fHuffmanEnvBal30dB[24][2];
80extern const std::int8_t tHuffmanNoise30dB[62][2];
81extern const std::int8_t tHuffmanNoiseBal30dB[24][2];
82
84
85} // namespace TagParser
86
87#endif // TAG_PARSER_AACCODEBOOK_H
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Definition global.h:14
Contains all classes and functions of the TagInfo library.
Definition aaccodebook.h:10