ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Tue Jan 31 14:53:27 2017 -0300| [4d0e89ce27bc8d995bf9be831e62ea0b3893e375] | committer: James Almer
Merge commit 'c3e83ad3b7d75f3597f47ada2616ba4479665009' * commit 'c3e83ad3b7d75f3597f47ada2616ba4479665009': x86: hpeldsp: Use EXTERNAL_SSE2_FAST where appropriate Merged-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4d0e89ce27bc8d995bf9be831e62ea0b3893e375 --- libavcodec/x86/hpeldsp_init.c | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/libavcodec/x86/hpeldsp_init.c b/libavcodec/x86/hpeldsp_init.c index e8da184..a192924 100644 --- a/libavcodec/x86/hpeldsp_init.c +++ b/libavcodec/x86/hpeldsp_init.c @@ -264,21 +264,18 @@ static void hpeldsp_init_3dnow(HpelDSPContext *c, int flags, int cpu_flags) #endif /* HAVE_AMD3DNOW_EXTERNAL */ } -static void hpeldsp_init_sse2(HpelDSPContext *c, int flags, int cpu_flags) +static void hpeldsp_init_sse2_fast(HpelDSPContext *c, int flags, int cpu_flags) { #if HAVE_SSE2_EXTERNAL - if (!(cpu_flags & AV_CPU_FLAG_SSE2SLOW)) { - // these functions are slower than mmx on AMD, but faster on Intel - c->put_pixels_tab[0][0] = ff_put_pixels16_sse2; - c->put_no_rnd_pixels_tab[0][0] = ff_put_pixels16_sse2; - c->put_pixels_tab[0][1] = ff_put_pixels16_x2_sse2; - c->put_pixels_tab[0][2] = ff_put_pixels16_y2_sse2; - c->put_pixels_tab[0][3] = ff_put_pixels16_xy2_sse2; - c->avg_pixels_tab[0][0] = ff_avg_pixels16_sse2; - c->avg_pixels_tab[0][1] = ff_avg_pixels16_x2_sse2; - c->avg_pixels_tab[0][2] = ff_avg_pixels16_y2_sse2; - c->avg_pixels_tab[0][3] = ff_avg_pixels16_xy2_sse2; - } + c->put_pixels_tab[0][0] = ff_put_pixels16_sse2; + c->put_no_rnd_pixels_tab[0][0] = ff_put_pixels16_sse2; + c->put_pixels_tab[0][1] = ff_put_pixels16_x2_sse2; + c->put_pixels_tab[0][2] = ff_put_pixels16_y2_sse2; + c->put_pixels_tab[0][3] = ff_put_pixels16_xy2_sse2; + c->avg_pixels_tab[0][0] = ff_avg_pixels16_sse2; + c->avg_pixels_tab[0][1] = ff_avg_pixels16_x2_sse2; + c->avg_pixels_tab[0][2] = ff_avg_pixels16_y2_sse2; + c->avg_pixels_tab[0][3] = ff_avg_pixels16_xy2_sse2; #endif /* HAVE_SSE2_EXTERNAL */ } @@ -305,8 +302,8 @@ av_cold void ff_hpeldsp_init_x86(HpelDSPContext *c, int flags) if (EXTERNAL_MMXEXT(cpu_flags)) hpeldsp_init_mmxext(c, flags, cpu_flags); - if (EXTERNAL_SSE2(cpu_flags)) - hpeldsp_init_sse2(c, flags, cpu_flags); + if (EXTERNAL_SSE2_FAST(cpu_flags)) + hpeldsp_init_sse2_fast(c, flags, cpu_flags); if (EXTERNAL_SSSE3(cpu_flags)) hpeldsp_init_ssse3(c, flags, cpu_flags); ====================================================================== diff --cc libavcodec/x86/hpeldsp_init.c index e8da184,a7a4515..a192924 --- a/libavcodec/x86/hpeldsp_init.c +++ b/libavcodec/x86/hpeldsp_init.c @@@ -264,21 -229,12 +264,18 @@@ static void hpeldsp_init_3dnow(HpelDSPC #endif /* HAVE_AMD3DNOW_EXTERNAL */ } - static void hpeldsp_init_sse2(HpelDSPContext *c, int flags, int cpu_flags) + static void hpeldsp_init_sse2_fast(HpelDSPContext *c, int flags, int cpu_flags) { #if HAVE_SSE2_EXTERNAL - if (!(cpu_flags & AV_CPU_FLAG_SSE2SLOW)) { - // these functions are slower than mmx on AMD, but faster on Intel - c->put_pixels_tab[0][0] = ff_put_pixels16_sse2; - c->put_no_rnd_pixels_tab[0][0] = ff_put_pixels16_sse2; - c->put_pixels_tab[0][1] = ff_put_pixels16_x2_sse2; - c->put_pixels_tab[0][2] = ff_put_pixels16_y2_sse2; - c->put_pixels_tab[0][3] = ff_put_pixels16_xy2_sse2; - c->avg_pixels_tab[0][0] = ff_avg_pixels16_sse2; - c->avg_pixels_tab[0][1] = ff_avg_pixels16_x2_sse2; - c->avg_pixels_tab[0][2] = ff_avg_pixels16_y2_sse2; - c->avg_pixels_tab[0][3] = ff_avg_pixels16_xy2_sse2; - } + c->put_pixels_tab[0][0] = ff_put_pixels16_sse2; + c->put_no_rnd_pixels_tab[0][0] = ff_put_pixels16_sse2; ++ c->put_pixels_tab[0][1] = ff_put_pixels16_x2_sse2; ++ c->put_pixels_tab[0][2] = ff_put_pixels16_y2_sse2; ++ c->put_pixels_tab[0][3] = ff_put_pixels16_xy2_sse2; + c->avg_pixels_tab[0][0] = ff_avg_pixels16_sse2; ++ c->avg_pixels_tab[0][1] = ff_avg_pixels16_x2_sse2; ++ c->avg_pixels_tab[0][2] = ff_avg_pixels16_y2_sse2; ++ c->avg_pixels_tab[0][3] = ff_avg_pixels16_xy2_sse2; #endif /* HAVE_SSE2_EXTERNAL */ } @@@ -305,12 -251,9 +302,12 @@@ av_cold void ff_hpeldsp_init_x86(HpelDS if (EXTERNAL_MMXEXT(cpu_flags)) hpeldsp_init_mmxext(c, flags, cpu_flags); - if (EXTERNAL_SSE2(cpu_flags)) - hpeldsp_init_sse2(c, flags, cpu_flags); + if (EXTERNAL_SSE2_FAST(cpu_flags)) + hpeldsp_init_sse2_fast(c, flags, cpu_flags); + if (EXTERNAL_SSSE3(cpu_flags)) + hpeldsp_init_ssse3(c, flags, cpu_flags); + if (CONFIG_VP3_DECODER) ff_hpeldsp_vp3_init_x86(c, cpu_flags, flags); } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog