Tag Parser  9.1.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
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 
10 namespace TagParser {
11 
13 
14 struct TAG_PARSER_EXPORT AacHcb {
15  std::uint8_t offset;
16  std::uint8_t extraBits;
17 };
18 
19 struct TAG_PARSER_EXPORT AacHcb2Pair {
20  std::uint8_t bits;
21  std::int8_t x;
22  std::int8_t y;
23 };
24 
25 struct 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 
33 struct TAG_PARSER_EXPORT AacHcbBinPair {
34  std::uint8_t isLeaf;
35  std::int8_t data[2];
36 };
37 
38 struct TAG_PARSER_EXPORT AacHcbBinQuad {
39  std::uint8_t isLeaf;
40  std::int8_t data[4];
41 };
42 
43 extern const AacHcb *const aacHcbTable[];
44 extern const AacHcb2Pair *const aacHcb2PairTable[];
45 extern const AacHcb2Quad *const aacHcb2QuadTable[];
46 extern const AacHcbBinPair *const aacHcbBinTable[];
47 extern const std::uint8_t aacHcbN[];
48 extern const int aacHcb2QuadTableSize[];
49 extern const int aacHcb2PairTableSize[];
50 extern const int aacHcbBinTableSize[];
51 
52 extern const AacHcb aacHcb1Step1[];
53 extern const AacHcb2Quad aacHcb1Step2[];
54 extern const AacHcb aacHcb2Step1[];
55 extern const AacHcb2Quad aacHcb2Step2[];
56 extern const AacHcbBinQuad aacHcb3[];
57 extern const AacHcb aacHcb4Step1[];
58 extern const AacHcb2Quad aacHcb4Step2[];
59 extern const AacHcbBinPair aacHcb5[];
60 extern const AacHcb aacHcb6Step1[];
61 extern const AacHcb2Pair aacHcb6Step2[];
62 extern const AacHcbBinPair aacHcb7[];
63 extern const AacHcb aacHcb8Step1[];
64 extern const AacHcb2Pair aacHcb8Step2[];
65 extern const AacHcbBinPair aacHcb9[];
66 extern const AacHcb aacHcb10Step1[];
67 extern const AacHcb2Pair aacHcb10Step2[];
68 extern const AacHcb aacHcb11Step1[];
69 extern const AacHcb2Pair aacHcb11Step2[];
70 extern const std::uint8_t aacHcbSf[][2];
71 
72 extern const std::int8_t tHuffmanEnv15dB[120][2];
73 extern const std::int8_t fHuffmanEnv15dB[120][2];
74 extern const std::int8_t tHuffmanEnvBal15dB[48][2];
75 extern const std::int8_t fHuffmanEnvBal15dB[48][2];
76 extern const std::int8_t tHuffmanEnv30dB[62][2];
77 extern const std::int8_t fHuffmanEnv30dB[62][2];
78 extern const std::int8_t tHuffmanEnvBal30dB[24][2];
79 extern const std::int8_t fHuffmanEnvBal30dB[24][2];
80 extern const std::int8_t tHuffmanNoise30dB[62][2];
81 extern const std::int8_t tHuffmanNoiseBal30dB[24][2];
82 
84 
85 } // namespace TagParser
86 
87 #endif // TAG_PARSER_AACCODEBOOK_H
TagParser
Contains all classes and functions of the TagInfo library.
Definition: aaccodebook.h:10
TAG_PARSER_EXPORT
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.