Hi, This patchset aims to cleanup the MIPS optimizations a bit and add support for 64-bit processors.
I haven't attempted specifically to optimize any of this for 64-bit systems, except for the removal of some assembly blocks which GCC can optimize just as well itself. Also I havn't gone through and cleaned up everything, just the bits that make it easier to port to 64-bits or some things that were really bugging me :) I've run fate on both 32 and 64-bit mips machines and it passes all the tests on both. I don't have a machine with DSP instructions but I managed (with some effort) to run fate using qemu and it passed all the tests there as well. One thing I was sligly uneasy about in the change I made to the configure script was forcing specific ISA levels unless you pass --disable-xxx to configure. This has a habit of causing the final binaries not to run at all (eg I have to disable DSP otherwise I get a lot of SIGILL). Since this was what the code was doing before, I just left it instead of messing up all the MIPS configure options (more than I have done). Thanks, James James Cowgill (12): mips/mathops: remove 64-bit code mips/float_dsp: replace assembly with C implementations mips/aacpsdsp: fix definition of ps_decorrelate_mips mips/fft: remove some useless assembly mips/sbrdsp: remove sbr_neg_odd_64_mips mips/aacdec: refactor out duplicated assembly code mips/aacdec: remove uses of mips32r2 specific ext instructions configure, mips: remove MIPS32R2, merging it with MIPSFPU mips: port optimizations to mips n64 mips: use float* to hold pointer instead of int mips/acelp_filters: fix incorrect register constraint mips/aaccoder: use variables instead of using register names directly Makefile | 2 +- arch.mak | 1 - configure | 19 +- libavcodec/mips/aaccoder_mips.c | 929 +++++++++++++++--------------- libavcodec/mips/aacdec_mips.c | 623 ++++---------------- libavcodec/mips/aacdec_mips.h | 58 +- libavcodec/mips/aacpsdsp_mips.c | 61 +- libavcodec/mips/aacpsy_mips.h | 6 +- libavcodec/mips/aacsbr_mips.c | 53 +- libavcodec/mips/aacsbr_mips.h | 17 +- libavcodec/mips/ac3dsp_mips.c | 63 +- libavcodec/mips/acelp_filters_mips.c | 15 +- libavcodec/mips/acelp_vectors_mips.c | 7 +- libavcodec/mips/asmdefs.h | 48 ++ libavcodec/mips/celp_filters_mips.c | 13 +- libavcodec/mips/celp_math_mips.c | 5 +- libavcodec/mips/compute_antialias_float.h | 4 +- libavcodec/mips/fft_mips.c | 39 +- libavcodec/mips/fmtconvert_mips.c | 33 +- libavcodec/mips/lsp_mips.h | 6 +- libavcodec/mips/mathops.h | 26 - libavcodec/mips/mpegaudiodsp_mips_fixed.c | 11 +- libavcodec/mips/mpegaudiodsp_mips_float.c | 25 +- libavcodec/mips/sbrdsp_mips.c | 89 +-- libavutil/mips/float_dsp_mips.c | 354 +++--------- 25 files changed, 963 insertions(+), 1544 deletions(-) create mode 100644 libavcodec/mips/asmdefs.h -- 2.1.4 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel