New motion vector entropy coding
authorDeb Mukherjee <debargha@google.com>
Thu, 26 Jul 2012 20:42:07 +0000 (13:42 -0700)
committerDeb Mukherjee <debargha@google.com>
Thu, 6 Sep 2012 15:28:21 +0000 (08:28 -0700)
commit00f9eb659034cb5cef0bf063c1b72c72c6333f36
tree760c659d32debf97ec1c0a6ecb5c9e834be4a915
parentde6dfa6bb0cd680ca446a15b52b2a026859eb1e6
New motion vector entropy coding

Adds a new experiment with redesigned/refactored motion vector entropy
coding. The patch also takes a first step towards separating the
integer and fractional pel components of a MV. However the fractional
pel encoding still depends on the integer pel part and so they are
not fully independent. Further experiments are in progress to see
how much they can be decoupled without affecting performance.
All components including entropy coding/decoding, costing for MV
search, forward updates and backward updates to probability tables,
have been implemented.

Results so far:
derf: +0.19%
std-hd: +0.28%
yt: +0.80%
hd: +1.15%

Patch: Simplifies the fractional pel models:
derf: +0.284%
std-hd: +0.289%
yt: +0.849%
hd: +1.254%

Patch: Some changes in the models, rebased.
derf: +0.330%
std-hd: +0.306%
yt: +0.816%
hd: +1.225%

Change-Id: I646b3c48f3587f4cc909639b78c3798da6402678
23 files changed:
configure
vp8/common/entropymv.c
vp8/common/entropymv.h
vp8/common/onyxc_int.h
vp8/common/reconinter.c
vp8/common/treecoder.c
vp8/common/treecoder.h
vp8/decoder/decodemv.c
vp8/decoder/decodframe.c
vp8/encoder/bitstream.c
vp8/encoder/block.h
vp8/encoder/encodeframe.c
vp8/encoder/encodemv.c
vp8/encoder/encodemv.h
vp8/encoder/firstpass.c
vp8/encoder/mbgraph.c
vp8/encoder/mcomp.c
vp8/encoder/mcomp.h
vp8/encoder/onyx_if.c
vp8/encoder/onyx_int.h
vp8/encoder/ratectrl.c
vp8/encoder/rdopt.c
vp8/encoder/temporal_filter.c