summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2008-08-24 22:55:08 +0000
committerJustin Ruggles <justin.ruggles@gmail.com>2008-08-24 22:55:08 +0000
commite23e4de3aeaef701fbfa1cf6c9b4d76a01f015ff (patch)
tree7f7f5872cc03fc8b79da66a74c2d72dd17e035e9 /libavcodec
parent547ea47d4fb2792e4385f2fadc32dbbcc60a2cc0 (diff)
cosmetics: rename some functions from *get_* to *decode_*
Originally committed as revision 14952 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/Makefile2
-rw-r--r--libavcodec/ac3dec.h14
-rw-r--r--libavcodec/ac3dec_data.c19
3 files changed, 24 insertions, 11 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index e749b48343..a138625520 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -27,7 +27,7 @@ OBJS-$(CONFIG_ENCODERS) += faandct.o jfdctfst.o jfdctint.o
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 --git a/libavcodec/ac3dec.h b/libavcodec/ac3dec.h
index 9e44019b14..d78fa68102 100644
--- a/libavcodec/ac3dec.h
+++ b/libavcodec/ac3dec.h
@@ -82,7 +82,7 @@ typedef struct {
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 @@ typedef struct {
///@}
} 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 --git a/libavcodec/ac3dec_data.c b/libavcodec/ac3dec_data.c
index a04bbc0c53..5a2312fb7b 100644
--- a/libavcodec/ac3dec_data.c
+++ b/libavcodec/ac3dec_data.c
@@ -87,18 +87,19 @@ const int16_t ff_eac3_gaq_remap_2_4_a[9][2] = {
/**
* 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] = {