shithub: libvpx

Download patch

ref: e55974bf86714e6403f68c010b89fbd62a4f35e5
parent: 3c755577b85f5bf0a875e5f8f33ecb99a26d316d
author: John Koleszar <jkoleszar@google.com>
date: Fri Nov 18 07:47:16 EST 2011

Speed selection support for disabled reference frames

There was an implicit reference frame test order (typically LAST,
GOLD, ARF) in the mode selection logic, but this doesn't provide the
expected results when some reference frames are disabled. For
instance, in real-time mode, the speed selection logic often disables
the ARF modes. So if the user disables the LAST and GOLD frames, the
encoder was always choosing INTRA, when in reality searching the ARF
in this case has the same speed penalty as searching LAST would have
had.

Instead, introduce the notion of a reference frame search order. This
patch preserves the former priorities, so if a frame is disabled, the
other frames bump up a slot to take its place. This patch lays the
groundwork for doing something smarter in the frame test order, for
example considering temporal distance or looking at the frames used by
nearby blocks.

Change-Id: I1199149f8662a408537c653d2c021c7f1d29a700