1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-07-19 02:41:38 +02:00
ffmpeg/libavcodec/x86
Christophe Gisquet 9fa056ba75 pngdsp x86: use unaligned access
For test images manually generated to contain only up prediction,
timing results:
         8380x3032    255x185
before:   138635       1992
after:    139232       1996

Actually jumping to the proper version depending on the alignment:
8380x3032: 138767

A 0.5% speed improvement for gigantic images is not worth the code
duplication.

Fixes ticket #4148

Signed-off-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Tested-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 11:56:22 +01:00
..
ac3dsp_init.c Merge commit 'b42f49e42f8cde25a788b2d13d03e99ca2956647' 2014-04-05 19:05:00 +02:00
ac3dsp.asm Merge commit '57b5b84e208ad61ffdd74ad849bed212deb92bc5' 2014-04-05 19:36:21 +02:00
audiodsp_init.c x86/audiodsp: move asm code out of dsputil 2014-06-22 19:53:09 +02:00
audiodsp.asm x86/audiodsp: move asm code out of dsputil 2014-06-22 19:53:09 +02:00
blockdsp_init.c Merge commit '12f129e545e5a5844b6ad7f3eb6a438015cad8bc' 2014-07-05 19:50:05 +02:00
blockdsp.asm Merge commit '79793f833784121d574454af4871866576c0749d' 2014-07-01 15:43:40 +02:00
bswapdsp_init.c Merge commit 'c67b449bebbe0b35c73b203683e77a0a649bc765' 2014-06-23 13:31:26 +02:00
bswapdsp.asm x86/dsputil: move put_signed_pixels_clamped out of bswapdsp.asm 2014-06-23 22:11:18 +02:00
cabac.h inline asm: fix arrays as named constraints. 2014-05-07 15:02:45 +02:00
cavsdsp.c x86/cavsdsp: fix buffer alignment in cavs_idct8_add_mmx() 2014-09-25 16:00:16 -03:00
constants.c x86/vp9: add AVX and AVX2 MC 2014-09-22 22:35:03 -03:00
constants.h x86: sbrdsp/fft: reuse ps_neg constant 2014-08-06 19:25:08 +02:00
dcadsp_init.c x86/synth_filter: remove the fma3 version ifdefs 2014-04-13 11:29:28 +02:00
dcadsp.asm x86/synth_filter: remove the fma3 version ifdefs 2014-04-13 11:29:28 +02:00
dct32.asm x86/dct32: don't build ff_dct32_float_sse on x86_64 2014-06-09 00:51:43 +02:00
dct_init.c avcodec/x86/dct_init: fix build failure with clang && disable-optimizations 2014-06-09 19:32:41 +02:00
dct-test.c Merge commit 'dcb7c868ec7af7d3a138b3254ef2e08f074d8ec5' 2014-08-27 21:09:30 +02:00
deinterlace.asm Merge commit '831a1180785a786272cdcefb71566a770bfb879e' 2014-03-13 23:59:56 +01:00
dirac_dwt.c Merge commit 'c23ce454b3e33634a188d6facfd2b7182af5af93' 2014-07-17 22:07:52 +02:00
dirac_dwt.h
diracdsp_mmx.c Merge commit 'c23ce454b3e33634a188d6facfd2b7182af5af93' 2014-07-17 22:07:52 +02:00
diracdsp_mmx.h
diracdsp_yasm.asm x86: diracdsp: reuse constants 2014-08-06 19:25:02 +02:00
dnxhdenc_init.c Merge commit '9e0b29911f1f167381a7dbdfca68bf417b8c767b' 2014-07-18 22:33:24 +02:00
dnxhdenc.asm DNxHD: convert inline asm to yasm 2014-04-11 12:09:09 +02:00
dwt_yasm.asm x86: dwt: better share constants 2014-08-06 19:24:57 +02:00
fdct.c Merge commit '85cabb8d002f2cd100ced5cc17d87bfc9460d314' 2014-07-19 13:45:59 +02:00
fdct.h Merge commit '85cabb8d002f2cd100ced5cc17d87bfc9460d314' 2014-07-19 13:45:59 +02:00
fdctdsp_init.c Merge commit '85cabb8d002f2cd100ced5cc17d87bfc9460d314' 2014-07-19 13:45:59 +02:00
fft_init.c Merge remote-tracking branch 'qatar/master' 2013-08-22 14:28:42 +02:00
fft.asm x86: sbrdsp/fft: reuse ps_neg constant 2014-08-06 19:25:08 +02:00
fft.h Merge remote-tracking branch 'qatar/master' 2013-08-22 14:28:42 +02:00
flac_dsp_gpl.asm lavc/flacenc: partially unroll loop in flac_enc_lpc_16 2014-08-13 03:09:26 +02:00
flacdsp_init.c x86/flacdsp: add SSE2 and AVX decorrelate functions 2014-11-13 13:47:55 -03:00
flacdsp.asm x86/flacdsp: add SSE2 and AVX decorrelate functions 2014-11-13 13:47:55 -03:00
fmtconvert_init.c x86/fmtconvert: add ff_int32_to_float_fmul_array8_{sse,sse2} 2014-09-26 20:48:40 -03:00
fmtconvert.asm avcodec/x86/fmtconvert: Fix operand size in ff_int32_to_float_fmul_array8_sse* 2014-09-28 19:04:06 +02:00
fpel.asm x86: kill fpel_mmx.c 2014-05-21 03:25:08 +02:00
fpel.h x86: hpeldsp: propagate changes across codecs 2014-05-26 15:37:04 +02:00
h263_loopfilter.asm Merge commit '55519926ef855c671d084ccc151056de9e3d3a77' 2014-03-14 00:01:30 +01:00
h263dsp_init.c Merge commit '0338c396987c82b41d322630ea9712fe5f9561d6' 2013-11-08 17:42:56 +01:00
h264_chromamc_10bit.asm Merge commit '55519926ef855c671d084ccc151056de9e3d3a77' 2014-03-14 00:01:30 +01:00
h264_chromamc.asm Merge commit '55519926ef855c671d084ccc151056de9e3d3a77' 2014-03-14 00:01:30 +01:00
h264_deblock_10bit.asm Merge commit '79793f833784121d574454af4871866576c0749d' 2014-07-01 15:43:40 +02:00
h264_deblock.asm Merge commit '79793f833784121d574454af4871866576c0749d' 2014-07-01 15:43:40 +02:00
h264_i386.h h264_i386: Optimize decode_significance_8x8_x86 for 64 bit. 2014-11-22 14:06:48 +01:00
h264_idct_10bit.asm Merge commit '55519926ef855c671d084ccc151056de9e3d3a77' 2014-03-14 00:01:30 +01:00
h264_idct.asm Merge commit '55519926ef855c671d084ccc151056de9e3d3a77' 2014-03-14 00:01:30 +01:00
h264_intrapred_10bit.asm x86: vpx/h264/hevc/mpeg2: share constants 2014-08-06 18:36:31 +02:00
h264_intrapred_init.c Merge commit '79793f833784121d574454af4871866576c0749d' 2014-07-01 15:43:40 +02:00
h264_intrapred.asm Merge commit '2d91abade29e43bb45c881d45909b8ee77e904e2' 2014-10-08 11:48:58 +02:00
h264_qpel_8bit.asm
h264_qpel_10bit.asm avcodec/x86/h264_qpel_10bit: locally define pb_0 2014-06-24 02:13:43 +02:00
h264_qpel.c Merge commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac' 2014-07-25 13:05:08 +02:00
h264_weight_10bit.asm Merge commit '55519926ef855c671d084ccc151056de9e3d3a77' 2014-03-14 00:01:30 +01:00
h264_weight.asm Merge commit '55519926ef855c671d084ccc151056de9e3d3a77' 2014-03-14 00:01:30 +01:00
h264chroma_init.c Merge commit '01c5779f56cf708e6cb88b11cfdc248cae7e2ee8' 2014-04-05 19:16:39 +02:00
h264dsp_init.c Merge commit '5ab03e41e553452118113d0c224fa32b325e45e5' 2014-06-26 02:58:59 +02:00
hevc_deblock.asm x86: vpx/h264/hevc/mpeg2: share constants 2014-08-06 18:36:31 +02:00
hevc_idct.asm x86/hevc_idct: add a colon to labels 2014-07-28 21:43:32 +02:00
hevc_mc.asm x86/hevc: get rid off packusdw for ssse3 compatibility 2014-10-04 21:14:15 +02:00
hevc_res_add.asm x86/hevc_res_add: add missing guards to hevc_transform_add32_8_avx2 2014-09-04 23:34:01 -03:00
hevcdsp_init.c x86/hevc_res_add: add ff_hevc_transform_add32_8_avx2 2014-09-04 20:21:29 -03:00
hevcdsp.h x86/hevc_res_add: add ff_hevc_transform_add32_8_avx2 2014-09-04 20:21:29 -03:00
hpeldsp_init.c x86: hpeldsp: propagate changes across codecs 2014-05-26 15:37:04 +02:00
hpeldsp_rnd_template.c x86/hpeldsp: fix loop in {avg,avg_no_rnd}_pixels16_x2_mmx 2014-10-23 13:11:05 -03:00
hpeldsp.asm x86: vpx/h264/hevc/mpeg2: share constants 2014-08-06 18:36:31 +02:00
hpeldsp.h x86: hpeldsp: propagate changes across codecs 2014-05-26 15:37:04 +02:00
huffyuvdsp_init.c Merge commit '009331303a6462d07cbe94aef9c446f1a1695519' 2014-07-05 19:11:26 +02:00
huffyuvdsp.asm x86util: add and use RSHIFT/LSHIFT macros 2014-06-15 13:19:27 +02:00
huffyuvencdsp_mmx.c Merge commit '512f3ffe9b4bb86767c2b1176554407c75fe1a5c' 2014-05-28 00:03:59 +02:00
idctdsp_init.c x86/idctdsp: port {put,add}_pixels_clamped to yasm 2014-09-24 21:52:13 -03:00
idctdsp.asm x86/idctdsp: port {put,add}_pixels_clamped to yasm 2014-09-24 21:52:13 -03:00
idctdsp.h lavc/x86/idctdsp.h: Fix make checkheaders. 2014-09-25 22:18:25 +02:00
imdct36.asm x86/imdct36: use sse3 instructions in the last BUTTERF step when possible 2014-02-27 23:28:15 +01:00
inline_asm.h x86: better share ff_pw_2 2014-08-06 19:24:49 +02:00
lossless_audiodsp_init.c apedsp: move to llauddsp 2014-06-05 20:31:59 +02:00
lossless_audiodsp.asm avcodec/x86/lossless_audiodsp: fix fallback code for 32bit 2014-11-22 21:08:38 +01:00
lossless_videodsp_init.c rename add_hfyu_left_prediction_int16 to add_hfyu_left_pred_int16 2014-05-29 19:50:44 +02:00
lossless_videodsp.asm avcodec/x86/lossless_videodsp: Fix size of values read for left/left_top 2014-06-19 05:53:41 +02:00
lpc.c inline asm: fix arrays as named constraints. 2014-05-07 15:02:45 +02:00
Makefile v210enc: Add SIMD optimised 8-bit and 10-bit encoders 2014-11-26 20:30:47 +01:00
mathops.h Fix compilation with !HAVE_6REGS. 2014-04-19 09:56:01 +02:00
me_cmp_init.c Merge commit '9c12c6ff9539e926df0b2a2299e915ae71872600' 2014-11-24 12:13:00 +01:00
me_cmp.asm Merge commit '9c12c6ff9539e926df0b2a2299e915ae71872600' 2014-11-24 12:13:00 +01:00
mlpdsp_init.c x86/mlpdec: add ff_mlp_rematrix_channel_{sse4,avx2} 2014-10-02 22:11:55 -03:00
mlpdsp.asm x86/mlpdec: add ff_mlp_rematrix_channel_{sse4,avx2} 2014-10-02 22:11:55 -03:00
mpegaudiodsp.c x86/mpegaudiodsp.c: msvc compilation error without sse/avx_external 2014-05-06 14:15:02 +02:00
mpegvideo.c Merge commit '835f798c7d20bca89eb4f3593846251ad0d84e4b' 2014-08-15 20:11:56 +02:00
mpegvideodsp.c Merge commit 'fab9df63a3156ffe1f9490aafaea41e03ef60ddf' 2014-06-23 21:10:10 +02:00
mpegvideoenc_qns_template.c Merge commit '8d686ca59db14900ad5c12b547fb8a7afc8b0b94' 2014-07-07 15:08:55 +02:00
mpegvideoenc_template.c Merge commit '85cabb8d002f2cd100ced5cc17d87bfc9460d314' 2014-07-19 13:45:59 +02:00
mpegvideoenc.c mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes 2014-08-15 01:26:33 -07:00
mpegvideoencdsp_init.c x86/mpegvideoencdsp: improve ff_pix_sum16_sse2 2014-10-01 13:07:22 -03:00
mpegvideoencdsp.asm x86/mpegvideoencdsp: improve ff_pix_sum16_sse2 2014-10-01 13:07:22 -03:00
pixblockdsp_init.c avcodec: Change get_pixels() to ptrdiff_t linesize 2014-08-06 15:50:54 +02:00
pixblockdsp.asm avcodec: Change get_pixels() to ptrdiff_t linesize 2014-08-06 15:50:54 +02:00
pngdsp_init.c Merge remote-tracking branch 'qatar/master' 2013-07-18 09:53:47 +02:00
pngdsp.asm pngdsp x86: use unaligned access 2014-12-03 11:56:22 +01:00
proresdsp_init.c Merge commit 'b4987f72197e0c62cf2633bf835a9c32d2a445ae' 2014-07-18 22:01:17 +02:00
proresdsp.asm Merge commit '55519926ef855c671d084ccc151056de9e3d3a77' 2014-03-14 00:01:30 +01:00
qpel.asm Merge commit '55519926ef855c671d084ccc151056de9e3d3a77' 2014-03-14 00:01:30 +01:00
qpeldsp_init.c Merge commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac' 2014-07-25 13:05:08 +02:00
qpeldsp.asm Merge commit '368f50359eb328b0b9d67451f56fda20b3255f9a' 2014-05-30 02:43:34 +02:00
rnd_template.c Merge commit '1a8d0cf77ed2611e542ae98f341d4c43a04467bd' 2014-03-22 22:11:27 +01:00
rv34dsp_init.c Merge commit 'b0be1ae792ac8bbfb0fc7b9b9cb39eaf0feb489b' 2014-01-09 20:24:15 +01:00
rv34dsp.asm Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
rv40dsp_init.c Merge commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac' 2014-07-25 13:05:08 +02:00
rv40dsp.asm Merge commit '79793f833784121d574454af4871866576c0749d' 2014-07-01 15:43:40 +02:00
sbrdsp_init.c x86: sbrdsp: implement SSE qmf_deint_neg 2014-05-15 23:11:18 +02:00
sbrdsp.asm x86: sbrdsp/fft: reuse ps_neg constant 2014-08-06 19:25:08 +02:00
simple_idct.c Merge commit '95c0cec03acec0a80cc1c7db48f3b2355d9e767b' 2014-09-03 03:19:40 +02:00
simple_idct.h Merge commit '5dcc201505f71b1e73e9eef12ce89d4eed252ad0' 2014-07-19 13:56:29 +02:00
snowdsp.c Merge commit 'c23ce454b3e33634a188d6facfd2b7182af5af93' 2014-07-17 22:07:52 +02:00
svq1enc_init.c x86/svq1enc: port ssd_int8_vs_int16 to yasm 2014-07-05 21:43:40 +02:00
svq1enc.asm avcodec/svq1enc: align buffer used by simd functions 2014-09-25 16:00:20 -03:00
ttadsp_init.c tta/x86: add ff_ttafilter_process_dec_{ssse3, sse4} 2014-02-17 13:51:19 +01:00
ttadsp.asm x86/ttadsp: remove an unnecessary mova 2014-08-12 12:29:05 +02:00
v210-init.c
v210.asm lavc/x86/v210: give cpuflag to INIT macro 2014-09-05 00:35:07 +02:00
v210enc_init.c v210enc: Add SIMD optimised 8-bit and 10-bit encoders 2014-11-26 20:30:47 +01:00
v210enc.asm v210enc: Add SIMD optimised 8-bit and 10-bit encoders 2014-11-26 20:30:47 +01:00
vc1dsp_init.c vc1dsp: fix build without inline asm 2014-04-22 14:01:53 +02:00
vc1dsp_mmx.c x86: kill fpel_mmx.c 2014-05-21 03:25:08 +02:00
vc1dsp.asm
vc1dsp.h
videodsp_init.c x86/videodsp: add ff_emu_edge_{hfix,hvar}_avx2 2014-09-24 16:12:55 -03:00
videodsp.asm x86/videodsp: add ff_emu_edge_{hfix,hvar}_avx2 2014-09-24 16:12:55 -03:00
vorbisdsp_init.c Merge commit '01c5779f56cf708e6cb88b11cfdc248cae7e2ee8' 2014-04-05 19:16:39 +02:00
vorbisdsp.asm
vp3dsp_init.c Fix compilation with !HAVE_6REGS. 2014-04-19 09:56:01 +02:00
vp3dsp.asm
vp6dsp_init.c Merge commit 'b0be1ae792ac8bbfb0fc7b9b9cb39eaf0feb489b' 2014-01-09 20:24:15 +01:00
vp6dsp.asm Merge commit '8506ff97c9ea4a1f52983497ecf8d4ef193403a9' 2013-08-24 11:04:11 +02:00
vp8dsp_init.c Merge commit '79793f833784121d574454af4871866576c0749d' 2014-07-01 15:43:40 +02:00
vp8dsp_loopfilter.asm Merge commit '79793f833784121d574454af4871866576c0749d' 2014-07-01 15:43:40 +02:00
vp8dsp.asm x86: vpx/h264/hevc/mpeg2: share constants 2014-08-06 18:36:31 +02:00
vp9dsp_init.c x86/vp9: add AVX and AVX2 MC 2014-09-22 22:35:03 -03:00
vp9intrapred.asm vp9/x86: fix bug in intra_pred_hd_32x32. 2014-08-12 13:11:21 +02:00
vp9itxfm.asm x86: vpx/h264/hevc/mpeg2: share constants 2014-08-06 18:36:31 +02:00
vp9lpf.asm avcodec/x86/vp9lpf: Always include x86util.asm 2014-09-17 23:37:46 +02:00
vp9mc.asm x86/vp9: add AVX and AVX2 MC 2014-09-22 22:35:03 -03:00
vp56_arith.h Fix compilation with !HAVE_6REGS. 2014-04-19 09:56:01 +02:00
w64xmmtest.c x86: Add an xmm clobbering wrapper for avcodec_encode_video2 2013-09-17 10:53:23 +02:00
xvididct_init.c Merge commit '7a1d6ddd2c6b2d66fbc1afa584cf506930a26453' 2014-09-03 04:09:38 +02:00
xvididct_mmx.c avcodec/x86: use function pointers for {put,add}_pixels_clamped 2014-09-24 18:52:32 -03:00
xvididct_sse2.c avcodec/x86: use function pointers for {put,add}_pixels_clamped 2014-09-24 18:52:32 -03:00
xvididct.h Merge commit 'dcb7c868ec7af7d3a138b3254ef2e08f074d8ec5' 2014-08-27 21:09:30 +02:00