diff options
author | James Almer <jamrial@gmail.com> | 2017-02-02 17:51:21 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2017-02-02 17:51:21 -0300 |
commit | c8467abbadab424757ea23f71a1036abfb7f14b4 (patch) | |
tree | 41a4db9cdb0453253f65df734df858cf0e08ca7a /libavcodec/x86/rv34dsp_init.c | |
parent | ab5c4d006da0b3e7aea6fddcebdf5d3d9ad7fd30 (diff) | |
download | ffmpeg-c8467abbadab424757ea23f71a1036abfb7f14b4.tar.gz |
x86/rv34dsp: add ff_rv34_idct_dc_add_sse2
Also disable ff_rv34_idct_dc_add_mmx on x86_64 as the presence of sse2
is guaranteed in such builds.
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/x86/rv34dsp_init.c')
-rw-r--r-- | libavcodec/x86/rv34dsp_init.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/x86/rv34dsp_init.c b/libavcodec/x86/rv34dsp_init.c index d417dac45b..7310122458 100644 --- a/libavcodec/x86/rv34dsp_init.c +++ b/libavcodec/x86/rv34dsp_init.c @@ -27,6 +27,7 @@ void ff_rv34_idct_dc_mmxext(int16_t *block); void ff_rv34_idct_dc_noround_mmxext(int16_t *block); void ff_rv34_idct_dc_add_mmx(uint8_t *dst, ptrdiff_t stride, int dc); +void ff_rv34_idct_dc_add_sse2(uint8_t *dst, ptrdiff_t stride, int dc); void ff_rv34_idct_dc_add_sse4(uint8_t *dst, ptrdiff_t stride, int dc); void ff_rv34_idct_add_mmxext(uint8_t *dst, ptrdiff_t stride, int16_t *block); @@ -34,12 +35,14 @@ av_cold void ff_rv34dsp_init_x86(RV34DSPContext* c) { int cpu_flags = av_get_cpu_flags(); - if (EXTERNAL_MMX(cpu_flags)) + if (ARCH_X86_32 && EXTERNAL_MMX(cpu_flags)) c->rv34_idct_dc_add = ff_rv34_idct_dc_add_mmx; if (EXTERNAL_MMXEXT(cpu_flags)) { c->rv34_inv_transform_dc = ff_rv34_idct_dc_noround_mmxext; c->rv34_idct_add = ff_rv34_idct_add_mmxext; } + if (EXTERNAL_SSE2(cpu_flags)) + c->rv34_idct_dc_add = ff_rv34_idct_dc_add_sse2; if (EXTERNAL_SSE4(cpu_flags)) c->rv34_idct_dc_add = ff_rv34_idct_dc_add_sse4; } |