Commit 6d74e3c6 authored by Nedeljko Babic's avatar Nedeljko Babic Committed by Michael Niedermayer

Optimization of MP3 decoders for MIPS

MP3 fixed and floating point decoders are optimized
 for MIPS architecture.
Signed-off-by: 's avatarNedeljko Babic <nbabic@mips.com>
Reviewed-by: 's avatarVitor Sessak <vitor1001@gmail.com>
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 4ea70511
...@@ -11,3 +11,5 @@ MIPSFPU-OBJS-$(CONFIG_AMRWB_DECODER) += mips/acelp_filters_mips.o \ ...@@ -11,3 +11,5 @@ MIPSFPU-OBJS-$(CONFIG_AMRWB_DECODER) += mips/acelp_filters_mips.o \
mips/amrwbdec_mips.o \ mips/amrwbdec_mips.o \
mips/celp_math_mips.o \ mips/celp_math_mips.o \
mips/acelp_vectors_mips.o mips/acelp_vectors_mips.o
MIPSFPU-OBJS-$(CONFIG_MPEGAUDIODSP) += mips/mpegaudiodsp_mips_float.o
MIPSDSPR1-OBJS-$(CONFIG_MPEGAUDIODSP) += mips/mpegaudiodsp_mips_fixed.o
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -1169,6 +1169,17 @@ found2: ...@@ -1169,6 +1169,17 @@ found2:
} }
} }
#if CONFIG_FLOAT
#if HAVE_MIPSFPU
# include "mips/compute_antialias_float.h"
#endif /* HAVE_MIPSFPU */
#else
#if HAVE_MIPSDSPR1
# include "mips/compute_antialias_fixed.h"
#endif /* HAVE_MIPSDSPR1 */
#endif /* CONFIG_FLOAT */
#ifndef compute_antialias
#if CONFIG_FLOAT #if CONFIG_FLOAT
#define AA(j) do { \ #define AA(j) do { \
float tmp0 = ptr[-1-j]; \ float tmp0 = ptr[-1-j]; \
...@@ -1215,6 +1226,7 @@ static void compute_antialias(MPADecodeContext *s, GranuleDef *g) ...@@ -1215,6 +1226,7 @@ static void compute_antialias(MPADecodeContext *s, GranuleDef *g)
ptr += 18; ptr += 18;
} }
} }
#endif /* compute_antialias */
static void compute_imdct(MPADecodeContext *s, GranuleDef *g, static void compute_imdct(MPADecodeContext *s, GranuleDef *g,
INTFLOAT *sb_samples, INTFLOAT *mdct_buf) INTFLOAT *sb_samples, INTFLOAT *mdct_buf)
......
...@@ -43,4 +43,6 @@ void ff_mpadsp_init(MPADSPContext *s) ...@@ -43,4 +43,6 @@ void ff_mpadsp_init(MPADSPContext *s)
if (ARCH_ARM) ff_mpadsp_init_arm(s); if (ARCH_ARM) ff_mpadsp_init_arm(s);
if (HAVE_MMX) ff_mpadsp_init_mmx(s); if (HAVE_MMX) ff_mpadsp_init_mmx(s);
if (HAVE_ALTIVEC) ff_mpadsp_init_altivec(s); if (HAVE_ALTIVEC) ff_mpadsp_init_altivec(s);
if (HAVE_MIPSFPU) ff_mpadsp_init_mipsfpu(s);
if (HAVE_MIPSDSPR1) ff_mpadsp_init_mipsdspr1(s);
} }
...@@ -56,6 +56,8 @@ void ff_mpa_synth_filter_float(MPADSPContext *s, ...@@ -56,6 +56,8 @@ void ff_mpa_synth_filter_float(MPADSPContext *s,
void ff_mpadsp_init_arm(MPADSPContext *s); void ff_mpadsp_init_arm(MPADSPContext *s);
void ff_mpadsp_init_mmx(MPADSPContext *s); void ff_mpadsp_init_mmx(MPADSPContext *s);
void ff_mpadsp_init_altivec(MPADSPContext *s); void ff_mpadsp_init_altivec(MPADSPContext *s);
void ff_mpadsp_init_mipsfpu(MPADSPContext *s);
void ff_mpadsp_init_mipsdspr1(MPADSPContext *s);
void ff_mpa_synth_init_float(float *window); void ff_mpa_synth_init_float(float *window);
void ff_mpa_synth_init_fixed(int32_t *window); void ff_mpa_synth_init_fixed(int32_t *window);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment