Add half-pixel variance RTCD functions
authorJohn Koleszar <jkoleszar@google.com>
Tue, 26 Oct 2010 19:34:16 +0000 (15:34 -0400)
committerJohn Koleszar <jkoleszar@google.com>
Wed, 27 Oct 2010 03:00:56 +0000 (20:00 -0700)
commit209d82ad722bd9eb0de2d2cd1e73aec281f00e00
treee15b2fdc602a4491ee449c9b71bd3336555d2dbd
parentd6c67f02c9aae706701d3b94c20830b056c57ded
Add half-pixel variance RTCD functions

NEON has optimized 16x16 half-pixel variance functions, but they
were not part of the RTCD framework. Add these functions to RTCD,
so that other platforms can make use of this optimization in the
future and special-case ARM code can be removed.

A number of functions were taking two variance functions as
parameters. These functions were changed to take a single
parameter, a pointer to a struct containing all the variance
functions for that block size. This provides additional flexibility
for calling additional variance functions (the half-pixel special
case, for example) and by initializing the table for all block sizes,
we don't have to construct this function pointer table for each
macroblock.

Change-Id: I78289ff36b2715f9a7aa04d5f6fbe3d23acdc29c
14 files changed:
vp8/encoder/arm/mcomp_arm.c [deleted file]
vp8/encoder/arm/neon/vp8_subpixelvariance16x16s_neon.asm
vp8/encoder/arm/variance_arm.h
vp8/encoder/firstpass.c
vp8/encoder/mcomp.c
vp8/encoder/mcomp.h
vp8/encoder/onyx_if.c
vp8/encoder/onyx_int.h
vp8/encoder/pickinter.c
vp8/encoder/rdopt.c
vp8/encoder/temporal_filter.c
vp8/encoder/variance.h
vp8/encoder/variance_c.c
vp8/vp8cx_arm.mk