2013-03-12 17:28:11 +03:00
|
|
|
OBJS += x86/constants.o \
|
|
|
|
x86/fmtconvert_init.o \
|
2012-10-05 20:54:10 +03:00
|
|
|
|
2014-07-31 14:52:24 +03:00
|
|
|
# subsystems
|
2012-10-05 20:54:10 +03:00
|
|
|
OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp_init.o
|
2014-01-16 19:30:19 +03:00
|
|
|
OBJS-$(CONFIG_AUDIODSP) += x86/audiodsp_init.o
|
2014-07-03 16:25:41 +03:00
|
|
|
OBJS-$(CONFIG_BLOCKDSP) += x86/blockdsp.o
|
2014-02-13 19:57:05 +03:00
|
|
|
OBJS-$(CONFIG_BSWAPDSP) += x86/bswapdsp_init.o
|
2013-08-04 14:24:15 +03:00
|
|
|
OBJS-$(CONFIG_DCT) += x86/dct_init.o
|
2014-02-03 21:09:45 +03:00
|
|
|
OBJS-$(CONFIG_FDCTDSP) += x86/fdctdsp_init.o
|
2012-10-05 20:54:10 +03:00
|
|
|
OBJS-$(CONFIG_FFT) += x86/fft_init.o
|
2013-11-05 10:11:47 +03:00
|
|
|
OBJS-$(CONFIG_H263DSP) += x86/h263dsp_init.o
|
2013-02-06 17:34:39 +03:00
|
|
|
OBJS-$(CONFIG_H264CHROMA) += x86/h264chroma_init.o
|
2012-10-05 20:54:10 +03:00
|
|
|
OBJS-$(CONFIG_H264DSP) += x86/h264dsp_init.o
|
|
|
|
OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred_init.o
|
2013-01-24 07:24:53 +03:00
|
|
|
OBJS-$(CONFIG_H264QPEL) += x86/h264_qpel.o
|
2013-05-06 02:01:05 +03:00
|
|
|
OBJS-$(CONFIG_HPELDSP) += x86/hpeldsp_init.o
|
2014-01-07 14:23:13 +03:00
|
|
|
OBJS-$(CONFIG_HUFFYUVDSP) += x86/huffyuvdsp_init.o
|
2013-12-23 20:42:11 +03:00
|
|
|
OBJS-$(CONFIG_HUFFYUVENCDSP) += x86/huffyuvencdsp_mmx.o
|
2014-01-24 13:55:16 +03:00
|
|
|
OBJS-$(CONFIG_IDCTDSP) += x86/idctdsp_init.o
|
2012-10-05 20:54:10 +03:00
|
|
|
OBJS-$(CONFIG_LPC) += x86/lpc.o
|
2014-02-08 04:59:58 +03:00
|
|
|
OBJS-$(CONFIG_ME_CMP) += x86/me_cmp_init.o
|
2013-04-27 02:03:37 +03:00
|
|
|
OBJS-$(CONFIG_MPEGAUDIODSP) += x86/mpegaudiodsp.o
|
2014-01-24 12:41:12 +03:00
|
|
|
OBJS-$(CONFIG_MPEGVIDEO) += x86/mpegvideo.o \
|
|
|
|
x86/mpegvideodsp.o
|
2013-12-30 21:19:39 +03:00
|
|
|
OBJS-$(CONFIG_MPEGVIDEOENC) += x86/mpegvideoenc.o \
|
|
|
|
x86/mpegvideoencdsp_init.o
|
2014-02-04 01:29:09 +03:00
|
|
|
OBJS-$(CONFIG_PIXBLOCKDSP) += x86/pixblockdsp_init.o
|
2014-01-08 16:00:10 +03:00
|
|
|
OBJS-$(CONFIG_QPELDSP) += x86/qpeldsp_init.o
|
2013-12-20 17:28:18 +03:00
|
|
|
OBJS-$(CONFIG_VIDEODSP) += x86/videodsp_init.o
|
|
|
|
OBJS-$(CONFIG_VP3DSP) += x86/vp3dsp_init.o
|
|
|
|
OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o
|
|
|
|
|
2014-07-31 14:52:24 +03:00
|
|
|
# decoders/encoders
|
2013-12-20 17:28:18 +03:00
|
|
|
OBJS-$(CONFIG_AAC_DECODER) += x86/sbrdsp_init.o
|
2013-12-29 04:32:16 +03:00
|
|
|
OBJS-$(CONFIG_APE_DECODER) += x86/apedsp_init.o
|
2013-12-20 17:28:18 +03:00
|
|
|
OBJS-$(CONFIG_CAVS_DECODER) += x86/cavsdsp.o
|
|
|
|
OBJS-$(CONFIG_DCA_DECODER) += x86/dcadsp_init.o
|
2014-03-28 04:37:51 +03:00
|
|
|
OBJS-$(CONFIG_DNXHD_ENCODER) += x86/dnxhdenc_init.o
|
2014-07-27 01:04:44 +03:00
|
|
|
OBJS-$(CONFIG_HEVC_DECODER) += x86/hevcdsp_init.o
|
2013-12-20 17:28:18 +03:00
|
|
|
OBJS-$(CONFIG_MLP_DECODER) += x86/mlpdsp.o
|
2014-07-21 23:13:21 +03:00
|
|
|
OBJS-$(CONFIG_MPEG4_DECODER) += x86/xvididct_init.o
|
2012-10-05 20:54:10 +03:00
|
|
|
OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp_init.o
|
|
|
|
OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp_init.o
|
|
|
|
OBJS-$(CONFIG_RV30_DECODER) += x86/rv34dsp_init.o
|
|
|
|
OBJS-$(CONFIG_RV40_DECODER) += x86/rv34dsp_init.o \
|
|
|
|
x86/rv40dsp_init.o
|
2014-07-03 16:25:41 +03:00
|
|
|
OBJS-$(CONFIG_SVQ1_ENCODER) += x86/svq1enc.o
|
2010-03-16 23:23:03 +02:00
|
|
|
OBJS-$(CONFIG_TRUEHD_DECODER) += x86/mlpdsp.o
|
2012-10-07 18:41:10 +03:00
|
|
|
OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp_init.o
|
2013-01-20 09:21:10 +03:00
|
|
|
OBJS-$(CONFIG_VORBIS_DECODER) += x86/vorbisdsp_init.o
|
2012-10-06 21:28:56 +03:00
|
|
|
OBJS-$(CONFIG_VP6_DECODER) += x86/vp6dsp_init.o
|
2014-04-01 15:21:51 +03:00
|
|
|
OBJS-$(CONFIG_VP7_DECODER) += x86/vp8dsp_init.o
|
2012-10-05 20:54:10 +03:00
|
|
|
OBJS-$(CONFIG_VP8_DECODER) += x86/vp8dsp_init.o
|
2013-10-01 06:03:30 +03:00
|
|
|
OBJS-$(CONFIG_VP9_DECODER) += x86/vp9dsp_init.o
|
2010-03-16 23:22:59 +02:00
|
|
|
|
2014-07-31 14:52:24 +03:00
|
|
|
|
|
|
|
# GCC inline assembly optimizations
|
|
|
|
# subsystems
|
2014-01-16 19:30:19 +03:00
|
|
|
MMX-OBJS-$(CONFIG_AUDIODSP) += x86/audiodsp_mmx.o
|
2013-04-23 19:36:25 +03:00
|
|
|
MMX-OBJS-$(CONFIG_HPELDSP) += x86/fpel_mmx.o \
|
2014-01-29 14:49:24 +03:00
|
|
|
x86/hpeldsp_mmx.o
|
2014-02-03 21:09:45 +03:00
|
|
|
MMX-OBJS-$(CONFIG_FDCTDSP) += x86/fdct.o
|
2014-01-24 13:55:16 +03:00
|
|
|
MMX-OBJS-$(CONFIG_IDCTDSP) += x86/idctdsp_mmx.o \
|
|
|
|
x86/simple_idct.o
|
2014-01-08 16:00:10 +03:00
|
|
|
MMX-OBJS-$(CONFIG_QPELDSP) += x86/fpel_mmx.o
|
2013-12-20 17:28:18 +03:00
|
|
|
|
2014-07-31 14:52:24 +03:00
|
|
|
# decoders/encoders
|
2014-08-27 03:58:07 +03:00
|
|
|
MMX-OBJS-$(CONFIG_MPEG4_DECODER) += x86/xvididct_mmx.o \
|
|
|
|
x86/xvididct_sse2.o
|
2012-02-03 01:55:57 +03:00
|
|
|
MMX-OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp_mmx.o
|
|
|
|
|
2014-07-31 14:52:24 +03:00
|
|
|
|
|
|
|
# YASM optimizations
|
2013-05-30 00:15:17 +03:00
|
|
|
YASM-OBJS += x86/deinterlace.o \
|
|
|
|
x86/fmtconvert.o \
|
|
|
|
|
2014-07-31 14:52:24 +03:00
|
|
|
# subsystems
|
2012-02-03 01:55:57 +03:00
|
|
|
YASM-OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp.o
|
2014-01-16 19:30:19 +03:00
|
|
|
YASM-OBJS-$(CONFIG_AUDIODSP) += x86/audiodsp.o
|
2014-02-13 19:57:05 +03:00
|
|
|
YASM-OBJS-$(CONFIG_BSWAPDSP) += x86/bswapdsp.o
|
2012-08-08 02:49:46 +03:00
|
|
|
YASM-OBJS-$(CONFIG_DCT) += x86/dct32.o
|
2014-03-28 04:37:51 +03:00
|
|
|
YASM-OBJS-$(CONFIG_DNXHD_ENCODER) += x86/dnxhdenc.o
|
2012-08-08 03:12:17 +03:00
|
|
|
YASM-OBJS-$(CONFIG_FFT) += x86/fft.o
|
2013-11-05 10:11:47 +03:00
|
|
|
YASM-OBJS-$(CONFIG_H263DSP) += x86/h263_loopfilter.o
|
2013-02-06 17:34:39 +03:00
|
|
|
YASM-OBJS-$(CONFIG_H264CHROMA) += x86/h264_chromamc.o \
|
2011-12-14 00:54:52 +03:00
|
|
|
x86/h264_chromamc_10bit.o
|
2010-09-03 19:52:46 +03:00
|
|
|
YASM-OBJS-$(CONFIG_H264DSP) += x86/h264_deblock.o \
|
2011-05-10 18:55:12 +03:00
|
|
|
x86/h264_deblock_10bit.o \
|
2010-09-14 16:36:26 +03:00
|
|
|
x86/h264_idct.o \
|
2011-05-24 22:14:38 +03:00
|
|
|
x86/h264_idct_10bit.o \
|
|
|
|
x86/h264_weight.o \
|
2012-02-03 01:55:57 +03:00
|
|
|
x86/h264_weight_10bit.o
|
2011-06-06 02:20:05 +03:00
|
|
|
YASM-OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred.o \
|
|
|
|
x86/h264_intrapred_10bit.o
|
2012-10-13 18:04:50 +03:00
|
|
|
YASM-OBJS-$(CONFIG_H264QPEL) += x86/h264_qpel_8bit.o \
|
2013-03-12 17:28:11 +03:00
|
|
|
x86/h264_qpel_10bit.o \
|
2013-03-11 01:37:59 +03:00
|
|
|
x86/fpel.o \
|
2013-03-12 17:28:11 +03:00
|
|
|
x86/qpel.o
|
2013-03-11 01:37:59 +03:00
|
|
|
YASM-OBJS-$(CONFIG_HPELDSP) += x86/fpel.o \
|
|
|
|
x86/hpeldsp.o
|
2014-01-07 14:23:13 +03:00
|
|
|
YASM-OBJS-$(CONFIG_HUFFYUVDSP) += x86/huffyuvdsp.o
|
2014-02-08 04:59:58 +03:00
|
|
|
YASM-OBJS-$(CONFIG_ME_CMP) += x86/me_cmp.o
|
2012-08-08 02:49:46 +03:00
|
|
|
YASM-OBJS-$(CONFIG_MPEGAUDIODSP) += x86/imdct36.o
|
2013-12-30 21:56:07 +03:00
|
|
|
YASM-OBJS-$(CONFIG_MPEGVIDEOENC) += x86/mpegvideoencdsp.o
|
2014-02-04 01:29:09 +03:00
|
|
|
YASM-OBJS-$(CONFIG_PIXBLOCKDSP) += x86/pixblockdsp.o
|
2014-01-08 16:00:10 +03:00
|
|
|
YASM-OBJS-$(CONFIG_QPELDSP) += x86/qpeldsp.o \
|
|
|
|
x86/fpel.o \
|
|
|
|
x86/qpel.o
|
2013-12-20 17:28:18 +03:00
|
|
|
YASM-OBJS-$(CONFIG_VIDEODSP) += x86/videodsp.o
|
|
|
|
YASM-OBJS-$(CONFIG_VP3DSP) += x86/vp3dsp.o
|
|
|
|
|
2014-07-31 14:52:24 +03:00
|
|
|
# decoders/encoders
|
2013-12-20 17:28:18 +03:00
|
|
|
YASM-OBJS-$(CONFIG_AAC_DECODER) += x86/sbrdsp.o
|
2013-12-29 04:32:16 +03:00
|
|
|
YASM-OBJS-$(CONFIG_APE_DECODER) += x86/apedsp.o
|
2013-12-20 17:28:18 +03:00
|
|
|
YASM-OBJS-$(CONFIG_DCA_DECODER) += x86/dcadsp.o
|
2014-07-27 01:04:44 +03:00
|
|
|
YASM-OBJS-$(CONFIG_HEVC_DECODER) += x86/hevc_deblock.o
|
2012-02-03 01:55:57 +03:00
|
|
|
YASM-OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp.o
|
|
|
|
YASM-OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp.o
|
2012-01-01 20:33:22 +03:00
|
|
|
YASM-OBJS-$(CONFIG_RV30_DECODER) += x86/rv34dsp.o
|
rv40: x86 SIMD for biweight
Provide MMX, SSE2 and SSSE3 versions, with a fast-path when the weights are
multiples of 512 (which is often the case when the values round up nicely).
*_TIMER report for the 16x16 and 8x8 cases:
C:
9015 decicycles in 16, 524257 runs, 31 skips
2656 decicycles in 8, 524271 runs, 17 skips
MMX:
4156 decicycles in 16, 262090 runs, 54 skips
1206 decicycles in 8, 262131 runs, 13 skips
MMX on fast-path:
2760 decicycles in 16, 524222 runs, 66 skips
995 decicycles in 8, 524252 runs, 36 skips
SSE2:
2163 decicycles in 16, 262131 runs, 13 skips
832 decicycles in 8, 262137 runs, 7 skips
SSE2 with fast path:
1783 decicycles in 16, 524276 runs, 12 skips
711 decicycles in 8, 524283 runs, 5 skips
SSSE3:
2117 decicycles in 16, 262136 runs, 8 skips
814 decicycles in 8, 262143 runs, 1 skips
SSSE3 with fast path:
1315 decicycles in 16, 524285 runs, 3 skips
578 decicycles in 8, 524286 runs, 2 skips
This means around a 4% speedup for some sequences.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-01-12 02:11:15 +03:00
|
|
|
YASM-OBJS-$(CONFIG_RV40_DECODER) += x86/rv34dsp.o \
|
|
|
|
x86/rv40dsp.o
|
2012-08-08 01:35:43 +03:00
|
|
|
YASM-OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp.o
|
2013-01-16 04:00:41 +03:00
|
|
|
YASM-OBJS-$(CONFIG_VORBIS_DECODER) += x86/vorbisdsp.o
|
2012-10-06 21:28:56 +03:00
|
|
|
YASM-OBJS-$(CONFIG_VP6_DECODER) += x86/vp6dsp.o
|
2014-04-01 15:21:51 +03:00
|
|
|
YASM-OBJS-$(CONFIG_VP7_DECODER) += x86/vp8dsp.o \
|
|
|
|
x86/vp8dsp_loopfilter.o
|
2013-10-29 16:45:48 +03:00
|
|
|
YASM-OBJS-$(CONFIG_VP8_DECODER) += x86/vp8dsp.o \
|
|
|
|
x86/vp8dsp_loopfilter.o
|
2013-10-01 06:03:30 +03:00
|
|
|
YASM-OBJS-$(CONFIG_VP9_DECODER) += x86/vp9dsp.o
|