diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2017-01-31 20:07:30 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2017-02-01 02:01:07 +0100 |
commit | 536ac72f46b7b5094949b4e6a7e07cc8de86aac9 (patch) | |
tree | aabae9962c1a5d789dc426d08828340fd5968478 | |
parent | 3782656631fa8262528c07794acf7e9c2aab000d (diff) | |
download | ffmpeg-536ac72f46b7b5094949b4e6a7e07cc8de86aac9.tar.gz |
Revert "Merge commit '0a39c9ac0bfd7345fe676b4e2707d9cec3cbb553'"
The assumption this is based on is wrong, the code is not always run with bitexact flags
This reverts commit a956164e1eb3418922cae949f02ad4035f013213, reversing
changes made to f6005907fdeb9e4de37568ed5c1a8e7b869126f6.
Approved-by: James Almer <jamrial@gmail.com>
-rw-r--r-- | libavcodec/x86/hpeldsp.h | 2 | ||||
-rw-r--r-- | libavcodec/x86/hpeldsp_init.c | 2 | ||||
-rw-r--r-- | libavcodec/x86/hpeldsp_vp3_init.c | 14 |
3 files changed, 11 insertions, 7 deletions
diff --git a/libavcodec/x86/hpeldsp.h b/libavcodec/x86/hpeldsp.h index 0ecc97a83a..bf97029b57 100644 --- a/libavcodec/x86/hpeldsp.h +++ b/libavcodec/x86/hpeldsp.h @@ -52,6 +52,6 @@ void ff_put_pixels16_xy2_sse2(uint8_t *block, const uint8_t *pixels, void ff_put_pixels16_xy2_ssse3(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); -void ff_hpeldsp_vp3_init_x86(HpelDSPContext *c, int cpu_flags); +void ff_hpeldsp_vp3_init_x86(HpelDSPContext *c, int cpu_flags, int flags); #endif /* AVCODEC_X86_HPELDSP_H */ diff --git a/libavcodec/x86/hpeldsp_init.c b/libavcodec/x86/hpeldsp_init.c index e583bd9ffe..58e27e3542 100644 --- a/libavcodec/x86/hpeldsp_init.c +++ b/libavcodec/x86/hpeldsp_init.c @@ -309,5 +309,5 @@ av_cold void ff_hpeldsp_init_x86(HpelDSPContext *c, int flags) hpeldsp_init_ssse3(c, flags); if (CONFIG_VP3_DECODER) - ff_hpeldsp_vp3_init_x86(c, cpu_flags); + ff_hpeldsp_vp3_init_x86(c, cpu_flags, flags); } diff --git a/libavcodec/x86/hpeldsp_vp3_init.c b/libavcodec/x86/hpeldsp_vp3_init.c index 17fdd081f3..5979f4123c 100644 --- a/libavcodec/x86/hpeldsp_vp3_init.c +++ b/libavcodec/x86/hpeldsp_vp3_init.c @@ -38,15 +38,19 @@ void ff_put_no_rnd_pixels8_y2_exact_3dnow(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); -av_cold void ff_hpeldsp_vp3_init_x86(HpelDSPContext *c, int cpu_flags) +av_cold void ff_hpeldsp_vp3_init_x86(HpelDSPContext *c, int cpu_flags, int flags) { if (EXTERNAL_AMD3DNOW(cpu_flags)) { - c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_3dnow; - c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_3dnow; + if (flags & AV_CODEC_FLAG_BITEXACT) { + c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_3dnow; + c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_3dnow; + } } if (EXTERNAL_MMXEXT(cpu_flags)) { - c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_mmxext; - c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_mmxext; + if (flags & AV_CODEC_FLAG_BITEXACT) { + c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_mmxext; + c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_mmxext; + } } } |