shithub: libvpx

Download patch

ref: 5eefd3ebfdf61f76676de4f86e128e3d101311a2
parent: 420e8d6d039c2224e00c13aba7f8908b68868359
author: Geza Lore <gezalore@gmail.com>
date: Wed Oct 28 10:35:04 EDT 2015

Add AVX vectorized vp9_diamond_search_sad

This function now has an AVX intrinsics version which is about 80%
faster compared to the C implementation. This provides a 2-4% total
speed-up for encode, depending on encoding parameters. The function
utilizes 3 properties of the cost function lookup table, constructed
in 'cal_nmvjointsadcost' and 'cal_nmvsadcosts'.
For the joint cost:
  - mvjointsadcost[1] == mvjointsadcost[2] == mvjointsadcost[3]
For the component costs:
  - For all i: mvsadcost[0][i] == mvsadcost[1][i]
        (equal per component cost)
  - For all i: mvsadcost[0][i] == mvsadcost[0][-i]
        (Cost function is even)
These must hold, otherwise the AVX version of the function cannot be used.

Change-Id: I6c2791d43022822a9e6ab43cd124a773946d0bdc