25 #if defined(Q_OS_WIN) || defined(Q_OS_MAC)
26 # define htobe16(x) qToBigEndian(x)
27 # define htole16(x) qToLittleEndian(x)
28 # define be16toh(x) qFromBigEndian(x)
29 # define le16toh(x) qFromLittleEndian(x)
30 # define htobe32(x) qToBigEndian(x)
31 # define htole32(x) qToLittleEndian(x)
32 # define be32toh(x) qFromBigEndian(x)
33 # define le32toh(x) qFromLittleEndian(x)
34 # define htobe64(x) qToBigEndian(x)
35 # define htole64(x) qtoLittleEndian(x)
36 # define be64toh(x) qFromBigEndian(x)
37 # define le64toh(x) qFromLittleEndian(x)
38 #elif !defined(__FreeBSD__)
40 #elif defined(__FreeBSD__)
41 # include <sys/endian.h>
44 struct AudioMetadata {
47 ambisonic_type =
"periphonic";
48 ambisonic_channel_ordering =
"ACN";
49 ambisonic_normalization =
"SN3D";
50 for ( uint32_t t=0; t<4; t++ )
53 uint32_t ambisonic_order;
54 std::string ambisonic_type;
55 std::string ambisonic_channel_ordering;
56 std::string ambisonic_normalization;
57 uint32_t channel_map[4];
64 static const char *TRAK_TYPE_VIDE =
"vide";
67 static const char *TAG_STCO =
"stco";
68 static const char *TAG_CO64 =
"co64";
69 static const char *TAG_FREE =
"free";
70 static const char *TAG_MDAT =
"mdat";
71 static const char *TAG_XML =
"xml ";
72 static const char *TAG_HDLR =
"hdlr";
73 static const char *TAG_FTYP =
"ftyp";
74 static const char *TAG_ESDS =
"esds";
75 static const char *TAG_SOUN =
"soun";
76 static const char *TAG_SA3D =
"SA3D";
79 static const char *TAG_MOOV =
"moov";
80 static const char *TAG_UDTA =
"udta";
81 static const char *TAG_META =
"meta";
82 static const char *TAG_TRAK =
"trak";
83 static const char *TAG_MDIA =
"mdia";
84 static const char *TAG_MINF =
"minf";
85 static const char *TAG_STBL =
"stbl";
86 static const char *TAG_STSD =
"stsd";
87 static const char *TAG_UUID =
"uuid";
88 static const char *TAG_WAVE =
"wave";
91 static const char *TAG_NONE =
"NONE";
92 static const char *TAG_RAW_ =
"raw ";
93 static const char *TAG_TWOS =
"twos";
94 static const char *TAG_SOWT =
"sowt";
95 static const char *TAG_FL32 =
"fl32";
96 static const char *TAG_FL64 =
"fl64";
97 static const char *TAG_IN24 =
"in24";
98 static const char *TAG_IN32 =
"in32";
99 static const char *TAG_ULAW =
"ulaw";
100 static const char *TAG_ALAW =
"alaw";
101 static const char *TAG_LPCM =
"lpcm";
102 static const char *TAG_MP4A =
"mp4a";
104 static const char * SOUND_SAMPLE_DESCRIPTIONS[12] = {
119 static const char * CONTAINERS_LIST[20] = {