mpegaudio: remove CONFIG_MPEGAUDIO_HP option
authorMans Rullgard <mans@mansr.com>
Mon, 9 May 2011 11:40:37 +0000 (12:40 +0100)
committerMans Rullgard <mans@mansr.com>
Mon, 9 May 2011 16:30:12 +0000 (17:30 +0100)
The low quality mode is off by default and never tested.  The high
quality mode is also plenty fast enough.

Signed-off-by: Mans Rullgard <mans@mansr.com>
configure
libavcodec/Makefile
libavcodec/bfin/mathops.h
libavcodec/mpegaudio.h
libavcodec/mpegaudio_tablegen.h
libavcodec/mpegaudiodec.c
libavcodec/mpegaudioenc.c

index 29440d8..955a568 100755 (executable)
--- a/configure
+++ b/configure
@@ -94,7 +94,6 @@ Configuration options:
   --enable-w32threads      use Win32 threads [no]
   --enable-x11grab         enable X11 grabbing [no]
   --disable-network        disable network support [no]
-  --disable-mpegaudio-hp   faster (but less accurate) MPEG audio decoding [no]
   --enable-gray            enable full grayscale support (slower color)
   --disable-swscale-alpha  disable alpha channel support in swscale
   --disable-fastdiv        disable table-based division
@@ -953,7 +952,6 @@ CONFIG_LIST="
     mdct
     memalign_hack
     mlib
-    mpegaudio_hp
     network
     nonfree
     pic
@@ -1643,7 +1641,6 @@ enable ffmpeg
 enable ffplay
 enable ffprobe
 enable ffserver
-enable mpegaudio_hp
 enable network
 enable optimizations
 enable protocols
index 1d8452a..996b9b4 100644 (file)
@@ -682,14 +682,6 @@ $(SUBDIR)cos_fixed_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF)
 $(SUBDIR)sin_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF)
        $(M)./$< sin > $@
 
-ifdef CONFIG_MPEGAUDIO_HP
-$(SUBDIR)mpegaudio_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DFRAC_BITS=23
-$(SUBDIR)mpegaudio_tablegen.ho: CPPFLAGS += -DFRAC_BITS=23
-else
-$(SUBDIR)mpegaudio_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DFRAC_BITS=15
-$(SUBDIR)mpegaudio_tablegen.ho: CPPFLAGS += -DFRAC_BITS=15
-endif
-
 ifdef CONFIG_SMALL
 $(SUBDIR)%_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DCONFIG_SMALL=1
 else
index db527bf..bbee493 100644 (file)
@@ -24,7 +24,6 @@
 
 #include "config.h"
 
-#if CONFIG_MPEGAUDIO_HP
 #define MULH(X,Y) ({ int xxo;                           \
     __asm__ (                                               \
         "a1 = %2.L * %1.L (FU);\n\t"                    \
         "a1 = a1 >>> 16;\n\t"                           \
         "%0 = (a0 += a1);\n\t"                          \
         : "=d" (xxo) : "d" (X), "d" (Y) : "A0","A1"); xxo; })
-#else
-#define MULH(X,Y) ({ int xxo;                           \
-    __asm__ (                                               \
-        "a1 = %2.H * %1.L (IS,M);\n\t"                  \
-        "a0 = %1.H * %2.H, a1+= %1.H * %2.L (IS,M);\n\t"\
-        "a1 = a1 >>> 16;\n\t"                           \
-        "%0 = (a0 += a1);\n\t"                          \
-        : "=d" (xxo) : "d" (X), "d" (Y) : "A0","A1"); xxo; })
-#endif
 
 /* signed 16x16 -> 32 multiply */
 #define MUL16(a, b) ({ int xxo;                         \
index 870743c..f12b897 100644 (file)
 
 #define MP3_MASK 0xFFFE0CCF
 
-#if CONFIG_MPEGAUDIO_HP
+#ifndef FRAC_BITS
 #define FRAC_BITS   23   /* fractional bits for sb_samples and dct */
 #define WFRAC_BITS  16   /* fractional bits for window */
-#else
-#define FRAC_BITS   15   /* fractional bits for sb_samples and dct */
-#define WFRAC_BITS  14   /* fractional bits for window */
 #endif
 
 #define FRAC_ONE    (1 << FRAC_BITS)
index ccaaf0b..6bde277 100644 (file)
@@ -38,6 +38,8 @@ static uint32_t expval_table[512][16];
 static float exp_table_float[512];
 static float expval_table_float[512][16];
 
+#define FRAC_BITS 23
+
 static void mpegaudio_tableinit(void)
 {
     int i, value, exponent;
index 024d618..c18d752 100644 (file)
@@ -31,7 +31,6 @@
 
 /*
  * TODO:
- *  - in low precision mode, use more 16 bit multiplies in synth filter
  *  - test lsf / mpeg25 extensively.
  */
 
@@ -540,24 +539,6 @@ static inline float round_sample(float *sum)
 
 #define MLSS(rt, ra, rb) rt-=(ra)*(rb)
 
-#elif FRAC_BITS <= 15
-
-static inline int round_sample(int *sum)
-{
-    int sum1;
-    sum1 = (*sum) >> OUT_SHIFT;
-    *sum &= (1<<OUT_SHIFT)-1;
-    return av_clip(sum1, OUT_MIN, OUT_MAX);
-}
-
-/* signed 16x16 -> 32 multiply add accumulate */
-#define MACS(rt, ra, rb) MAC16(rt, ra, rb)
-
-/* signed 16x16 -> 32 multiply */
-#define MULS(ra, rb) MUL16(ra, rb)
-
-#define MLSS(rt, ra, rb) MLS16(rt, ra, rb)
-
 #else
 
 static inline int round_sample(int64_t *sum)
@@ -624,8 +605,6 @@ void av_cold RENAME(ff_mpa_synth_init)(MPA_INT *window)
         v = ff_mpa_enwindow[i];
 #if CONFIG_FLOAT
         v *= 1.0 / (1LL<<(16 + FRAC_BITS));
-#elif WFRAC_BITS < 16
-        v = (v + (1 << (16 - WFRAC_BITS - 1))) >> (16 - WFRAC_BITS);
 #endif
         window[i] = v;
         if ((i & 63) != 0)
@@ -652,8 +631,6 @@ static void apply_window_mp3_c(MPA_INT *synth_buf, MPA_INT *window,
     OUT_INT *samples2;
 #if CONFIG_FLOAT
     float sum, sum2;
-#elif FRAC_BITS <= 15
-    int sum, sum2;
 #else
     int64_t sum, sum2;
 #endif
@@ -710,25 +687,11 @@ void ff_mpa_synth_filter(MPA_INT *synth_buf_ptr, int *synth_buf_offset,
 {
     register MPA_INT *synth_buf;
     int offset;
-#if FRAC_BITS <= 15
-    int32_t tmp[32];
-    int j;
-#endif
 
     offset = *synth_buf_offset;
     synth_buf = synth_buf_ptr + offset;
 
-#if FRAC_BITS <= 15
-    dct32(tmp, sb_samples);
-    for(j=0;j<32;j++) {
-        /* NOTE: can cause a loss in precision if very high amplitude
-           sound */
-        synth_buf[j] = av_clip_int16(tmp[j]);
-    }
-#else
     dct32(synth_buf, sb_samples);
-#endif
-
     apply_window_mp3_c(synth_buf, window, dither_state, samples, incr);
 
     offset = (offset - 32) & 511;
index 65fac2a..e6f2e3b 100644 (file)
@@ -27,8 +27,9 @@
 #include "avcodec.h"
 #include "put_bits.h"
 
-#undef  CONFIG_MPEGAUDIO_HP
-#define CONFIG_MPEGAUDIO_HP 0
+#define FRAC_BITS   15   /* fractional bits for sb_samples and dct */
+#define WFRAC_BITS  14   /* fractional bits for window */
+
 #include "mpegaudio.h"
 
 /* currently, cannot change these constants (need to modify