1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-12 19:18:44 +02:00
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
..
ac3dsp_init.c
ac3dsp.asm
apedsp_init.c
apedsp.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
audiodsp_init.c
audiodsp_mmx.c
audiodsp.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
audiodsp.h
blockdsp.c
bswapdsp_init.c
bswapdsp.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
cabac.h
cavsdsp.c x86: cavs: Remove an unneeded scratch buffer 2015-05-28 18:40:40 +02:00
constants.c
constants.h
dca.h
dcadsp_init.c dca: remove unused decode_hf function and quant_d tables 2015-12-24 13:58:18 +01:00
dcadsp.asm dca: remove unused decode_hf function and quant_d tables 2015-12-24 13:58:18 +01:00
dct32.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
dct_init.c x86: dct: Disable dct32_float_sse on x86-64 2015-08-02 08:41:45 +02:00
dct-test.c cosmetics: Make naming scheme of Xvid IDCT consistent with other IDCTs 2014-08-27 04:54:05 -07:00
dnxhdenc_init.c
dnxhdenc.asm
fdct.c
fdct.h
fdctdsp_init.c
fft_init.c x86: check for AV_CPU_FLAG_AVXSLOW where useful 2015-05-31 12:07:11 +02:00
fft.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
fft.h
fmtconvert_init.c fmtconvert: drop unused functions 2015-02-28 21:51:24 +01:00
fmtconvert.asm x86: use emms after ff_int32_to_float_fmul_scalar_sse 2015-12-30 13:37:57 +01:00
fpel_mmx.c
fpel.asm
fpel.h
h263_loopfilter.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
h263dsp_init.c
h264_chromamc_10bit.asm
h264_chromamc.asm
h264_deblock_10bit.asm
h264_deblock.asm x86inc: Support arbitrary stack alignments 2015-08-11 11:04:11 +02:00
h264_i386.h
h264_idct_10bit.asm
h264_idct.asm
h264_intrapred_10bit.asm
h264_intrapred_init.c
h264_intrapred.asm x86: h264_intrapred: Don't treat 32-bit integers as 64-bit 2014-10-08 08:15:52 +00:00
h264_qpel_8bit.asm
h264_qpel_10bit.asm
h264_qpel.c h264_qpel: Use the correct header 2015-06-12 17:02:48 +01:00
h264_weight_10bit.asm
h264_weight.asm h264_weight: Fix SSSE3 biweight code with weights of 128 2015-06-12 17:02:48 +01:00
h264chroma_init.c
h264dsp_init.c
hevc_deblock.asm hevc_deblock: Fix compilation with nasm 2015-02-22 22:34:20 +00:00
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_init.c lavc: AV-prefix all codec flags 2015-07-27 15:24:58 +01:00
hpeldsp_mmx.c
hpeldsp_rnd_template.c
hpeldsp.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
hpeldsp.h
huffyuvdsp_init.c
huffyuvdsp.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
huffyuvencdsp_mmx.c
idctdsp_init.c
idctdsp_mmx.c
idctdsp.h
imdct36.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
inline_asm.h
lpc.c
Makefile hevcdsp: add x86 SIMD for MC 2015-12-05 21:11:52 +01:00
mathops.h x86: Put COPY3_IF_LT under HAVE_6REGS 2015-03-17 12:31:04 +01:00
me_cmp_init.c lavc: AV-prefix all codec flags 2015-07-27 15:24:58 +01:00
me_cmp.asm
mlpdsp.c
mpegaudiodsp.c
mpegvideo.c lavc: AV-prefix all codec flags 2015-07-27 15:24:58 +01:00
mpegvideodsp.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
mpegvideoenc.c mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes 2014-08-15 01:26:33 -07:00
mpegvideoencdsp_init.c lavc: AV-prefix all codec flags 2015-07-27 15:24:58 +01:00
mpegvideoencdsp.asm
pixblockdsp_init.c
pixblockdsp.asm
pngdsp_init.c
pngdsp.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
proresdsp_init.c
proresdsp.asm
qpel.asm
qpeldsp_init.c
qpeldsp.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
rnd_template.c
rv34dsp_init.c
rv34dsp.asm
rv40dsp_init.c
rv40dsp.asm
sbrdsp_init.c
sbrdsp.asm x86inc: Drop SECTION_TEXT macro 2015-08-11 11:12:01 +02:00
simple_idct.c idctdsp: Add global function pointers for {add|put}_pixels_clamped functions 2014-09-02 14:41:13 -07:00
simple_idct.h
svq1enc.c
v210enc_init.c v210enc: Add SIMD optimised 8-bit and 10-bit encoders 2014-12-05 13:03:49 +00:00
v210enc.asm v210enc: Add SIMD optimised 8-bit and 10-bit encoders 2014-12-05 13:03:49 +00:00
vc1dsp_init.c
vc1dsp_mmx.c
vc1dsp.asm
vc1dsp.h
videodsp_init.c
videodsp.asm
vorbisdsp_init.c
vorbisdsp.asm
vp3dsp_init.c lavc: AV-prefix all codec flags 2015-07-27 15:24:58 +01:00
vp3dsp.asm
vp6dsp_init.c
vp6dsp.asm
vp8dsp_init.c
vp8dsp_loopfilter.asm
vp8dsp.asm
vp9dsp_init.c
vp9dsp.asm
vp56_arith.h
w64xmmtest.c
xvididct_init.c xvid: Add C IDCT 2014-09-02 14:41:13 -07:00
xvididct_mmx.c x86: xvid: K&R formatting cosmetics 2014-08-27 05:58:04 -07:00
xvididct_sse2.c x86: xvid: K&R formatting cosmetics 2014-08-27 05:58:04 -07:00
xvididct.h cosmetics: Make naming scheme of Xvid IDCT consistent with other IDCTs 2014-08-27 04:54:05 -07:00