shithub: libvpx

Download patch

ref: e4ddf9db6a37eee59c079f5ae427643ae3424fcf
parent: 70240a77b8decede28132fd4dbf1fa48713edea4
author: Johann <[email protected]>
date: Mon Sep 26 12:20:32 EDT 2016

Hook up vp8_diamond_search_sad_sse3

The original commit never set any 'specialize' line:
61311e61039c300ae872ccba22304e9e60dc0205

It appears the sadx4 version of function uses sdx4df calls to speed up
the search. There are no sse3 versions of the sdx4df functions, but
there are sse2 and msa versions.

There is a neon version of vpx_sad16x16x4d but not any of the smaller
versions. Perhaps if they existed this function could be expanded to use
them.

Change-Id: I936d7d6b1a3ff6dcd5a4d2322272708c47cdec13

--- a/vp8/common/rtcd_defs.pl
+++ b/vp8/common/rtcd_defs.pl
@@ -251,7 +251,9 @@
 $vp8_refining_search_sad_sse3=vp8_refining_search_sadx4;
 
 add_proto qw/int vp8_diamond_search_sad/, "struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv";
-$vp8_diamond_search_sad_sse3=vp8_diamond_search_sadx4;
+specialize qw/vp8_diamond_search_sad sse2 msa/;
+$vp8_diamond_search_sad_sse2=vp8_diamond_search_sadx4;
+$vp8_diamond_search_sad_msa=vp8_diamond_search_sadx4;
 
 #
 # Alt-ref Noise Reduction (ARNR)