vpx/vp8/encoder
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 Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
generic Only support improved quant 2012-03-21 18:22:33 +00:00
ppc Code simplification 2012-02-16 17:21:20 +00:00
x86 Only support improved quant 2012-03-21 18:22:33 +00:00
asm_enc_offsets.c use GCC inline magic 2011-06-08 16:19:37 -04:00
bitstream.c Superblock encoding order 2012-04-11 10:40:57 +01:00
bitstream.h Code Simplification 2012-02-28 17:55:42 +00:00
block.h Superblock encoding order 2012-04-11 10:40:57 +01:00
boolhuff.c Moved vp8_encode_bool into boolhuff.h 2011-07-19 09:17:25 -04:00
boolhuff.h Moved vp8_encode_bool into boolhuff.h 2011-07-19 09:17:25 -04:00
dct.c Merge t8x8 experiments 2012-03-01 12:59:11 -08:00
dct.h Merge t8x8 experiments 2012-03-01 12:59:11 -08:00
encodeframe.c Superblock encoding order 2012-04-11 10:40:57 +01:00
encodeintra.c Superblock encoding order 2012-04-11 10:40:57 +01:00
encodeintra.h Fix more warnings. 2011-12-22 16:33:06 -08:00
encodemb.c Only support improved quant 2012-03-21 18:22:33 +00:00
encodemb.h Merge t8x8 experiments 2012-03-01 12:59:11 -08:00
encodemv.c Various bug fixes related to high precision mv 2012-03-01 03:10:21 -08:00
encodemv.h Initial refactoring of high_precision mv code. 2012-02-28 15:09:20 -08:00
find_rotation.c vpn common -> implicit segmentation 2012-01-24 11:20:13 -08:00
firstpass.c Superblock encoding order 2012-04-11 10:40:57 +01:00
firstpass.h Move firstpass motion map to stats packet 2010-10-21 14:04:20 -04:00
lookahead.c Simplification of experimental code base. 2012-02-14 09:03:56 +00:00
lookahead.h Copy less when active map is in use 2011-08-19 10:29:41 -04:00
mbgraph.c Superblock encoding order 2012-04-11 10:40:57 +01:00
mbgraph.h Further segment feature extensions. 2011-10-24 15:52:18 +01:00
mcomp.c Superblock encoding order 2012-04-11 10:40:57 +01:00
mcomp.h Various bug fixes related to high precision mv 2012-03-01 03:10:21 -08:00
modecosts.c Enabled adaptive UV intra coding for inter frames 2011-12-09 14:44:13 -08:00
modecosts.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
onyx_if.c Superblock encoding order 2012-04-11 10:40:57 +01:00
onyx_int.h Superblock encoding order 2012-04-11 10:40:57 +01:00
picklpf.c Merge t8x8 experiments 2012-03-01 12:59:11 -08:00
psnr.c Merge remote branch 'internal/upstream' into HEAD 2011-03-23 00:27:52 -04:00
psnr.h Increase static linkage, remove unused functions 2011-03-17 20:53:47 -04:00
quantize.c Only support improved quant 2012-03-21 18:22:33 +00:00
quantize.h Only support improved quant 2012-03-21 18:22:33 +00:00
ratectrl.c enable 8x8 transform for MBs in intra frames 2012-03-21 12:25:44 -07:00
ratectrl.h Allow for frame overheads in min frame bandwidth. 2012-03-05 11:25:44 +00:00
rdopt.c Superblock encoding order 2012-04-11 10:40:57 +01:00
rdopt.h Superblock encoding order 2012-04-11 10:40:57 +01:00
sad_c.c Preload reference area to an intermediate buffer in sub-pixel motion search 2011-07-22 09:28:06 -04:00
satd_c.c Further segment feature extensions. 2011-10-24 15:52:18 +01:00
segmentation.c Corrected spelling 2012-02-27 21:42:36 +00:00
segmentation.h Merge CONFIGURE_SEGMENTATION experiment. 2011-11-15 16:15:23 +00:00
ssim.c Reclassify optimized ssim calculations as SSE2. 2011-08-22 12:36:28 -07:00
temporal_filter.c Changed how UV r/d estimates are done for Intra Modes 2012-03-05 13:16:41 +00:00
temporal_filter.h x86 sse2 temporal_filter_apply 2011-01-06 14:00:30 -05:00
tokenize.c Adding contextual coding of mb_skip_coeff flag. 2012-03-21 03:55:44 -07:00
tokenize.h Adding contextual coding of mb_skip_coeff flag. 2012-03-21 03:55:44 -07:00
treewriter.c Adding contextual coding of mb_skip_coeff flag. 2012-03-21 03:55:44 -07:00
treewriter.h Fix relative include paths 2011-02-10 15:09:44 -05:00
variance_c.c Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
variance.h Code simplification 2012-02-16 17:21:20 +00:00