ffmpeg/libavcodec/x86
Janne Grunau 8563f98871 x86: use emms after ff_int32_to_float_fmul_scalar_sse
Intel's Instruction Set Reference (as of September 2015) clearly states
that cvtpi2ps switches to MMX state. Actual CPUs do not switch if the
source is a memory location. The Instruction Set Reference from 1999
(Order Number 243191) describes this behaviour but all later versions
I've seen have make no distinction whether MMX registers or memory is
used as source.
The documentation for the matching SSE2 instruction to convert to double
(cvtpi2pd) was fixed (see the valgrind bug
https://bugs.kde.org/show_bug.cgi?id=210264).

It will take time to get a clarification and fixes in place. In the
meantime it makes sense to change ff_int32_to_float_fmul_scalar_sse to
be correct according to the documentation. The vast majority of users
will have SSE2 so a change to the SSE version has little effect.

Fixes fate-checkasm on x86 valgrind targets.

Valgrind 'bug' reported as https://bugs.kde.org/show_bug.cgi?id=357059
2015-12-30 13:37:57 +01:00
..
Makefile hevcdsp: add x86 SIMD for MC 2015-12-05 21:11:52 +01:00
ac3dsp.asm
ac3dsp_init.c
apedsp.asm
apedsp_init.c
audiodsp.asm
audiodsp.h
audiodsp_init.c
audiodsp_mmx.c
blockdsp.c
bswapdsp.asm
bswapdsp_init.c
cabac.h
cavsdsp.c
constants.c
constants.h
dca.h
dcadsp.asm dca: remove unused decode_hf function and quant_d tables 2015-12-24 13:58:18 +01:00
dcadsp_init.c dca: remove unused decode_hf function and quant_d tables 2015-12-24 13:58:18 +01:00
dct-test.c
dct32.asm
dct_init.c
dnxhdenc.asm
dnxhdenc_init.c
fdct.c
fdct.h
fdctdsp_init.c
fft.asm
fft.h
fft_init.c
fmtconvert.asm x86: use emms after ff_int32_to_float_fmul_scalar_sse 2015-12-30 13:37:57 +01:00
fmtconvert_init.c
fpel.asm
fpel.h
fpel_mmx.c
h263_loopfilter.asm
h263dsp_init.c
h264_chromamc.asm
h264_chromamc_10bit.asm
h264_deblock.asm
h264_deblock_10bit.asm
h264_i386.h
h264_idct.asm
h264_idct_10bit.asm
h264_intrapred.asm
h264_intrapred_10bit.asm
h264_intrapred_init.c
h264_qpel.c
h264_qpel_8bit.asm
h264_qpel_10bit.asm
h264_weight.asm
h264_weight_10bit.asm
h264chroma_init.c
h264dsp_init.c
hevc_deblock.asm
hevc_mc.asm hevcdsp: use a macro for .rodata section 2015-12-11 16:19:30 +01:00
hevcdsp_init.c hevcdsp: add x86 SIMD for MC 2015-12-05 21:11:52 +01:00
hpeldsp.asm
hpeldsp.h
hpeldsp_init.c
hpeldsp_mmx.c
hpeldsp_rnd_template.c
huffyuvdsp.asm
huffyuvdsp_init.c
huffyuvencdsp_mmx.c
idctdsp.h
idctdsp_init.c
idctdsp_mmx.c
imdct36.asm
inline_asm.h
lpc.c
mathops.h
me_cmp.asm
me_cmp_init.c
mlpdsp.c
mpegaudiodsp.c
mpegvideo.c
mpegvideodsp.c
mpegvideoenc.c
mpegvideoenc_qns_template.c
mpegvideoenc_template.c mpegvideo: Make sure mpegutils.h is included where needed 2015-09-13 17:34:45 +02:00
mpegvideoencdsp.asm
mpegvideoencdsp_init.c
pixblockdsp.asm
pixblockdsp_init.c
pngdsp.asm
pngdsp_init.c
proresdsp.asm
proresdsp_init.c
qpel.asm
qpeldsp.asm
qpeldsp_init.c
rnd_template.c
rv34dsp.asm
rv34dsp_init.c
rv40dsp.asm
rv40dsp_init.c
sbrdsp.asm
sbrdsp_init.c
simple_idct.c
simple_idct.h
svq1enc.c
v210enc.asm
v210enc_init.c
vc1dsp.asm
vc1dsp.h
vc1dsp_init.c
vc1dsp_mmx.c
videodsp.asm
videodsp_init.c
vorbisdsp.asm
vorbisdsp_init.c
vp3dsp.asm
vp3dsp_init.c
vp6dsp.asm
vp6dsp_init.c
vp8dsp.asm
vp8dsp_init.c
vp8dsp_loopfilter.asm
vp9dsp.asm
vp9dsp_init.c
vp56_arith.h
w64xmmtest.c
xvididct.h
xvididct_init.c
xvididct_mmx.c
xvididct_sse2.c