BITSTREAM: Handle transform size and motion vectors more logically for non-420.
authorAlex Converse <aconverse@google.com>
Thu, 27 Mar 2014 21:27:12 +0000 (14:27 -0700)
committerAlex Converse <aconverse@google.com>
Wed, 18 Jun 2014 20:07:51 +0000 (13:07 -0700)
commit7557a65d16c7e45bac6b82e62487dd2a75779f64
tree7561d2930c9ef78e2e77dd3e5e5b744f244c9aed
parent74ec6fbeba816e5cdf3c6c0960b4629ca69f2e95
BITSTREAM: Handle transform size and motion vectors more logically for non-420.

This breaks the profile 1 bitstream.

Don't force non420 uv transform size to 1/4 y size. In the 4:2:0 case the
chroma corresponding to a luma block is 1/4 its size. In the 4:4:4 case
chroma and luma planes are the same size. Disallowing larger transforms
can result in a loss of compression efficiency and is inconsistent.

For sub-8x8 blocks only average corresponding motion vectors.

4:2:0 and profile 0 behavior remains unchanged.

Change-Id: I560ae07183012c6734dd1860ea54ed6f62f3cae8
test/test-data.sha1
test/test.mk
test/test_vectors.cc
vp9/common/vp9_blockd.c
vp9/common/vp9_blockd.h
vp9/common/vp9_loopfilter.c
vp9/common/vp9_reconinter.c
vp9/encoder/vp9_encodemb.c
vp9/encoder/vp9_rdopt.c