FFmpeg/libavcodec/mips
Claudio Freire 8df9bf8e39 AAC encoder: refactor to resynchronize MIPS port
This patch refactors the AAC coders to reuse code
between the MIPS port and the regular, portable C code.
There were two main functions that had to use
hand-optimized versions of quantization code:
 - search_for_quantizers_twoloop
 - codebook_trellis_rate

Those two were split into their own template header
files so they can be inlined inside both the MIPS port
and the generic code. In each context, they'll link
to their specialized implementations, and thus be
optimized by the compiler.

This approach I believe is better than maintaining
several copies of each function. As past experience has
proven, having to keep those in sync was error prone.
In this way, they will remain in sync by default.

Also, an implementation of the dequantized output
argument for the optimized quantize_and_encode
functions is included in the patch. While the current
implementation of search_for_pred still isn't using
it, future iterations of main prediction probably will.
It should not imply any measurable performance hit while
not being used.
2015-09-16 23:14:26 -03:00
..
aaccoder_mips.c AAC encoder: refactor to resynchronize MIPS port 2015-09-16 23:14:26 -03:00
aacdec_mips.c
aacdec_mips.h
aacpsdsp_mips.c
aacpsy_mips.h
aacsbr_mips.c
aacsbr_mips.h avcodec: loongson remove useless macros in mipsfpu optimization 2015-07-06 21:16:53 +02:00
ac3dsp_mips.c
acelp_filters_mips.c
acelp_vectors_mips.c
amrwbdec_mips.c
amrwbdec_mips.h
blockdsp_init_mips.c avcodec: loongson optimize blockdsp with mmi 2015-07-21 17:50:19 +02:00
blockdsp_mips.h avcodec: loongson optimize blockdsp with mmi 2015-07-21 17:50:19 +02:00
blockdsp_mmi.c avcodec: loongson optimize blockdsp with mmi 2015-07-21 17:50:19 +02:00
blockdsp_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for block functions 2015-06-22 20:18:10 +02:00
celp_filters_mips.c
celp_math_mips.c
compute_antialias_fixed.h
compute_antialias_float.h
constants.c avcodec: loongson optimize h264qpel with mmi v1 2015-08-09 20:43:54 +02:00
constants.h avcodec: loongson optimize h264qpel with mmi v1 2015-08-09 20:43:54 +02:00
fft_mips.c
fmtconvert_mips.c
h263dsp_init_mips.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for H263 lpf functions 2015-06-17 13:50:14 +02:00
h263dsp_mips.h avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for H263 lpf functions 2015-06-17 13:50:14 +02:00
h263dsp_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for H263 lpf functions 2015-06-17 13:50:14 +02:00
h264chroma_init_mips.c use mmi instead of loongson3 as simd-optimization flag 2015-07-07 03:46:57 +02:00
h264chroma_mips.h avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for AVC chroma mc functions 2015-06-11 12:24:02 +02:00
h264chroma_mmi.c avcodec: loongson3 optimized h264chroma put and avg with mmi 2015-06-02 13:40:16 +02:00
h264chroma_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for AVC chroma mc functions 2015-06-11 12:24:02 +02:00
h264dsp_init_mips.c avcodec: loongson optimize h264dsp idct and loop filter with mmi 2015-09-07 22:49:52 +02:00
h264dsp_mips.h avcodec: loongson optimize h264dsp idct and loop filter with mmi 2015-09-07 22:49:52 +02:00
h264dsp_mmi.c avcodec: loongson optimize h264dsp idct and loop filter with mmi 2015-09-07 22:49:52 +02:00
h264dsp_msa.c
h264idct_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for AVC idct functions 2015-06-11 17:10:45 +02:00
h264pred_init_mips.c avcodec: loongson optimized h264pred with mmi v2 2015-08-05 22:52:52 +02:00
h264pred_mips.h avcodec: loongson optimized h264pred with mmi v2 2015-08-05 22:52:52 +02:00
h264pred_mmi.c avcodec: loongson optimized h264pred with mmi v2 2015-08-05 22:52:52 +02:00
h264pred_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for AVC intra prediction functions 2015-06-11 17:10:41 +02:00
h264qpel_init_mips.c avcodec: loongson optimize h264qpel with mmi v1 2015-08-09 20:43:54 +02:00
h264qpel_mmi.c avcodec: loongson optimize h264qpel with mmi v1 2015-08-09 20:43:54 +02:00
h264qpel_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for AVC qpel functions 2015-06-13 02:21:55 +02:00
hevc_idct_msa.c avcodec/mips: Add 'const' to static arrays in HEVC MSA code 2015-06-11 12:24:48 +02:00
hevc_lpf_sao_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC loop filter and sao functions 2015-06-10 13:14:50 +02:00
hevc_macros_msa.h avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC bi mc functions 2015-06-02 01:54:51 +02:00
hevc_mc_bi_msa.c mips/hevcdsp: fix string concatenation on macros 2015-07-30 20:44:32 -03:00
hevc_mc_biw_msa.c mips/hevcdsp: fix string concatenation on macros 2015-07-30 20:44:32 -03:00
hevc_mc_uni_msa.c mips/hevcdsp: fix string concatenation on macros 2015-07-30 20:44:32 -03:00
hevc_mc_uniw_msa.c mips/hevcdsp: fix string concatenation on macros 2015-07-30 20:44:32 -03:00
hevcdsp_init_mips.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC loop filter and sao functions 2015-06-10 13:14:50 +02:00
hevcdsp_mips.h mips/hevcdsp: fix string concatenation on macros 2015-07-30 20:44:32 -03:00
hevcdsp_msa.c mips/hevcdsp: fix string concatenation on macros 2015-07-30 20:44:32 -03:00
hevcpred_init_mips.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC intra prediction functions 2015-06-10 13:53:03 +02:00
hevcpred_mips.h avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC intra prediction functions 2015-06-10 13:53:03 +02:00
hevcpred_msa.c avcodec/mips: Add 'const' to static arrays in HEVC MSA code 2015-06-11 12:24:48 +02:00
hpeldsp_init_mips.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for hpel functions 2015-06-19 14:00:12 +02:00
hpeldsp_mips.h avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for hpel functions 2015-06-19 14:00:12 +02:00
hpeldsp_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for hpel functions 2015-06-19 14:00:12 +02:00
idctdsp_init_mips.c avcodec: loongson delete invalid simple idct put and add optimization 2015-09-08 01:04:36 +02:00
idctdsp_mips.h avcodec: loongson optimized idctdsp with mmi 2015-07-16 14:27:53 +02:00
idctdsp_mmi.c avcodec: loongson move simple idct functions to a separate file 2015-07-21 14:48:18 +02:00
idctdsp_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for idctdsp functions 2015-07-07 14:35:15 +02:00
iirfilter_mips.c avcodec: loongson remove useless macros in mipsfpu optimization 2015-07-06 21:16:53 +02:00
lsp_mips.h
Makefile avcodec: loongson optimize h264qpel with mmi v1 2015-08-09 20:43:54 +02:00
mathops.h
me_cmp_init_mips.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for me_cmp functions 2015-07-06 18:25:14 +02:00
me_cmp_mips.h avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for me_cmp functions 2015-07-06 18:25:14 +02:00
me_cmp_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for me_cmp functions 2015-07-06 18:25:14 +02:00
mpegaudiodsp_mips_fixed.c
mpegaudiodsp_mips_float.c avcodec: loongson remove useless macros in mipsfpu optimization 2015-07-06 21:16:53 +02:00
mpegvideo_init_mips.c avcodec: loongson optimize mpeg2 dct unquantize intra and denoise dct 2015-09-02 16:53:32 +02:00
mpegvideo_mips.h avcodec: loongson optimize mpeg2 dct unquantize intra and denoise dct 2015-09-02 16:53:32 +02:00
mpegvideo_mmi.c avcodec: loongson optimize mpeg2 dct unquantize intra and denoise dct 2015-09-02 16:53:32 +02:00
mpegvideo_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for mpegvideo functions 2015-07-01 17:32:47 +02:00
mpegvideoencdsp_init_mips.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for mpegvideoencdsp functions 2015-07-06 18:25:01 +02:00
mpegvideoencdsp_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for mpegvideoencdsp functions 2015-07-06 18:25:01 +02:00
pixblockdsp_init_mips.c avcodec: loongson optimize pixblockdsp with mmi 2015-07-22 12:11:31 +02:00
pixblockdsp_mips.h avcodec: loongson optimize pixblockdsp with mmi 2015-07-22 12:11:31 +02:00
pixblockdsp_mmi.c avcodec: loongson optimize pixblockdsp with mmi 2015-07-22 12:11:31 +02:00
pixblockdsp_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for pixblock functions 2015-06-29 12:03:43 +02:00
qpeldsp_init_mips.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for qpel functions 2015-06-18 12:33:15 +02:00
qpeldsp_mips.h avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for qpel functions 2015-06-18 12:33:15 +02:00
qpeldsp_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for qpel functions 2015-06-18 12:33:15 +02:00
sbrdsp_mips.c avcodec: loongson remove useless macros in mipsfpu optimization 2015-07-06 21:16:53 +02:00
simple_idct_mmi.c avcodec: loongson delete invalid simple idct put and add optimization 2015-09-08 01:04:36 +02:00
simple_idct_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for idctdsp functions 2015-07-07 14:35:15 +02:00
vp8_idct_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP8 functions 2015-08-04 11:15:06 -04:00
vp8_lpf_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP8 functions 2015-08-04 11:15:06 -04:00
vp8_mc_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP8 functions 2015-08-04 11:15:06 -04:00
vp8dsp_init_mips.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP8 functions 2015-08-04 11:15:06 -04:00
vp8dsp_mips.h avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP8 functions 2015-08-04 11:15:06 -04:00
vp9_idct_msa.c avcodec/mips/vp9_idct_msa: Replace __volatile__ by volatile 2015-07-23 17:38:01 +02:00
vp9_intra_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP9 intra functions 2015-07-24 22:51:34 +02:00
vp9_lpf_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP9 lpf functions 2015-07-23 16:52:18 +02:00
vp9_mc_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP9 bilinear functions 2015-07-27 17:13:24 +02:00
vp9dsp_init_mips.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP9 bilinear functions 2015-07-27 17:13:24 +02:00
vp9dsp_mips.h avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP9 bilinear functions 2015-07-27 17:13:24 +02:00
xvid_idct_mmi.c avcodec: loongson optimize xvid idct with mmi 2015-07-21 14:48:23 +02:00
xvididct_init_mips.c avcodec: loongson optimize xvid idct with mmi 2015-07-21 14:48:23 +02:00
xvididct_mips.h avcodec: loongson optimize xvid idct with mmi 2015-07-21 14:48:23 +02:00