Initial addition of multiple ARF frames
authorAdrian Grange <agrange@google.com>
Tue, 2 Apr 2013 22:08:50 +0000 (15:08 -0700)
committerAdrian Grange <agrange@google.com>
Mon, 15 Apr 2013 16:11:39 +0000 (09:11 -0700)
commitc2876cf0fde6baf9cbdf3c7570adedfd1065f3db
treea0df2a9bdc46364d174b029d1d0584657c78aeec
parent626d06502f9df90bc796e4e107600242a5bca6c5
Initial addition of multiple ARF frames

This is work-in-progress, it implements multiple ARF
encoding behind an experimental flag.

It adds the ability to insert multiple ARF frames into a
single ARF group. This patch implements the reordering
of the coded frames, and implements a fixed-length coding
pattern. It applies a fixed quantizer strategy based on
where the frame is in the coding sequence.

Further work to modify the rate control strategy is
ongoing and will be submitted via a set of future patches.

In this first step, each ARF group is recursively
bisected and an ARF frame added at that position in the
sequence. The recursion continues until ARF frames are
within MIN_GF_INTERVAL frames.

The code sits behind the "multiple-arf" experimental
flag ("CONFIG_MULTIPLE_ARF"). The experimental flag
"oneshotq" ("CONFIG_ONESHOTQ") also needs to be enabled
for this patch to work correctly.

Change-Id: Ie473b05ebb43ac473c0cfb659b2b8042823085e2
configure
vp8/encoder/onyx_if.c
vp9/common/vp9_onyxc_int.h
vp9/decoder/vp9_onyxd_if.c
vp9/encoder/vp9_bitstream.c
vp9/encoder/vp9_firstpass.c
vp9/encoder/vp9_onyx_if.c
vp9/encoder/vp9_onyx_int.h
vp9/encoder/vp9_ratectrl.c
vp9/vp9_cx_iface.c