51 int bs_code, sr_code, bps_code;
54 if ((
get_bits(gb, 15) & 0x7FFF) != 0x7FFC) {
76 "invalid channel mode: %d\n", fi->
ch_mode);
82 if (bps_code == 3 || bps_code == 7) {
84 "invalid sample size code (%d)\n",
93 "broken stream, invalid padding\n");
101 "sample/frame number invalid; utf8 fscked\n");
108 "reserved blocksize code: 0\n");
110 }
else if (bs_code == 6) {
112 }
else if (bs_code == 7) {
121 }
else if (sr_code == 12) {
122 fi->samplerate =
get_bits(gb, 8) * 1000;
123 }
else if (sr_code == 13) {
125 }
else if (sr_code == 14) {
126 fi->samplerate =
get_bits(gb, 16) * 10;
129 "illegal sample rate code %d\n",
139 "header crc mismatch\n");
155 count += ch * ((7+bps+7)/8);
158 count += (( 2*bps+1) * blocksize + 7) / 8;
160 count += ( ch*bps * blocksize + 7) / 8;
189 *streaminfo_start = &avctx->
extradata[8];
209 s->max_blocksize =
get_bits(&gb, 16);
213 s->max_blocksize = 16;
235 int *last,
int *type,
int *
size)
237 int tmp = bytestream_get_byte(&block_header);
243 *size = bytestream_get_be24(&block_header);