vpx/vp8/encoder
Adrian Grange c2876cf0fd 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
2013-04-15 09:11:39 -07:00
..
arm support building vp8 and vp9 into a single lib 2012-11-15 10:46:17 -08:00
ppc Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
x86 Merge branch 'master' into experimental 2013-03-27 10:46:19 -07:00
bitstream.c Merge branch 'master' into experimental 2013-03-27 10:46:19 -07:00
bitstream.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
block.h Use intrinsics for sse2 regular quantize 2013-02-28 18:06:15 -08:00
boolhuff.c ENTROPY_STATS -> VP8_ENTROPY_STATS in vp8/. 2013-03-18 15:39:04 -07:00
boolhuff.h ENTROPY_STATS -> VP8_ENTROPY_STATS in vp8/. 2013-03-18 15:39:04 -07:00
dct_value_cost.h Make global data const 2012-05-04 10:42:21 -07:00
dct_value_tokens.h Make global data const 2012-05-04 10:42:21 -07:00
dct.c Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
defaultcoefcounts.h removed duplicate a head file 2012-03-07 07:21:46 -08:00
denoising.c Merge branch 'vp9-preview' of review:webm/libvpx 2012-12-27 09:37:19 -08:00
denoising.h Encoder denoiser performance improvement 2012-08-31 13:48:13 -07:00
encodeframe.c Merge "Bug fix: use correct count_mb_ref_frame_usage" 2012-12-11 11:00:53 -08:00
encodeframe.h Formalize encodeframe.c forward delclarations 2012-05-04 10:44:47 -07:00
encodeintra.c support building vp8 and vp9 into a single lib 2012-11-15 10:46:17 -08:00
encodeintra.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
encodemb.c support building vp8 and vp9 into a single lib 2012-11-15 10:46:17 -08:00
encodemb.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
encodemv.c ENTROPY_STATS -> VP8_ENTROPY_STATS in vp8/. 2013-03-18 15:39:04 -07:00
encodemv.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
ethreading.c Moved error_bins to macroblock struct 2012-12-10 17:32:58 -08:00
firstpass.c firstpass.c: correct casting around gf_group_bits 2013-02-28 15:45:29 -08:00
firstpass.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
lookahead.c Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
lookahead.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
mcomp.c ENTROPY_STATS -> VP8_ENTROPY_STATS in vp8/. 2013-03-18 15:39:04 -07:00
mcomp.h ENTROPY_STATS -> VP8_ENTROPY_STATS in vp8/. 2013-03-18 15:39:04 -07:00
modecosts.c Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
modecosts.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
mr_dissim.c multi-res: add drop_frame support 2012-07-26 08:36:53 -07:00
mr_dissim.h multi-res: add drop_frame support 2012-07-26 08:36:53 -07:00
onyx_if.c Initial addition of multiple ARF frames 2013-04-15 09:11:39 -07:00
onyx_int.h Removed mode_chosen_counts 2013-03-20 14:41:24 -07:00
pickinter.c Merge "Remove cpi parameter from update_mvcount()" 2013-01-08 10:04:21 -08:00
pickinter.h Removed unnecessary VP8_COMP *cpi parameters 2012-11-02 12:10:07 -07:00
picklpf.c Use 'vpx_scale' consistently 2012-12-05 16:05:44 -08:00
psnr.c Changed MAX_PSNR to 100 2012-12-18 14:36:20 -08:00
psnr.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
quantize.c Use intrinsics for sse2 regular quantize 2013-02-28 18:06:15 -08:00
quantize.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
ratectrl.c Fix for divide by zero in vp8_adjust_key_frame. 2013-01-31 10:53:06 -08:00
ratectrl.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
rdopt.c Removed mode_chosen_counts 2013-03-20 14:41:24 -07:00
rdopt.h Moving rd_thresh_mult, rd_threshes to macroblock struct 2012-11-06 16:27:00 -08:00
segmentation.c Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
segmentation.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
ssim.c Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
temporal_filter.c Use 'vpx_scale' consistently 2012-12-05 16:05:44 -08:00
tokenize.c ENTROPY_STATS -> VP8_ENTROPY_STATS in vp8/. 2013-03-18 15:39:04 -07:00
tokenize.h ENTROPY_STATS -> VP8_ENTROPY_STATS in vp8/. 2013-03-18 15:39:04 -07:00
treewriter.c Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
treewriter.h Rename vp8/ codec directory to vp9/. 2012-11-01 16:31:22 -07:00
vp8_asm_enc_offsets.c prefix vp8 asm_{com,dec,enc}_offsets files 2013-03-02 14:45:40 -08:00