]> granicus.if.org Git - libvpx/commit
Optimize wedge partition selection.
authorGeza Lore <gezalore@gmail.com>
Wed, 1 Jun 2016 13:19:01 +0000 (14:19 +0100)
committerGeza Lore <gezalore@gmail.com>
Mon, 6 Jun 2016 13:43:10 +0000 (14:43 +0100)
commitefda2831e5f758b4f350679b5c55c0b9282449b0
treede7f86b9b25bad63745ffd0e92ebb2881bc597c9
parentf19700fe52850d051e505ec1b085f25060f7d054
Optimize wedge partition selection.

We can optimize wedge partition selection by pre-computing the
residuals of the 2 underlying predictors, and then blend these
to compute the sse of the compound predictor, without actually
having to compute and subtract the compound predictor.

Similarly we can pre-compute a proxy array which we can use to
cheaply check which mask sign would have lower sse.

Details are in wedge_utils.c.

Mathematically these are equivalence transformations, but due to the
finite precision the encoder output will be perturbed, though on
average this should make 0% difference.

ext-inter gains about ~4.5% speedup.

Change-Id: Ib2657c3209ae161b4090b58b4b6c392641bf2792
test/test.mk
test/vp10_wedge_utils_test.cc [new file with mode: 0644]
vp10/common/reconinter.c
vp10/common/reconinter.h
vp10/common/vp10_rtcd_defs.pl
vp10/encoder/rdopt.c
vp10/encoder/wedge_utils.c [new file with mode: 0644]
vp10/encoder/x86/wedge_utils_sse2.c [new file with mode: 0644]
vp10/vp10cx.mk