1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
FFmpeg/libavcodec/x86
James Darnley 54a51d3840 lavc/flacenc: partially unroll loop in flac_enc_lpc_16
It now does 12 samples per iteration, up from 4.

From 1.8 to 3.2 times faster again.  3.6 to 5.7 times faster overall.
Runtime is reduced by a further 2 to 18%.  Overall runtime reduced by
4 to 50%.

Same conditions as before apply.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 03:09:26 +02:00
..
ac3dsp_init.c
ac3dsp.asm
audiodsp_init.c
audiodsp.asm
blockdsp_init.c
blockdsp.asm
bswapdsp_init.c
bswapdsp.asm
cabac.h
cavsdsp.c Merge commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac' 2014-07-25 13:05:08 +02:00
constants.c x86: sbrdsp/fft: reuse ps_neg constant 2014-08-06 19:25:08 +02:00
constants.h x86: sbrdsp/fft: reuse ps_neg constant 2014-08-06 19:25:08 +02:00
dcadsp_init.c
dcadsp.asm
dct32.asm
dct_init.c
dct-test.c Merge commit 'a786c8259dafeca9744252230b5d78f67810770c' 2014-08-01 16:21:52 +02:00
deinterlace.asm
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
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
fft.asm x86: sbrdsp/fft: reuse ps_neg constant 2014-08-06 19:25:08 +02:00
fft.h
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 lavc/flacenc: add sse4 version of the 16-bit lpc encoder 2014-08-13 01:14:47 +02:00
flacdsp.asm
fmtconvert_init.c
fmtconvert.asm
fpel.asm
fpel.h
h263_loopfilter.asm
h263dsp_init.c
h264_chromamc_10bit.asm
h264_chromamc.asm
h264_deblock_10bit.asm
h264_deblock.asm
h264_i386.h
h264_idct_10bit.asm
h264_idct.asm
h264_intrapred_10bit.asm x86: vpx/h264/hevc/mpeg2: share constants 2014-08-06 18:36:31 +02:00
h264_intrapred_init.c
h264_intrapred.asm
h264_qpel_8bit.asm
h264_qpel_10bit.asm
h264_qpel.c Merge commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac' 2014-07-25 13:05:08 +02:00
h264_weight_10bit.asm
h264_weight.asm
h264chroma_init.c
h264dsp_init.c
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_mc: use fewer instructions in hevc_put_hevc_{uni, bi}_w[24]_{8, 10, 12} 2014-08-04 14:47:15 +02:00
hevcdsp_init.c x86/hevc_deblock: add add ff_hevc_[hv]_loop_filter_luma_{8, 10, 12}_avx 2014-07-29 14:04:59 +02:00
hevcdsp.h x86/hevc_idct: replace old and unused idct functions 2014-07-26 18:00:11 +02:00
hpeldsp_init.c
hpeldsp_rnd_template.c
hpeldsp.asm x86: vpx/h264/hevc/mpeg2: share constants 2014-08-06 18:36:31 +02:00
hpeldsp.h
huffyuvdsp_init.c
huffyuvdsp.asm
huffyuvencdsp_mmx.c
idct_mmx_xvid.c
idct_sse2_xvid.c Merge commit 'd35b94fbabd8beb5d566c0b5d01688aff62c3b36' 2014-08-09 12:11:13 +02:00
idct_xvid.h
idctdsp_init.c Merge commit '84d173d3de97c753234ab0c0b50551d51413d663' 2014-08-08 22:17:04 +02:00
idctdsp_mmx.c
idctdsp.asm
idctdsp.h
imdct36.asm
inline_asm.h x86: better share ff_pw_2 2014-08-06 19:24:49 +02:00
lossless_audiodsp_init.c
lossless_audiodsp.asm
lossless_videodsp_init.c
lossless_videodsp.asm
lpc.c
Makefile lavc/flacenc: add sse4 version of the 16-bit lpc encoder 2014-08-13 01:14:47 +02:00
mathops.h
me_cmp_init.c Merge commit '2d60444331fca1910510038dd3817bea885c2367' 2014-07-17 23:27:40 +02:00
me_cmp.asm Merge commit '2d60444331fca1910510038dd3817bea885c2367' 2014-07-17 23:27:40 +02:00
mlpdsp.c
mpegaudiodsp.c
mpegvideo.c
mpegvideodsp.c
mpegvideoenc_qns_template.c
mpegvideoenc_template.c Merge commit '85cabb8d002f2cd100ced5cc17d87bfc9460d314' 2014-07-19 13:45:59 +02:00
mpegvideoenc.c
mpegvideoencdsp_init.c
mpegvideoencdsp.asm
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
pngdsp.asm
proresdsp_init.c Merge commit 'b4987f72197e0c62cf2633bf835a9c32d2a445ae' 2014-07-18 22:01:17 +02:00
proresdsp.asm
qpel.asm
qpeldsp_init.c Merge commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac' 2014-07-25 13:05:08 +02:00
qpeldsp.asm
rnd_template.c
rv34dsp_init.c
rv34dsp.asm
rv40dsp_init.c Merge commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac' 2014-07-25 13:05:08 +02:00
rv40dsp.asm
sbrdsp_init.c
sbrdsp.asm x86: sbrdsp/fft: reuse ps_neg constant 2014-08-06 19:25:08 +02:00
simple_idct.c Merge commit '5dcc201505f71b1e73e9eef12ce89d4eed252ad0' 2014-07-19 13:56:29 +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
svq1enc.asm
ttadsp_init.c
ttadsp.asm x86/ttadsp: remove an unnecessary mova 2014-08-12 12:29:05 +02:00
v210-init.c
v210.asm
vc1dsp_init.c
vc1dsp_mmx.c
vc1dsp.asm
vc1dsp.h
videodsp_init.c
videodsp.asm
vorbisdsp_init.c
vorbisdsp.asm
vp3dsp_init.c
vp3dsp.asm
vp6dsp_init.c
vp6dsp.asm
vp8dsp_init.c
vp8dsp_loopfilter.asm
vp8dsp.asm x86: vpx/h264/hevc/mpeg2: share constants 2014-08-06 18:36:31 +02:00
vp9dsp_init.c
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 x86: vpx/h264/hevc/mpeg2: share constants 2014-08-06 18:36:31 +02:00
vp9mc.asm x86: vpx/h264/hevc/mpeg2: share constants 2014-08-06 18:36:31 +02:00
vp56_arith.h
w64xmmtest.c
xvididct_init.c Merge commit '84d173d3de97c753234ab0c0b50551d51413d663' 2014-08-08 22:17:04 +02:00