vpx/vp8/common
Adrian Grange 9daf3154db Superblock encoding order
This is the first patch to add superblock (32x32) coding
order capabilities. It does not yet do any mode selection
at the SB level, that will follow in a further patch.

This patch encodes rows of SBs rather than
MBs, each SB contains 2x2 MBs.

Two intra prediction modes have been disabled since they
require reconstructed data for the above-right MB which
may not have been encoded yet (e.g. for the bottom right
MB in each SB).

Results on the one test clip I have tried (720p GIPS clip)
suggest that it is somewhere around 0.2dB worse than the
baseline version, so there may be bugs.

It has been tested with no experiments enabled and with
the following 3 experiments enabled:
  --enable-enhanced_interp
  --enable-high_precision_mv
  --enable-sixteenth_subpel_uv
in each case the decode buffer matches the recon buffer
(using "cmp" to compare the dumped/decoded frames).
Note: Testing these experiments individually created
errors.

Some problems were found with other experiments but it
is unclear what state these experiments are in:
  --enable-comp_intra_pred
  --enable-newentropy
  --enable-uvintra

This code has not been extensively tested yet, so there
is every likelihood that further bugs remain. I also
intend to do some code cleanup & refactoring in tandem
with the next patch that adds the 32x32 modes.

Change-Id: I1eba7f740a70b3510df58db53464535ef881b4d9
2012-04-11 10:40:57 +01:00
..
arm Adding contextual coding of mb_skip_coeff flag. 2012-03-21 03:55:44 -07:00
generic Making subpel filters switchable at frame level 2012-03-21 09:17:22 -07:00
ppc remove simpler_lpf 2011-04-25 17:37:41 -04:00
x86 Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
alloccommon.c Merge t8x8 experiments 2012-03-01 12:59:11 -08: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
bigend.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
blockd.c Merge t8x8 experiments 2012-03-01 12:59:11 -08:00
blockd.h Superblock encoding order 2012-04-11 10:40:57 +01:00
coefupdateprobs.h Merge t8x8 experiments 2012-03-01 12:59:11 -08: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 intra prediction (b_pred/4x4 only, for now), 2012-02-28 17:41:03 -08:00
default_coef_probs.h Faster vp8_default_coef_probs 2011-08-16 16:21:21 -04:00
defaultcoefcounts.h removed duplicate a head file 2012-03-07 07:21:46 -08:00
dma_desc.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
duck_io.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
entropy.c Merge t8x8 experiments 2012-03-01 12:59:11 -08:00
entropy.h Merge t8x8 experiments 2012-03-01 12:59:11 -08:00
entropymode.c Initial refactoring of high_precision mv code. 2012-02-28 15:09:20 -08: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 Making subpel filters switchable at frame level 2012-03-21 09:17:22 -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 intra prediction (b_pred/4x4 only, for now), 2012-02-28 17:41:03 -08: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 Merge t8x8 experiments 2012-03-01 12:59:11 -08: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
littlend.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
loopfilter_filters.c Merge new loop filter. 2012-02-28 20:58:52 +00:00
loopfilter.c Merge t8x8 experiments 2012-03-01 12:59:11 -08: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 Increase static linkage, remove unused functions 2011-03-17 20:53:47 -04: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 Making subpel filters switchable at frame level 2012-03-21 09:17:22 -07:00
onyxd.h Experimental code base simplification. 2012-02-15 16:08:47 +00:00
postproc.c Compound intra prediction (b_pred/4x4 only, for now), 2012-02-28 17:41:03 -08: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 Adding contextual coding of mb_skip_coeff flag. 2012-03-21 03:55: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 added clamp for 2nd motion vector 2012-03-14 18:53:26 -07:00
reconinter.h Dual 16x16 inter prediction. 2011-12-06 11:53:02 -08: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 Compound intra prediction (b_pred/4x4 only, for now), 2012-02-28 17:41:03 -08:00
reconintra.h SSE2/SSSE3 optimizations for build_predictors_mbuv{,_s}(). 2011-04-27 11:31:27 -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 Making subpel filters switchable at frame level 2012-03-21 09:17:22 -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