# HG changeset patch # User jbr # Date 1219618508 0 # Node ID 5f24c8606623fd4cc1648832c39a9f4da98d1c75 # Parent c4e4df98b703b28431fb142cd81ced006e3ee70b cosmetics: rename some functions from *get_* to *decode_* diff -r c4e4df98b703 -r 5f24c8606623 Makefile --- a/Makefile Sun Aug 24 08:41:20 2008 +0000 +++ b/Makefile Sun Aug 24 22:55:08 2008 +0000 @@ -27,7 +27,7 @@ OBJS-$(CONFIG_AAC_DECODER) += aac.o aactab.o mdct.o fft.o OBJS-$(CONFIG_AASC_DECODER) += aasc.o -OBJS-$(CONFIG_AC3_DECODER) += ac3dec.o ac3tab.o ac3dec_data.o ac3.o mdct.o fft.o +OBJS-$(CONFIG_AC3_DECODER) += eac3dec.o ac3dec.o ac3tab.o ac3dec_data.o ac3.o mdct.o fft.o OBJS-$(CONFIG_AC3_ENCODER) += ac3enc.o ac3tab.o ac3.o OBJS-$(CONFIG_ALAC_DECODER) += alac.o OBJS-$(CONFIG_ALAC_ENCODER) += alacenc.o lpc.o diff -r c4e4df98b703 -r 5f24c8606623 ac3dec.h --- a/ac3dec.h Sun Aug 24 08:41:20 2008 +0000 +++ b/ac3dec.h Sun Aug 24 22:55:08 2008 +0000 @@ -82,7 +82,7 @@ int phase_flags[18]; ///< phase flags (phsflg) int num_cpl_subbands; ///< number of coupling sub bands (ncplsubnd) int num_cpl_bands; ///< number of coupling bands (ncplbnd) - int cpl_band_struct[18]; ///< coupling band structure (cplbndstrc) + uint8_t cpl_band_struct[18]; ///< coupling band structure (cplbndstrc) int firstchincpl; ///< first channel in coupling int first_cpl_coords[AC3_MAX_CHANNELS]; ///< first coupling coordinates states (firstcplcos) int cpl_coords[AC3_MAX_CHANNELS][18]; ///< coupling coordinates (cplco) @@ -168,4 +168,16 @@ ///@} } AC3DecodeContext; +/** + * Parse the E-AC-3 frame header. + * This parses both the bit stream info and audio frame header. + */ +int ff_eac3_parse_header(AC3DecodeContext *s); + +/** + * Decode mantissas in a single channel for the entire frame. + * This is used when AHT mode is enabled. + */ +void ff_eac3_decode_transform_coeffs_aht_ch(AC3DecodeContext *s, int ch); + #endif /* FFMPEG_AC3DEC_H */ diff -r c4e4df98b703 -r 5f24c8606623 ac3dec_data.c --- a/ac3dec_data.c Sun Aug 24 08:41:20 2008 +0000 +++ b/ac3dec_data.c Sun Aug 24 22:55:08 2008 +0000 @@ -87,18 +87,19 @@ /** * Table E3.6, Gk=2 & Gk=4, B * Large mantissa inverse quantization, negative mantissa remapping offsets + * Table values from the spec are right-shifted by 8 to simplify calculations. * ff_eac3_gaq_remap_3_4_b[hebap-8][Gk=2,4] */ const int16_t ff_eac3_gaq_remap_2_4_b[9][2] = { - { -5461, -1170}, - { -11703, -4915}, - { -14199, -6606}, - { -15327, -7412}, - { -15864, -7805}, - { -16126, -7999}, - { -16255, -8096}, - { -16320, -8144}, - { -16352, -8168} + { -22, -5 }, + { -46, -20 }, + { -56, -26 }, + { -60, -29 }, + { -62, -31 }, + { -63, -32 }, + { -64, -32 }, + { -64, -32 }, + { -64, -32 }, }; static const int16_t vq_hebap1[4][6] = {