1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-03 05:10:03 +02:00
FFmpeg/libavcodec/x86
Christophe Gisquet e652f69b35 x86: simple_idct10_template: fix overflow in pass
When the input of a pass has 15 or 16 bits of precision (in particular
the column pass), the addition of a bias to W4 may lead to overflows
in the input to pmaddwd.

This requires postponing the adding of the bias to after the first
butterfly. To do so, the fact that m15, unused although zeroed, is
exploited. In case the pass is safe, an address can be directly used,
and the number of xmm regs can be decreased. Otherwise, the 32bits bias
is loaded into it.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-13 12:51:10 +02:00
..
aacpsdsp_init.c
aacpsdsp.asm
ac3dsp_init.c
ac3dsp.asm
alacdsp_init.c x86/alacdsp: add simd optimized functions 2015-10-06 20:22:00 -03:00
alacdsp.asm x86/alacdsp: add simd optimized functions 2015-10-06 20:22:00 -03:00
audiodsp_init.c
audiodsp.asm
blockdsp_init.c blockdsp: reindent after parameter removal 2015-10-03 23:34:56 +02:00
blockdsp.asm
bswapdsp_init.c
bswapdsp.asm
cabac.h
cavsdsp.c avcodec/x86/cavsdsp: silence -Wunused-variable on --disable-mmx 2015-09-24 04:27:50 +02:00
constants.c x86: prores: templatize 10 bits simple_idct 2015-10-13 01:10:34 +02:00
constants.h x86: prores: templatize 10 bits simple_idct 2015-10-13 01:10:34 +02:00
dcadsp_init.c
dcadsp.asm
dct32.asm
dct_init.c
dct-test.c
dirac_dwt.c
dirac_dwt.h
diracdsp_mmx.c
diracdsp_mmx.h
diracdsp_yasm.asm
dnxhdenc_init.c
dnxhdenc.asm
dwt_yasm.asm
fdct.c
fdct.h
fdctdsp_init.c
fft_init.c
fft.asm
fft.h
flac_dsp_gpl.asm
flacdsp_init.c
flacdsp.asm
fmtconvert_init.c
fmtconvert.asm
fpel.asm
fpel.h
g722dsp_init.c
g722dsp.asm
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 vp9: 16bpp tm/dc/h/v intra pred simd (mostly sse2) functions. 2015-10-03 14:42:39 -04:00
h264_idct.asm
h264_intrapred_10bit.asm vp9: 16bpp tm/dc/h/v intra pred simd (mostly sse2) functions. 2015-10-03 14:42:39 -04:00
h264_intrapred_init.c
h264_intrapred.asm
h264_qpel_8bit.asm
h264_qpel_10bit.asm vp9: 10/12bpp SIMD (sse2/ssse3/avx) for directional intra prediction. 2015-10-03 14:42:39 -04:00
h264_qpel.c
h264_weight_10bit.asm
h264_weight.asm
h264chroma_init.c
h264dsp_init.c
hevc_deblock.asm
hevc_idct.asm
hevc_mc.asm
hevc_res_add.asm
hevc_sao_10bit.asm x86/hevc_sao: move 10/12bit functions into a separate file 2015-09-30 02:59:55 -03:00
hevc_sao.asm x86/hevc_sao: move 10/12bit functions into a separate file 2015-09-30 02:59:55 -03:00
hevcdsp_init.c
hevcdsp.h
hpeldsp_init.c avcodec/x86/hpeldsp_init: silence -Wunused-function on --disable-mmx 2015-09-19 23:10:52 +02:00
hpeldsp_rnd_template.c avcodec/x86/hpeldsp_rnd_template: silence -Wunused-function on --disable-mmx 2015-10-03 14:24:41 +02:00
hpeldsp.asm
hpeldsp.h
huffyuvdsp_init.c
huffyuvdsp.asm
huffyuvencdsp_mmx.c
idctdsp_init.c
idctdsp.asm
idctdsp.h
imdct36.asm
inline_asm.h
jpeg2000dsp_init.c
jpeg2000dsp.asm
lossless_audiodsp_init.c
lossless_audiodsp.asm
lossless_videodsp_init.c Replace all remaining occurances of step/depth_minus1 and offset_plus1 2015-09-08 17:10:48 +02:00
lossless_videodsp.asm
lpc.c
Makefile avcodec/takdec: add x86 SIMD for rest of decorrelation modes 2015-10-09 21:38:15 +02:00
mathops.h
me_cmp_init.c
me_cmp.asm
mlpdsp_init.c
mlpdsp.asm
mpegaudiodsp.c avcodec/x86/mpegaudiodsp: silence -Wunused-variable on --disable-mmx 2015-09-22 23:45:03 +02:00
mpegvideo.c avcodec/mpeg12enc: Basic support for encoding non even QPs for -non_linear_quant 1 2015-09-18 02:52:57 +02:00
mpegvideodsp.c
mpegvideoenc_qns_template.c
mpegvideoenc_template.c Merge commit '5d14cf199990cd378904a2618b5c72c4b02290f6' 2015-09-16 11:23:40 +02:00
mpegvideoenc.c avcodec/x86/mpegvideoenc: silence -Wunused-function on --disable-mmx 2015-09-19 23:26:57 +02:00
mpegvideoencdsp_init.c
mpegvideoencdsp.asm
pixblockdsp_init.c
pixblockdsp.asm
pngdsp_init.c
pngdsp.asm
proresdsp_init.c
proresdsp.asm x86: simple_idct10_template: fix overflow in pass 2015-10-13 12:51:10 +02:00
qpel.asm
qpeldsp_init.c
qpeldsp.asm
rnd_template.c avcodec/x86/rnd_template: silence -Wunused-function on --disable-mmx 2015-09-29 19:37:26 +02:00
rv34dsp_init.c
rv34dsp.asm
rv40dsp_init.c avcodec/x86/rv40dsp_init: silence -Wunused-variable on --disable-mmx 2015-09-22 23:45:03 +02:00
rv40dsp.asm
sbrdsp_init.c
sbrdsp.asm avcodec/x86/sbrdsp: Fix using uninitialized upper 32bit of noise 2015-09-29 13:23:25 +02:00
simple_idct10_template.asm x86: simple_idct10_template: fix overflow in pass 2015-10-13 12:51:10 +02:00
simple_idct.c
simple_idct.h
snowdsp.c
svq1enc_init.c
svq1enc.asm
takdsp_init.c avcodec/takdec: add x86 SIMD for rest of decorrelation modes 2015-10-09 21:38:15 +02:00
takdsp.asm x86/takdsp: use arithmetic shift instructions 2015-10-09 23:52:39 -03:00
ttadsp_init.c
ttadsp.asm
v210-init.c
v210.asm
v210enc_init.c
v210enc.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
vp9dsp_init_10bpp.c vp9: add subpel MC SIMD for 10/12bpp. 2015-09-16 21:11:34 -04:00
vp9dsp_init_12bpp.c vp9: add subpel MC SIMD for 10/12bpp. 2015-09-16 21:11:34 -04:00
vp9dsp_init_16bpp_template.c vp9: 16bpp tm/dc/h/v intra pred simd (mostly sse2) functions. 2015-10-03 14:42:39 -04:00
vp9dsp_init_16bpp.c vp9: 10/12bpp SIMD (sse2/ssse3/avx) for directional intra prediction. 2015-10-03 14:42:39 -04:00
vp9dsp_init.c vp9: add subpel MC SIMD for 10/12bpp. 2015-09-16 21:11:34 -04:00
vp9dsp_init.h vp9: 10/12bpp SIMD (sse2/ssse3/avx) for directional intra prediction. 2015-10-03 14:42:39 -04:00
vp9intrapred_16bpp.asm vp9: don't keep a stack pointer if we don't need it. 2015-10-07 08:55:19 -04:00
vp9intrapred.asm
vp9itxfm.asm x86: port PSIGNW to cpuflags 2015-09-11 23:27:03 -03:00
vp9lpf_16bpp.asm vp9: sse2/ssse3/avx 16bpp loopfilter x86 simd. 2015-10-03 14:42:39 -04:00
vp9lpf.asm
vp9mc_16bpp.asm vp9: sse2/ssse3/avx 16bpp loopfilter x86 simd. 2015-10-03 14:42:39 -04:00
vp9mc.asm x86/vp9mc: fix string concatenation of fullpel function names 2015-09-20 12:32:27 -03:00
vp56_arith.h
w64xmmtest.c avcodec/x86/w64xmmtest: Fix another build failure 2015-09-05 22:15:53 +02:00
xvididct_init.c
xvididct.asm
xvididct.h