changeset 7684:5f24c8606623 libavcodec

cosmetics: rename some functions from *get_* to *decode_*
author jbr
date Sun, 24 Aug 2008 22:55:08 +0000
parents c4e4df98b703
children c4b959c09dff
files Makefile ac3dec.h ac3dec_data.c
diffstat 3 files changed, 24 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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 */
--- 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] = {