2 #include "ac3_decoder.h"
3 #include "ac3_internal.h"
5 int ac3_init (ac3dec_t * p_ac3dec)
7 //p_ac3dec->bit_stream.buffer = 0;
8 //p_ac3dec->bit_stream.i_available = 0;
13 int ac3_decode_frame (ac3dec_t * p_ac3dec, s16 * buffer)
17 if (parse_bsi (p_ac3dec))
20 for (i = 0; i < 6; i++) {
21 if (parse_audblk (p_ac3dec, i))
23 if (exponent_unpack (p_ac3dec))
25 bit_allocate (p_ac3dec);
26 mantissa_unpack (p_ac3dec);
27 if (p_ac3dec->bsi.acmod == 0x2)
30 downmix (p_ac3dec, buffer);
35 parse_auxdata (p_ac3dec);