2013-03-12 15:28:11 +01:00
|
|
|
OBJS += x86/constants.o \
|
2012-10-05 19:54:10 +02:00
|
|
|
|
2014-07-31 13:52:24 +02:00
|
|
|
# subsystems
|
2012-10-05 19:54:10 +02:00
|
|
|
OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp_init.o
|
2014-01-16 17:30:19 +01:00
|
|
|
OBJS-$(CONFIG_AUDIODSP) += x86/audiodsp_init.o
|
2014-07-05 19:19:22 +02:00
|
|
|
OBJS-$(CONFIG_BLOCKDSP) += x86/blockdsp_init.o
|
2014-02-13 17:57:05 +01:00
|
|
|
OBJS-$(CONFIG_BSWAPDSP) += x86/bswapdsp_init.o
|
2013-08-04 13:24:15 +02:00
|
|
|
OBJS-$(CONFIG_DCT) += x86/dct_init.o
|
2014-02-03 19:09:45 +01:00
|
|
|
OBJS-$(CONFIG_FDCTDSP) += x86/fdctdsp_init.o
|
2012-10-05 19:54:10 +02:00
|
|
|
OBJS-$(CONFIG_FFT) += x86/fft_init.o
|
2014-02-04 00:17:04 +01:00
|
|
|
OBJS-$(CONFIG_FLAC_DECODER) += x86/flacdsp_init.o
|
2014-02-11 23:49:39 +01:00
|
|
|
OBJS-$(CONFIG_FLAC_ENCODER) += x86/flacdsp_init.o
|
2015-02-21 11:24:44 +01:00
|
|
|
OBJS-$(CONFIG_FMTCONVERT) += x86/fmtconvert_init.o
|
2013-11-05 08:11:47 +01:00
|
|
|
OBJS-$(CONFIG_H263DSP) += x86/h263dsp_init.o
|
2013-02-06 15:34:39 +01:00
|
|
|
OBJS-$(CONFIG_H264CHROMA) += x86/h264chroma_init.o
|
2012-10-05 19:54:10 +02:00
|
|
|
OBJS-$(CONFIG_H264DSP) += x86/h264dsp_init.o
|
|
|
|
OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred_init.o
|
2013-01-24 05:24:53 +01:00
|
|
|
OBJS-$(CONFIG_H264QPEL) += x86/h264_qpel.o
|
2013-05-06 01:01:05 +02:00
|
|
|
OBJS-$(CONFIG_HPELDSP) += x86/hpeldsp_init.o
|
2014-05-30 16:28:49 +02:00
|
|
|
OBJS-$(CONFIG_LLAUDDSP) += x86/lossless_audiodsp_init.o
|
2014-01-20 20:32:51 +01:00
|
|
|
OBJS-$(CONFIG_LLVIDDSP) += x86/lossless_videodsp_init.o
|
2014-01-07 12:23:13 +01:00
|
|
|
OBJS-$(CONFIG_HUFFYUVDSP) += x86/huffyuvdsp_init.o
|
2013-12-23 18:42:11 +01:00
|
|
|
OBJS-$(CONFIG_HUFFYUVENCDSP) += x86/huffyuvencdsp_mmx.o
|
2014-01-24 11:55:16 +01:00
|
|
|
OBJS-$(CONFIG_IDCTDSP) += x86/idctdsp_init.o
|
2012-10-05 19:54:10 +02:00
|
|
|
OBJS-$(CONFIG_LPC) += x86/lpc.o
|
2014-02-08 02:59:58 +01:00
|
|
|
OBJS-$(CONFIG_ME_CMP) += x86/me_cmp_init.o
|
2013-04-27 01:03:37 +02:00
|
|
|
OBJS-$(CONFIG_MPEGAUDIODSP) += x86/mpegaudiodsp.o
|
2014-01-24 10:41:12 +01:00
|
|
|
OBJS-$(CONFIG_MPEGVIDEO) += x86/mpegvideo.o \
|
|
|
|
x86/mpegvideodsp.o
|
2013-12-30 19:19:39 +01:00
|
|
|
OBJS-$(CONFIG_MPEGVIDEOENC) += x86/mpegvideoenc.o \
|
|
|
|
x86/mpegvideoencdsp_init.o
|
2014-02-03 23:29:09 +01:00
|
|
|
OBJS-$(CONFIG_PIXBLOCKDSP) += x86/pixblockdsp_init.o
|
2014-01-08 14:00:10 +01:00
|
|
|
OBJS-$(CONFIG_QPELDSP) += x86/qpeldsp_init.o
|
2015-07-16 17:11:00 +02:00
|
|
|
OBJS-$(CONFIG_RV34DSP) += x86/rv34dsp_init.o
|
2013-12-20 15:28:18 +01:00
|
|
|
OBJS-$(CONFIG_VIDEODSP) += x86/videodsp_init.o
|
|
|
|
OBJS-$(CONFIG_VP3DSP) += x86/vp3dsp_init.o
|
2015-07-16 17:11:02 +02:00
|
|
|
OBJS-$(CONFIG_VP8DSP) += x86/vp8dsp_init.o
|
2013-12-20 15:28:18 +01:00
|
|
|
OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o
|
|
|
|
|
2014-07-31 13:52:24 +02:00
|
|
|
# decoders/encoders
|
2015-07-25 18:10:25 +02:00
|
|
|
OBJS-$(CONFIG_AAC_DECODER) += x86/aacpsdsp_init.o \
|
|
|
|
x86/sbrdsp_init.o
|
2015-02-16 03:16:25 +01:00
|
|
|
OBJS-$(CONFIG_ADPCM_G722_DECODER) += x86/g722dsp_init.o
|
|
|
|
OBJS-$(CONFIG_ADPCM_G722_ENCODER) += x86/g722dsp_init.o
|
2015-10-07 01:22:00 +02:00
|
|
|
OBJS-$(CONFIG_ALAC_DECODER) += x86/alacdsp_init.o
|
2014-11-23 13:21:29 +01:00
|
|
|
OBJS-$(CONFIG_APNG_DECODER) += x86/pngdsp_init.o
|
2013-12-20 15:28:18 +01:00
|
|
|
OBJS-$(CONFIG_CAVS_DECODER) += x86/cavsdsp.o
|
|
|
|
OBJS-$(CONFIG_DCA_DECODER) += x86/dcadsp_init.o
|
2014-03-27 03:06:30 +01:00
|
|
|
OBJS-$(CONFIG_DNXHD_ENCODER) += x86/dnxhdenc_init.o
|
2014-07-27 00:04:44 +02:00
|
|
|
OBJS-$(CONFIG_HEVC_DECODER) += x86/hevcdsp_init.o
|
2015-06-13 18:11:51 +02:00
|
|
|
OBJS-$(CONFIG_JPEG2000_DECODER) += x86/jpeg2000dsp_init.o
|
2014-10-03 01:38:01 +02:00
|
|
|
OBJS-$(CONFIG_MLP_DECODER) += x86/mlpdsp_init.o
|
2014-07-21 22:13:21 +02:00
|
|
|
OBJS-$(CONFIG_MPEG4_DECODER) += x86/xvididct_init.o
|
2012-10-05 19:54:10 +02:00
|
|
|
OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp_init.o
|
2012-12-11 02:52:55 +01:00
|
|
|
OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp_init.o
|
2012-10-08 21:36:14 +02:00
|
|
|
OBJS-$(CONFIG_PRORES_LGPL_DECODER) += x86/proresdsp_init.o
|
2015-07-16 17:11:00 +02:00
|
|
|
OBJS-$(CONFIG_RV40_DECODER) += x86/rv40dsp_init.o
|
2014-07-05 21:40:29 +02:00
|
|
|
OBJS-$(CONFIG_SVQ1_ENCODER) += x86/svq1enc_init.o
|
2015-10-05 12:28:41 +02:00
|
|
|
OBJS-$(CONFIG_TAK_DECODER) += x86/takdsp_init.o
|
2014-10-03 01:38:01 +02:00
|
|
|
OBJS-$(CONFIG_TRUEHD_DECODER) += x86/mlpdsp_init.o
|
2014-11-23 01:49:04 +01:00
|
|
|
OBJS-$(CONFIG_TTA_DECODER) += x86/ttadsp_init.o
|
|
|
|
OBJS-$(CONFIG_V210_DECODER) += x86/v210-init.o
|
2014-11-26 16:59:14 +01:00
|
|
|
OBJS-$(CONFIG_V210_ENCODER) += x86/v210enc_init.o
|
2012-10-07 17:41:10 +02:00
|
|
|
OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp_init.o
|
2013-01-20 07:21:10 +01:00
|
|
|
OBJS-$(CONFIG_VORBIS_DECODER) += x86/vorbisdsp_init.o
|
2012-10-06 20:28:56 +02:00
|
|
|
OBJS-$(CONFIG_VP6_DECODER) += x86/vp6dsp_init.o
|
2015-09-16 15:08:04 +02:00
|
|
|
OBJS-$(CONFIG_VP9_DECODER) += x86/vp9dsp_init.o \
|
2015-09-16 22:07:46 +02:00
|
|
|
x86/vp9dsp_init_10bpp.o \
|
|
|
|
x86/vp9dsp_init_12bpp.o \
|
2015-09-16 15:08:04 +02:00
|
|
|
x86/vp9dsp_init_16bpp.o
|
2013-03-30 08:25:44 +01:00
|
|
|
OBJS-$(CONFIG_WEBP_DECODER) += x86/vp8dsp_init.o
|
2010-03-16 22:22:59 +01:00
|
|
|
|
2014-07-31 13:52:24 +02:00
|
|
|
|
|
|
|
# GCC inline assembly optimizations
|
|
|
|
# subsystems
|
2014-07-01 14:38:57 +02:00
|
|
|
MMX-OBJS-$(CONFIG_DIRAC_DECODER) += x86/dirac_dwt.o
|
2014-02-03 19:09:45 +01:00
|
|
|
MMX-OBJS-$(CONFIG_FDCTDSP) += x86/fdct.o
|
2014-09-25 00:53:07 +02:00
|
|
|
MMX-OBJS-$(CONFIG_IDCTDSP) += x86/simple_idct.o
|
2013-12-20 15:28:18 +01:00
|
|
|
|
2014-07-31 13:52:24 +02:00
|
|
|
# decoders/encoders
|
2013-01-14 22:30:30 +01:00
|
|
|
MMX-OBJS-$(CONFIG_SNOW_DECODER) += x86/snowdsp.o
|
|
|
|
MMX-OBJS-$(CONFIG_SNOW_ENCODER) += x86/snowdsp.o
|
2012-02-02 23:55:57 +01:00
|
|
|
MMX-OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp_mmx.o
|
|
|
|
|
2014-07-31 13:52:24 +02:00
|
|
|
# subsystems
|
2012-02-02 23:55:57 +01:00
|
|
|
YASM-OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp.o
|
2014-01-16 17:30:19 +01:00
|
|
|
YASM-OBJS-$(CONFIG_AUDIODSP) += x86/audiodsp.o
|
2014-06-19 06:00:17 +02:00
|
|
|
YASM-OBJS-$(CONFIG_BLOCKDSP) += x86/blockdsp.o
|
2014-02-13 17:57:05 +01:00
|
|
|
YASM-OBJS-$(CONFIG_BSWAPDSP) += x86/bswapdsp.o
|
2012-08-08 01:49:46 +02:00
|
|
|
YASM-OBJS-$(CONFIG_DCT) += x86/dct32.o
|
2013-01-14 22:30:30 +01:00
|
|
|
YASM-OBJS-$(CONFIG_DIRAC_DECODER) += x86/diracdsp_mmx.o x86/diracdsp_yasm.o\
|
2013-01-14 23:40:26 +01:00
|
|
|
x86/dwt_yasm.o
|
2014-03-27 03:06:30 +01:00
|
|
|
YASM-OBJS-$(CONFIG_DNXHD_ENCODER) += x86/dnxhdenc.o
|
2012-08-08 02:12:17 +02:00
|
|
|
YASM-OBJS-$(CONFIG_FFT) += x86/fft.o
|
2014-02-04 00:17:04 +01:00
|
|
|
YASM-OBJS-$(CONFIG_FLAC_DECODER) += x86/flacdsp.o
|
2014-08-12 23:22:02 +02:00
|
|
|
ifdef CONFIG_GPL
|
|
|
|
YASM-OBJS-$(CONFIG_FLAC_ENCODER) += x86/flac_dsp_gpl.o
|
|
|
|
endif
|
2015-02-21 11:24:44 +01:00
|
|
|
YASM-OBJS-$(CONFIG_FMTCONVERT) += x86/fmtconvert.o
|
2013-11-05 08:11:47 +01:00
|
|
|
YASM-OBJS-$(CONFIG_H263DSP) += x86/h263_loopfilter.o
|
2013-02-06 15:34:39 +01:00
|
|
|
YASM-OBJS-$(CONFIG_H264CHROMA) += x86/h264_chromamc.o \
|
2011-12-13 22:54:52 +01:00
|
|
|
x86/h264_chromamc_10bit.o
|
2010-09-03 18:52:46 +02:00
|
|
|
YASM-OBJS-$(CONFIG_H264DSP) += x86/h264_deblock.o \
|
2011-05-10 17:55:12 +02:00
|
|
|
x86/h264_deblock_10bit.o \
|
2010-09-14 15:36:26 +02:00
|
|
|
x86/h264_idct.o \
|
2011-05-24 21:14:38 +02:00
|
|
|
x86/h264_idct_10bit.o \
|
|
|
|
x86/h264_weight.o \
|
2012-02-02 23:55:57 +01:00
|
|
|
x86/h264_weight_10bit.o
|
2011-06-06 01:20:05 +02:00
|
|
|
YASM-OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred.o \
|
|
|
|
x86/h264_intrapred_10bit.o
|
2012-10-13 17:04:50 +02:00
|
|
|
YASM-OBJS-$(CONFIG_H264QPEL) += x86/h264_qpel_8bit.o \
|
2013-03-09 05:40:16 +01:00
|
|
|
x86/h264_qpel_10bit.o \
|
2013-03-10 23:37:59 +01:00
|
|
|
x86/fpel.o \
|
2013-03-12 15:28:11 +01:00
|
|
|
x86/qpel.o
|
2013-03-10 23:37:59 +01:00
|
|
|
YASM-OBJS-$(CONFIG_HPELDSP) += x86/fpel.o \
|
|
|
|
x86/hpeldsp.o
|
2014-01-07 12:23:13 +01:00
|
|
|
YASM-OBJS-$(CONFIG_HUFFYUVDSP) += x86/huffyuvdsp.o
|
2015-10-19 03:25:11 +02:00
|
|
|
YASM-OBJS-$(CONFIG_HUFFYUVENCDSP) += x86/huffyuvencdsp.o
|
2014-07-01 23:10:15 +02:00
|
|
|
YASM-OBJS-$(CONFIG_IDCTDSP) += x86/idctdsp.o
|
2014-05-30 16:28:49 +02:00
|
|
|
YASM-OBJS-$(CONFIG_LLAUDDSP) += x86/lossless_audiodsp.o
|
2014-01-20 20:32:51 +01:00
|
|
|
YASM-OBJS-$(CONFIG_LLVIDDSP) += x86/lossless_videodsp.o
|
2014-02-08 02:59:58 +01:00
|
|
|
YASM-OBJS-$(CONFIG_ME_CMP) += x86/me_cmp.o
|
2012-08-08 01:49:46 +02:00
|
|
|
YASM-OBJS-$(CONFIG_MPEGAUDIODSP) += x86/imdct36.o
|
2013-12-30 19:56:07 +01:00
|
|
|
YASM-OBJS-$(CONFIG_MPEGVIDEOENC) += x86/mpegvideoencdsp.o
|
2014-02-03 23:29:09 +01:00
|
|
|
YASM-OBJS-$(CONFIG_PIXBLOCKDSP) += x86/pixblockdsp.o
|
2014-01-08 14:00:10 +01:00
|
|
|
YASM-OBJS-$(CONFIG_QPELDSP) += x86/qpeldsp.o \
|
|
|
|
x86/fpel.o \
|
|
|
|
x86/qpel.o
|
2015-07-16 17:11:00 +02:00
|
|
|
YASM-OBJS-$(CONFIG_RV34DSP) += x86/rv34dsp.o
|
2015-10-12 19:37:47 +02:00
|
|
|
YASM-OBJS-$(CONFIG_IDCTDSP) += x86/simple_idct10.o
|
2013-12-20 15:28:18 +01:00
|
|
|
YASM-OBJS-$(CONFIG_VIDEODSP) += x86/videodsp.o
|
|
|
|
YASM-OBJS-$(CONFIG_VP3DSP) += x86/vp3dsp.o
|
2015-07-16 17:11:02 +02:00
|
|
|
YASM-OBJS-$(CONFIG_VP8DSP) += x86/vp8dsp.o \
|
|
|
|
x86/vp8dsp_loopfilter.o
|
2013-12-20 15:28:18 +01:00
|
|
|
|
2014-07-31 13:52:24 +02:00
|
|
|
# decoders/encoders
|
2015-07-25 18:10:25 +02:00
|
|
|
YASM-OBJS-$(CONFIG_AAC_DECODER) += x86/aacpsdsp.o \
|
|
|
|
x86/sbrdsp.o
|
2015-02-16 03:16:25 +01:00
|
|
|
YASM-OBJS-$(CONFIG_ADPCM_G722_DECODER) += x86/g722dsp.o
|
|
|
|
YASM-OBJS-$(CONFIG_ADPCM_G722_ENCODER) += x86/g722dsp.o
|
2015-10-07 01:22:00 +02:00
|
|
|
YASM-OBJS-$(CONFIG_ALAC_DECODER) += x86/alacdsp.o
|
2014-11-23 13:21:29 +01:00
|
|
|
YASM-OBJS-$(CONFIG_APNG_DECODER) += x86/pngdsp.o
|
2013-12-20 15:28:18 +01:00
|
|
|
YASM-OBJS-$(CONFIG_DCA_DECODER) += x86/dcadsp.o
|
2014-07-29 00:34:53 +02:00
|
|
|
YASM-OBJS-$(CONFIG_HEVC_DECODER) += x86/hevc_mc.o \
|
|
|
|
x86/hevc_deblock.o \
|
2014-08-18 10:01:09 +02:00
|
|
|
x86/hevc_idct.o \
|
x86/hevc: add ff_hevc_sao_band_filter_{8,10,12}_{sse2,avx,avx2}
Original x86 intrinsics code and initial 8bit yasm port by Pierre-Edouard Lepere.
10/12bit yasm ports, refactoring and optimizations by James Almer
Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U
width 32
40338 decicycles in sao_band_filter_0_8, 2048 runs, 0 skips
8056 decicycles in ff_hevc_sao_band_filter_8_32_sse2, 2048 runs, 0 skips
7458 decicycles in ff_hevc_sao_band_filter_8_32_avx, 2048 runs, 0 skips
4504 decicycles in ff_hevc_sao_band_filter_8_32_avx2, 2048 runs, 0 skips
width 64
136046 decicycles in sao_band_filter_0_8, 16384 runs, 0 skips
28576 decicycles in ff_hevc_sao_band_filter_8_32_sse2, 16384 runs, 0 skips
26707 decicycles in ff_hevc_sao_band_filter_8_32_avx, 16384 runs, 0 skips
14387 decicycles in ff_hevc_sao_band_filter_8_32_avx2, 16384 runs, 0 skips
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-01 19:01:36 +01:00
|
|
|
x86/hevc_res_add.o \
|
2015-09-28 05:58:01 +02:00
|
|
|
x86/hevc_sao.o \
|
|
|
|
x86/hevc_sao_10bit.o
|
2015-06-13 18:11:51 +02:00
|
|
|
YASM-OBJS-$(CONFIG_JPEG2000_DECODER) += x86/jpeg2000dsp.o
|
2014-10-03 01:38:01 +02:00
|
|
|
YASM-OBJS-$(CONFIG_MLP_DECODER) += x86/mlpdsp.o
|
2015-03-11 00:11:51 +01:00
|
|
|
YASM-OBJS-$(CONFIG_MPEG4_DECODER) += x86/xvididct.o
|
2012-01-27 16:21:55 +01:00
|
|
|
YASM-OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp.o
|
2011-10-12 19:10:22 +02:00
|
|
|
YASM-OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp.o
|
2012-03-26 20:34:29 +02:00
|
|
|
YASM-OBJS-$(CONFIG_PRORES_LGPL_DECODER) += x86/proresdsp.o
|
2015-07-16 17:11:00 +02:00
|
|
|
YASM-OBJS-$(CONFIG_RV40_DECODER) += x86/rv40dsp.o
|
2014-07-05 21:40:29 +02:00
|
|
|
YASM-OBJS-$(CONFIG_SVQ1_ENCODER) += x86/svq1enc.o
|
2015-10-05 12:28:41 +02:00
|
|
|
YASM-OBJS-$(CONFIG_TAK_DECODER) += x86/takdsp.o
|
2014-10-03 01:38:01 +02:00
|
|
|
YASM-OBJS-$(CONFIG_TRUEHD_DECODER) += x86/mlpdsp.o
|
2014-02-12 02:28:54 +01:00
|
|
|
YASM-OBJS-$(CONFIG_TTA_DECODER) += x86/ttadsp.o
|
2014-11-26 16:59:14 +01:00
|
|
|
YASM-OBJS-$(CONFIG_V210_ENCODER) += x86/v210enc.o
|
2011-10-18 20:50:49 +02:00
|
|
|
YASM-OBJS-$(CONFIG_V210_DECODER) += x86/v210.o
|
2012-08-08 00:35:43 +02:00
|
|
|
YASM-OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp.o
|
2013-01-16 02:00:41 +01:00
|
|
|
YASM-OBJS-$(CONFIG_VORBIS_DECODER) += x86/vorbisdsp.o
|
2012-10-06 20:28:56 +02:00
|
|
|
YASM-OBJS-$(CONFIG_VP6_DECODER) += x86/vp6dsp.o
|
2014-02-16 19:30:50 +01:00
|
|
|
YASM-OBJS-$(CONFIG_VP9_DECODER) += x86/vp9intrapred.o \
|
2015-09-25 23:24:07 +02:00
|
|
|
x86/vp9intrapred_16bpp.o \
|
2014-02-16 19:30:50 +01:00
|
|
|
x86/vp9itxfm.o \
|
2015-10-06 17:01:48 +02:00
|
|
|
x86/vp9itxfm_16bpp.o \
|
2014-01-05 21:00:40 +01:00
|
|
|
x86/vp9lpf.o \
|
2015-09-30 19:23:09 +02:00
|
|
|
x86/vp9lpf_16bpp.o \
|
2015-09-16 22:07:46 +02:00
|
|
|
x86/vp9mc.o \
|
|
|
|
x86/vp9mc_16bpp.o
|
2013-03-30 08:25:44 +01:00
|
|
|
YASM-OBJS-$(CONFIG_WEBP_DECODER) += x86/vp8dsp.o
|