vpx/vp8/common
Ronald S. Bultje 0b8a95a0b2 Rewrite reference frame costing in the RD loop.
I now see I didn't write a very long description, so let's do it
here then. We took a pretty big quality hit (0.1-0.2%) from my
recent fix of the inversion of arguments to vp8_cost_bit() in the
RD reference frame costing. I looked into it and basically the
costing prevented us from switching reference frames. This is of
course silly, since each frame codes its own prob_intra_coded, so
using last frame cost indications as a limiting factor can never
be right.

Here, I've rewritten that code to estimate costings based partially
on statistics from progress on current frame encoding. Overall,
this gives us a ~0.2%-0.3% improvement over what we had previously
before my argument-inversion-fix, and thus about ~0.4% over current
git (on derf-set), and a little more (0.5-1.0%) on HD/STD-HD/YT.

Change-Id: I79ebd4ccec4d6edbf0e152d9590d103ba2747775
2012-05-15 15:32:44 -07:00
..
arm Adding contextual coding of mb_skip_coeff flag. 2012-03-21 03:55:44 -07:00
generic Fix splitmv/compound prediction when eightpel is enabled. 2012-04-19 10:07:14 -07:00
ppc remove simpler_lpf 2011-04-25 17:37:41 -04:00
x86 Adds new Directional Intra prediction modes. 2012-05-15 08:54:50 -07:00
alloccommon.c Merge QIMODE experiment 2012-04-25 14:18:25 -07:00
alloccommon.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
asm_com_offsets.c update extend frame borders 2011-08-02 19:26:46 -04:00
blockd.c Merge t8x8 experiments 2012-03-01 12:59:11 -08:00
blockd.h Adds new Directional Intra prediction modes. 2012-05-15 08:54:50 -07:00
coefupdateprobs.h a number of fixes to entropy stats collection 2012-05-08 14:13:22 -07:00
common_types.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
common.h Add 8x8 transform to experimental branch 2011-07-20 09:49:22 -07:00
context.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
debugmodes.c Compound prediction for splitmv macroblocks. 2012-04-18 14:05:39 -07:00
default_coef_probs.h Expanding the coefficient encoding contexts 2012-05-04 07:11:38 -07:00
defaultcoefcounts.h a number of fixes to entropy stats collection 2012-05-08 14:13:22 -07:00
entropy.c a number of fixes to entropy stats collection 2012-05-08 14:13:22 -07:00
entropy.h Improved index remapping for prob updates. 2012-05-09 11:21:43 -07:00
entropymode.c Adds new Directional Intra prediction modes. 2012-05-15 08:54:50 -07:00
entropymode.h Changed how UV r/d estimates are done for Intra Modes 2012-03-05 13:16:41 +00:00
entropymv.c Initial refactoring of high_precision mv code. 2012-02-28 15:09:20 -08:00
entropymv.h Initial refactoring of high_precision mv code. 2012-02-28 15:09:20 -08:00
extend.c Copy less when active map is in use 2011-08-19 10:29:41 -04:00
extend.h Copy less when active map is in use 2011-08-19 10:29:41 -04:00
filter.c Fix splitmv/compound prediction when eightpel is enabled. 2012-04-19 10:07:14 -07:00
filter.h Making subpel filters switchable at frame level 2012-03-21 09:17:22 -07:00
findnearmv.c Superblock encoding order 2012-04-11 10:40:57 +01:00
findnearmv.h Compound prediction for splitmv macroblocks. 2012-04-18 14:05:39 -07:00
g_common.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
header.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
idct.h Merge t8x8 experiments 2012-03-01 12:59:11 -08:00
idctllm.c Reversible WHT pair 2012-05-10 16:32:47 -07:00
implicit_segmentation.c vpn common -> implicit segmentation 2012-01-24 11:20:13 -08:00
invtrans.c Merge t8x8 experiments 2012-03-01 12:59:11 -08:00
invtrans.h Merge t8x8 experiments 2012-03-01 12:59:11 -08:00
loopfilter_filters.c Merge new loop filter. 2012-02-28 20:58:52 +00:00
loopfilter.c Adds new Directional Intra prediction modes. 2012-05-15 08:54:50 -07:00
loopfilter.h enabled 8x8 intra prediction modes on inter frames 2011-12-02 13:44:47 -08:00
maskingmv.c changes to start experimenting with color segmentation prediction modes. 2010-11-16 14:38:40 -05:00
mbpitch.c Compound prediction for splitmv macroblocks. 2012-04-18 14:05:39 -07:00
modecont.c Merged NEWNEAR experiment 2012-02-06 16:40:57 +00:00
modecont.h Merged NEWNEAR experiment 2012-02-06 16:40:57 +00:00
modecontext.c Eliminate more warnings. 2010-10-27 18:08:04 -07:00
mv.h Using int_mv instead of MV 2011-05-12 11:08:16 -04:00
onyx.h Code Simplification 2012-02-28 17:55:42 +00:00
onyxc_int.h a number of fixes to entropy stats collection 2012-05-08 14:13:22 -07:00
onyxd.h Experimental code base simplification. 2012-02-15 16:08:47 +00:00
postproc.c Adds new Directional Intra prediction modes. 2012-05-15 08:54:50 -07:00
postproc.h postproc : Re-work posproc calling to allow more flags. 2010-11-10 14:14:46 -08:00
ppflags.h postproc : Re-work posproc calling to allow more flags. 2010-11-10 14:14:46 -08:00
pragmas.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
pred_common.c Rewrite reference frame costing in the RD loop. 2012-05-15 15:32:44 -07:00
pred_common.h Adding contextual coding of mb_skip_coeff flag. 2012-03-21 03:55:44 -07:00
predict_rotated.c vpn common -> implicit segmentation 2012-01-24 11:20:13 -08:00
quant_common.c Merge Extended Q experiment. 2012-02-09 17:22:34 +00:00
quant_common.h Merge Extended Q experiment. 2012-02-09 17:22:34 +00:00
recon.c Removed #if CONFIG_I8X8 2011-12-07 13:48:53 -08:00
recon.h Compound intra prediction (b_pred/4x4 only, for now), 2012-02-28 17:41:03 -08:00
reconinter.c Compound prediction for splitmv macroblocks. 2012-04-18 14:05:39 -07:00
reconinter.h Compound prediction for splitmv macroblocks. 2012-04-18 14:05:39 -07:00
reconintra4x4.c Compound intra prediction (b_pred/4x4 only, for now), 2012-02-28 17:41:03 -08:00
reconintra4x4.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
reconintra.c Adds new Directional Intra prediction modes. 2012-05-15 08:54:50 -07:00
reconintra.h Adds new Directional Intra prediction modes. 2012-05-15 08:54:50 -07:00
rotate2.h vpn common -> implicit segmentation 2012-01-24 11:20:13 -08:00
rotate.h vpn common -> implicit segmentation 2012-01-24 11:20:13 -08:00
seg_common.c vp8 - config_featureupdates 2012-02-13 12:31:12 -08:00
seg_common.h vp8 - config_featureupdates 2012-02-13 12:31:12 -08:00
setupintrarecon.c Eliminate more warnings. 2010-10-27 18:08:04 -07:00
setupintrarecon.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
subpixel.h Fix splitmv/compound prediction when eightpel is enabled. 2012-04-19 10:07:14 -07:00
swapyv12buffer.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
swapyv12buffer.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
systemdependent.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
tapify.py vpn common -> implicit segmentation 2012-01-24 11:20:13 -08:00
textblit.c Eliminate more warnings. 2010-10-27 18:08:04 -07:00
treecoder.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
treecoder.h Eliminate more warnings. 2010-10-27 18:08:04 -07:00
type_aliases.h Eliminate more warnings. 2010-10-27 18:08:04 -07:00