diff options
author | Nedeljko Babic <nbabic@mips.com> | 2012-06-04 18:02:56 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-06-11 21:12:39 +0200 |
commit | 3827a86eacd04d9d7b356f769be553f7b8cca361 (patch) | |
tree | 5666cb5c2bb96e22bd58a7043fb50a44f8cac677 /libavcodec/lsp.c | |
parent | 751dcd92435d8f38fd3f2035d515b10049483c49 (diff) | |
download | ffmpeg-3827a86eacd04d9d7b356f769be553f7b8cca361.tar.gz |
Optimization of AMR NB and WB decoders for MIPS
AMR NB and WB decoders are optimized for MIPS architecture.
Appropriate Makefiles are changed accordingly.
Cnfigure script is changed in order to support optimizations.
Optimizations are enabled by default when compiling is done for
mips architecture.
Appropriate cflags are automatically set.
Support for several mips CPUs is added in configure script.
New ffmpeg options are added for disabling optimizations.
The FFMPEG option --disable-mipsfpu disables MIPS floating point
optimizations.
The FFMPEG option --disable-mips32r2 disables MIPS32R2
optimizations.
The FFMPEG option --disable-mipsdspr1 disables MIPS DSP ASE R1
optimizations.
The FFMPEG option --disable-mipsdspr2 disables MIPS DSP ASE R2
optimizations.
Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Reviewed-by: Vitor Sessak <vitor1001@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/lsp.c')
-rw-r--r-- | libavcodec/lsp.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/lsp.c b/libavcodec/lsp.c index 7fda12ee62..a5a86c87e4 100644 --- a/libavcodec/lsp.c +++ b/libavcodec/lsp.c @@ -28,6 +28,8 @@ #include "mathops.h" #include "lsp.h" #include "celp_math.h" +#include "libavcodec/mips/lsp_mips.h" + void ff_acelp_reorder_lsf(int16_t* lsfq, int lsfq_min_distance, int lsfq_min, int lsfq_max, int lp_order) { @@ -162,6 +164,7 @@ void ff_acelp_lp_decode(int16_t* lp_1st, int16_t* lp_2nd, const int16_t* lsp_2nd ff_acelp_lsp2lpc(lp_2nd, lsp_2nd, lp_order >> 1); } +#ifndef ff_lsp2polyf void ff_lsp2polyf(const double *lsp, double *f, int lp_half_order) { int i, j; @@ -178,6 +181,7 @@ void ff_lsp2polyf(const double *lsp, double *f, int lp_half_order) f[1] += val; } } +#endif /* ff_lsp2polyf */ void ff_acelp_lspd2lpc(const double *lsp, float *lpc, int lp_half_order) { |