diff options
author | Frank Galligan <fgalligan@google.com> | 2015-01-13 11:15:24 -0800 |
---|---|---|
committer | Frank Galligan <fgalligan@google.com> | 2015-01-13 15:08:13 -0800 |
commit | 74d40cd507594fe775644d52a8f03b23f3ddf8c9 (patch) | |
tree | 575424bd9ceb276339dc717185d33b4427e4b2a8 /vp9/common | |
parent | 0337bae9b3cdb2869073911b0efc2b4f3cfcf595 (diff) | |
download | libvpx-74d40cd507594fe775644d52a8f03b23f3ddf8c9.tar libvpx-74d40cd507594fe775644d52a8f03b23f3ddf8c9.tar.gz libvpx-74d40cd507594fe775644d52a8f03b23f3ddf8c9.tar.bz2 libvpx-74d40cd507594fe775644d52a8f03b23f3ddf8c9.zip |
Add 64x variance Neon functions
Add optimized Neon functions of:
vp9_variance32x64
vp9_variance64x32
vp9_variance64x64
On Nexus 7 speed -5 and -6 saw about a 4% increase in perf.
Speeds -7 and -8 saw about a 6% increase in perf.
Tested on Nexus 7, built with ndk r10d, gcc 4.9.
Change-Id: I5a81f13c9897eb927fa39662530f5524a0f768fa
Diffstat (limited to 'vp9/common')
-rw-r--r-- | vp9/common/vp9_rtcd_defs.pl | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/vp9/common/vp9_rtcd_defs.pl b/vp9/common/vp9_rtcd_defs.pl index 88f85a86d..b59e6ebe7 100644 --- a/vp9/common/vp9_rtcd_defs.pl +++ b/vp9/common/vp9_rtcd_defs.pl @@ -798,16 +798,16 @@ add_proto qw/unsigned int vp9_variance16x32/, "const uint8_t *src_ptr, int sourc specialize qw/vp9_variance16x32/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_variance64x32/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; -specialize qw/vp9_variance64x32 avx2/, "$sse2_x86inc"; +specialize qw/vp9_variance64x32 avx2 neon/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_variance32x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; -specialize qw/vp9_variance32x64/, "$sse2_x86inc"; +specialize qw/vp9_variance32x64 neon/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_variance32x32/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; specialize qw/vp9_variance32x32 avx2 neon/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_variance64x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; -specialize qw/vp9_variance64x64 avx2/, "$sse2_x86inc"; +specialize qw/vp9_variance64x64 avx2 neon/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_variance16x16/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; specialize qw/vp9_variance16x16 avx2 neon/, "$sse2_x86inc"; |