38 16, 20, 24, 0, 0, 0, 0, 0,
39 0, 0, 0, 0, 0, 0, 0, 0,
43 1, 2, 3, 4, 3, 4, 5, 3, 4, 5, 4, 5, 6, 4, 5, 4,
44 5, 6, 5, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
69 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
74 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1
98 return (in & 8 ? 44100 : 48000) << (in & 7) ;
105 for (i = 0; i < 13; i++)
116 for (i = 0; i < 13; i++)
117 layout |=
thd_layout[i] * ((chanmap >> i) & 1);
124 int has_extension, extensions = 0;
129 if (
AV_RB32(buf) == 0xf8726fba) {
130 has_extension = buf[25] & 1;
132 extensions = buf[26] >> 4;
133 size += 2 + extensions * 2;
147 int ratebits, channel_arrangement, header_size;
153 if (header_size < 0 || gb->size_in_bits < header_size << 3) {
181 channel_arrangement =
get_bits(gb, 5);
198 channel_arrangement =
get_bits(gb, 5);
204 channel_arrangement =
get_bits(gb, 13);
245 const uint8_t **poutbuf,
int *poutbuf_size,
262 for (i = 0; i < buf_size; i++) {
264 if ((mp->
pc.
state & 0xfffffffe) == 0xf8726fba &&
295 if (mp->
pc.
index + buf_size < 2) {
319 sync_present = (
AV_RB32(buf + 4) & 0xfffffffe) == 0xf8726fba;
328 parity_bits ^= buf[p++];
329 parity_bits ^= buf[p++];
331 if (i < 0 || buf[p-2] & 0x80) {
332 parity_bits ^= buf[p++];
333 parity_bits ^= buf[p++];
337 if ((((parity_bits >> 4) ^ parity_bits) & 0xF) != 0xF) {
360 #if FF_API_REQUEST_CHANNELS
381 #if FF_API_REQUEST_CHANNELS
420 *poutbuf_size = buf_size;