Browse Source

mpegaudio: remove CONFIG_MPEGAUDIO_HP option

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>
tags/n0.8
Mans Rullgard 14 years ago
parent
commit
6bb6fb05ba
7 changed files with 6 additions and 64 deletions
  1. +0
    -3
      configure
  2. +0
    -8
      libavcodec/Makefile
  3. +0
    -10
      libavcodec/bfin/mathops.h
  4. +1
    -4
      libavcodec/mpegaudio.h
  5. +2
    -0
      libavcodec/mpegaudio_tablegen.h
  6. +0
    -37
      libavcodec/mpegaudiodec.c
  7. +3
    -2
      libavcodec/mpegaudioenc.c

+ 0
- 3
configure View File

@@ -94,7 +94,6 @@ Configuration options:
--enable-w32threads use Win32 threads [no] --enable-w32threads use Win32 threads [no]
--enable-x11grab enable X11 grabbing [no] --enable-x11grab enable X11 grabbing [no]
--disable-network disable network support [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) --enable-gray enable full grayscale support (slower color)
--disable-swscale-alpha disable alpha channel support in swscale --disable-swscale-alpha disable alpha channel support in swscale
--disable-fastdiv disable table-based division --disable-fastdiv disable table-based division
@@ -953,7 +952,6 @@ CONFIG_LIST="
mdct mdct
memalign_hack memalign_hack
mlib mlib
mpegaudio_hp
network network
nonfree nonfree
pic pic
@@ -1643,7 +1641,6 @@ enable ffmpeg
enable ffplay enable ffplay
enable ffprobe enable ffprobe
enable ffserver enable ffserver
enable mpegaudio_hp
enable network enable network
enable optimizations enable optimizations
enable protocols enable protocols


+ 0
- 8
libavcodec/Makefile View File

@@ -682,14 +682,6 @@ $(SUBDIR)cos_fixed_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF)
$(SUBDIR)sin_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF) $(SUBDIR)sin_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF)
$(M)./$< sin > $@ $(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 ifdef CONFIG_SMALL
$(SUBDIR)%_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DCONFIG_SMALL=1 $(SUBDIR)%_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DCONFIG_SMALL=1
else else


+ 0
- 10
libavcodec/bfin/mathops.h View File

@@ -24,7 +24,6 @@


#include "config.h" #include "config.h"


#if CONFIG_MPEGAUDIO_HP
#define MULH(X,Y) ({ int xxo; \ #define MULH(X,Y) ({ int xxo; \
__asm__ ( \ __asm__ ( \
"a1 = %2.L * %1.L (FU);\n\t" \ "a1 = %2.L * %1.L (FU);\n\t" \
@@ -34,15 +33,6 @@
"a1 = a1 >>> 16;\n\t" \ "a1 = a1 >>> 16;\n\t" \
"%0 = (a0 += a1);\n\t" \ "%0 = (a0 += a1);\n\t" \
: "=d" (xxo) : "d" (X), "d" (Y) : "A0","A1"); xxo; }) : "=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 */ /* signed 16x16 -> 32 multiply */
#define MUL16(a, b) ({ int xxo; \ #define MUL16(a, b) ({ int xxo; \


+ 1
- 4
libavcodec/mpegaudio.h View File

@@ -56,12 +56,9 @@


#define MP3_MASK 0xFFFE0CCF #define MP3_MASK 0xFFFE0CCF


#if CONFIG_MPEGAUDIO_HP
#ifndef FRAC_BITS
#define FRAC_BITS 23 /* fractional bits for sb_samples and dct */ #define FRAC_BITS 23 /* fractional bits for sb_samples and dct */
#define WFRAC_BITS 16 /* fractional bits for window */ #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 #endif


#define FRAC_ONE (1 << FRAC_BITS) #define FRAC_ONE (1 << FRAC_BITS)


+ 2
- 0
libavcodec/mpegaudio_tablegen.h View File

@@ -38,6 +38,8 @@ static uint32_t expval_table[512][16];
static float exp_table_float[512]; static float exp_table_float[512];
static float expval_table_float[512][16]; static float expval_table_float[512][16];


#define FRAC_BITS 23

static void mpegaudio_tableinit(void) static void mpegaudio_tableinit(void)
{ {
int i, value, exponent; int i, value, exponent;


+ 0
- 37
libavcodec/mpegaudiodec.c View File

@@ -31,7 +31,6 @@


/* /*
* TODO: * TODO:
* - in low precision mode, use more 16 bit multiplies in synth filter
* - test lsf / mpeg25 extensively. * - test lsf / mpeg25 extensively.
*/ */


@@ -540,24 +539,6 @@ static inline float round_sample(float *sum)


#define MLSS(rt, ra, rb) rt-=(ra)*(rb) #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 #else


static inline int round_sample(int64_t *sum) 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]; v = ff_mpa_enwindow[i];
#if CONFIG_FLOAT #if CONFIG_FLOAT
v *= 1.0 / (1LL<<(16 + FRAC_BITS)); v *= 1.0 / (1LL<<(16 + FRAC_BITS));
#elif WFRAC_BITS < 16
v = (v + (1 << (16 - WFRAC_BITS - 1))) >> (16 - WFRAC_BITS);
#endif #endif
window[i] = v; window[i] = v;
if ((i & 63) != 0) if ((i & 63) != 0)
@@ -652,8 +631,6 @@ static void apply_window_mp3_c(MPA_INT *synth_buf, MPA_INT *window,
OUT_INT *samples2; OUT_INT *samples2;
#if CONFIG_FLOAT #if CONFIG_FLOAT
float sum, sum2; float sum, sum2;
#elif FRAC_BITS <= 15
int sum, sum2;
#else #else
int64_t sum, sum2; int64_t sum, sum2;
#endif #endif
@@ -710,25 +687,11 @@ void ff_mpa_synth_filter(MPA_INT *synth_buf_ptr, int *synth_buf_offset,
{ {
register MPA_INT *synth_buf; register MPA_INT *synth_buf;
int offset; int offset;
#if FRAC_BITS <= 15
int32_t tmp[32];
int j;
#endif


offset = *synth_buf_offset; offset = *synth_buf_offset;
synth_buf = synth_buf_ptr + 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); dct32(synth_buf, sb_samples);
#endif

apply_window_mp3_c(synth_buf, window, dither_state, samples, incr); apply_window_mp3_c(synth_buf, window, dither_state, samples, incr);


offset = (offset - 32) & 511; offset = (offset - 32) & 511;


+ 3
- 2
libavcodec/mpegaudioenc.c View File

@@ -27,8 +27,9 @@
#include "avcodec.h" #include "avcodec.h"
#include "put_bits.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" #include "mpegaudio.h"


/* currently, cannot change these constants (need to modify /* currently, cannot change these constants (need to modify


Loading…
Cancel
Save