]> granicus.if.org Git - libvpx/commit
AVX2 SubPixel AVG Variance Optimization
authorlevytamar82 <levytamar82@gmail.com>
Mon, 24 Feb 2014 06:58:56 +0000 (23:58 -0700)
committerlevytamar82 <levytamar82@gmail.com>
Sat, 1 Mar 2014 05:51:04 +0000 (22:51 -0700)
commitea1490968762b96f41548d792e84c7a195bb881f
tree25beaf337a864f27fc8169fe37889964d9eaffac
parent5a7ac03b9ea8e75f84982e5bc6d3145c8a43d41c
AVX2 SubPixel AVG Variance Optimization

Optimizing 2 functions to process 32 elements in parallel instead of 16:
1. vp9_sub_pixel_avg_variance64x64
2. vp9_sub_pixel_avg_variance32x32
both of those function were calling vp9_sub_pixel_avg_variance16xh_ssse3
instead of calling that function, it calls vp9_sub_pixel_avg_variance32xh_avx2
that is written in avx2 and process 32 elements in parallel.
This Optimization gave 80% function level gain and 2% user level gain

Change-Id: Iea694654e1b7612dc6ed11e2626208c2179502c8
vp9/common/vp9_rtcd_defs.sh
vp9/encoder/x86/vp9_subpel_variance_impl_intrin_avx2.c
vp9/encoder/x86/vp9_variance_avx2.c