Remove secondary mv clamping from decode stage
authorJohn Koleszar <jkoleszar@google.com>
Wed, 9 Jun 2010 15:29:20 +0000 (11:29 -0400)
committerJohn Koleszar <jkoleszar@google.com>
Wed, 9 Jun 2010 15:47:24 +0000 (11:47 -0400)
commit3085025fa1392e99bc95a519657374f2e9a4249b
treee7b99e8786ac1788f2c1f2c3788746532563ddf3
parent4bb895e85401d81d7dd2615380309812edfefc5e
Remove secondary mv clamping from decode stage

This patch removes the secondary MV clamping from the MV decoder. This
behavior was consistent with limits placed on non-split MVs by the
reference encoder, but was inconsistent with the MVs generated in the
split case.

The purpose of this secondary clamping was only to prevent crashes on
invalid data. It was not intended to be a behaviour an encoder could or
should rely on. Instead of doing additional clamping in a way that
changes the entropy context, the secondary clamp is removed and the
border handling is made implmentation specific. With respect to the
spec, the border is treated as essentially infinite, limited only by
the clamping performed on the near/nearest reference and the maximum
encodable magnitude of the residual MV.

This does not affect any currently produced streams.

Change-Id: I68d35a2fbb51570d6569eab4ad233961405230a3
vp8/common/blockd.h
vp8/decoder/decodemv.c
vp8/decoder/decodframe.c
vp8/decoder/threading.c