summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-09-10Hybrid transform cleanupsDeb Mukherjee
Some cleanups that will make it easier to maintain the code and incorporate upcoming changes on entropy coding for the hybrid transforms. Change-Id: I44bdba368f7b8bf203161d7a6d3b1fc2c9e21a8f
2012-09-06New motion vector entropy codingDeb Mukherjee
Adds a new experiment with redesigned/refactored motion vector entropy coding. The patch also takes a first step towards separating the integer and fractional pel components of a MV. However the fractional pel encoding still depends on the integer pel part and so they are not fully independent. Further experiments are in progress to see how much they can be decoupled without affecting performance. All components including entropy coding/decoding, costing for MV search, forward updates and backward updates to probability tables, have been implemented. Results so far: derf: +0.19% std-hd: +0.28% yt: +0.80% hd: +1.15% Patch: Simplifies the fractional pel models: derf: +0.284% std-hd: +0.289% yt: +0.849% hd: +1.254% Patch: Some changes in the models, rebased. derf: +0.330% std-hd: +0.306% yt: +0.816% hd: +1.225% Change-Id: I646b3c48f3587f4cc909639b78c3798da6402678
2012-08-30hybrid transform of 16x16 dimensionJingning Han
Enable ADST/DCT of dimension 16x16 for I16X16 modes. This change provides benefits mostly for hd sequences. Set up the framework for selectable transform dimension. Also allowing quantization parameter threshold to control the use of hybrid transform (This is currently disabled by setting threshold always above the quantization parameter. Adaptive thresholding can be built upon this, which will further improve the coding performance.) The coding performance gains (with respect to the codec that has all other configuration settings turned on) are derf: 0.013 yt: 0.086 hd: 0.198 std-hd: 0.501 Change-Id: Ibb4263a61fc74e0b3c345f54d73e8c73552bf926
2012-08-30Merge "Add proper skip support to intra frames." into experimentalRonald S. Bultje
2012-08-29Add proper skip support to intra frames.Ronald S. Bultje
Change-Id: I7524883fb29f42303fb46a5bc6772fbcf8781d1d
2012-08-28Remove some disabled code from pick_inter_mode_sb().Ronald S. Bultje
Change-Id: I323c429b453eec8c3b76c37f7e2a52da9dfe8d77
2012-08-28Disable 16x16 temp buffer for superblocks.Ronald S. Bultje
Change-Id: I3d585bae446c16fcf7a39d72c1bcd6468a7bb1a1
2012-08-24Merge "Fix file permissions" into experimentalJohn Koleszar
2012-08-24Merge "change to properly account for coef scaling in unit tests" into ↵Ronald S. Bultje
experimental
2012-08-24change to properly account for coef scaling in unit testsYaowu Xu
The transform functions in experimental branch absorbed a scaling factor of 4 to allow quantization steps closer to unit quantizer. This commit added scaling code in between forward and inverse transform to properly account for the scaling factor. Change-Id: I9a573ddc1ffa74973b34800a5da1a56dbabe0949
2012-08-24New Motion Reference SearchPaul Wilkins
Alternative strategy for finding a list of candidate motion vectors to use as reference values in mv coding and as nearest and near. Sort by sad in vp8_find_best_ref_mvs() rather than just pick the best. Allow 0,0 as a best ref option but not a nearest or near unless there are no alternatives. Encode/Decode verified on at least some clips. Some commented out experimental and stats code still in place. Gain over existing code averages about 1% on derf (alll metrics) with improvement on all clips. Other test results pending. The entropy coding of the mode (nearest/near etc) still depends upon and requires the old "findnear" code so this needs looking at and may provide room for further gains. Change-Id: I871d7cba1d1c379c4bad9bcccce1fb19c46b8247
2012-08-22Remove duplicate code in C intra prediction.Ronald S. Bultje
Change-Id: If4eb0fd60cc5bc2f32254e82e8d6cfa4120cb558
2012-08-22Fix file permissionsJohn Koleszar
Change-Id: I8d1a2c664cbeb939cf23bcd414b23e19da760a14
2012-08-22Merge "all_builds.py: move to tools/" into experimentalJohn Koleszar
2012-08-22Merge "all_builds.py: support for sharding builds" into experimentalJohn Koleszar
2012-08-22Merge "remove rotation experiment" into experimentalJohn Koleszar
2012-08-21Merge "SSE2 version of vectorized 8-tap filtering." into experimentalChristian Duvivier
2012-08-21Merge "Fix mismatch caused by a rebase failure." into experimentalRonald S. Bultje
2012-08-21Fix mismatch caused by a rebase failure.Ronald S. Bultje
Change-Id: Ifff660de60fb12d745092eafc17f6a49f6e1fb53
2012-08-21SSE2 version of vectorized 8-tap filtering.Christian Duvivier
About 20% overall encoder speedup (vs. about 30% for sse4 version). Change-Id: Ibf608a6a1bc94b14ec47e8046d3206b275b5a8bd
2012-08-21Fix compiler warningsDaniel Kang
Change-Id: I887cdcf90b87736f2a3805420aa41eed93324bee
2012-08-21Fix warning.Christian Duvivier
Change-Id: I99311811820169d62fda3febac4bafacfc7a538b
2012-08-21all_builds.py: move to tools/John Koleszar
Change-Id: I64c470fb5a4f32a862cfb5424fb95baac47fcc24
2012-08-21all_builds.py: support for sharding buildsJohn Koleszar
Allow sharding of the builds with the --shard= and --shards= options. Change-Id: I9d5552ad2edc0b1210e96f0e94ce7dfd645c45f8
2012-08-21Merge changes I96cd08c9,If8eeb8ff into experimentalJohn Koleszar
* changes: hybridtransform8x8: fix compilation comp_intra_pred: fix compilation
2012-08-21remove rotation experimentJohn Koleszar
This is being reimplemented more generically in terms of affine transforms. Change-Id: I9300bfde5f8b93c708c64f59427087720f8ed782
2012-08-21hybridtransform8x8: fix compilationJohn Koleszar
corrected ifdefs to include CONFIG_HYBRIDTRANSFORM8X8 for missing definitions Change-Id: I96cd08c98d74b5ba10866f3fa30252073ce92fa5
2012-08-20Fix some compiler warnings.Ronald S. Bultje
Change-Id: Iccb56e3b966d1519ba49dfe4e1396479c6b54a6f
2012-08-20comp_intra_pred: fix compilationJohn Koleszar
Added missing parameters to calls to: vp8_build_intra_predictors_internal vp8_build_intra_predictors_mbuv_internal Change-Id: If8eeb8ff23eff4572397b404fe61be5d0c950bbe
2012-08-20Merge "Fix typo." into experimentalJohn Koleszar
2012-08-20Fix typo.Ronald S. Bultje
Change-Id: I95217ce52675ad00637fc8f60d4d0dd054efd512
2012-08-20Merge "Superblock coding." into experimentalRonald S. Bultje
2012-08-20Superblock coding.Ronald S. Bultje
This commit adds a pick_sb_mode() function which selects the best 32x32 superblock coding mode. Then it selects the best per-MB modes, compares the two and encodes that in the bitstream. The bitstream coding is rather simplistic right now. At the SB level, we code a bit to indicate whether this block uses SB-coding (32x32 prediction) or MB-coding (anything else), and then we follow with the actual modes. This could and should be modified in the future, but is omitted from this commit because it will likely involve reorganizing much more code rather than just adding SB coding, so it's better to let that be judged on its own merits. Gains on derf: about even, YT/HD: +0.75%, STD/HD: +1.5%. Change-Id: Iae313a7cbd8f75b3c66d04a68b991cb096eaaba6
2012-08-17Fix warnings.Christian Duvivier
Change-Id: I01dd96da18fe22450bb372b10ba90eab52e29bdf
2012-08-16Merge "A few more optimizations, about 1% overall speedup." into experimentalChristian Duvivier
2012-08-16A few more optimizations, about 1% overall speedup.Christian Duvivier
Unroll horizontal pass, no more intermediate buffer, faster special transpose. Change-Id: I05df75be4e5f01420066cdf3c61a2edf35bedb64
2012-08-16Fixed decoder mismatch issueJingning Han
Resolved the decoder mismatch issue due to quantization parameter threshold for hybrid transform coding. The macroblock dequantizer initialization is moved to be performed before coefficient detokenization, since the (de)tokenization is now dependent on the macroblock level quantization parameter. Change-Id: I443da4992ebb70ae4114750b2f1363c0c628580e
2012-08-16Merge "Set a default mv entropy if no tokens are coded." into experimentalRonald S. Bultje
2012-08-16Set a default mv entropy if no tokens are coded.Ronald S. Bultje
This doesn't affect the result, since there are no MVs coded using this entropy. It does, however, silence valgrind warnings about uninitialized variables. Change-Id: I6e21ba92df6ce5381bf58b8c349ef4373294a0b6
2012-08-16Fix valgrind error which causes non-deterministic results.Daniel Kang
Error was introduced in bf474e170fefbed60cf20fa3d2e9e229776469f0 Change-Id: I55bf114a1938c3a8869d8ff49cbe076eb9e83ea0
2012-08-15Fix stack overrun in calculating segmentation map coding method.Ronald S. Bultje
This caused spurious crashes on encodes, frustratingly often only on high-definition material. Change-Id: Ia8c1dfc420d598ca92108bd9cc2df7450e8d10a2
2012-08-15Merge "First partial snapshot of vectorized 8-tap filtering." into experimentalChristian Duvivier
2012-08-15First partial snapshot of vectorized 8-tap filtering.Christian Duvivier
About 3.5x faster, 30% overall encoder speedup. Rest of optimizations will come soon (see TODO section in filter_sse4.c). Change-Id: If18108048bfd5345fc942e8574e4c7f58e0e86e0
2012-08-15Fix build with TX_16X16Daniel Kang
Change-Id: I1ccb2546e29803d0e9d69282409d549a28201967
2012-08-15Code clean up.Paul Wilkins
Further cases of inconsistent naming convention. Change-Id: Id3411ecec6f01a4c889268a00f0c9fd5a92ea143
2012-08-14Fix warnings.Christian Duvivier
Change-Id: I4b911e4173da30c164bde7ea50bc80a70fbbb745
2012-08-14Fix build.Christian Duvivier
Change-Id: I27729a8631cffd54dfbae3ec0f07df7c883f7510
2012-08-14Shut up warnings added by -WundefDaniel Kang
Change-Id: I9c7ef4a75c37aa0e10df75e165e3066614c955ef
2012-08-14Merge changes I0b51674f,I1ea6ebf9,I89076d93 into experimentalJohn Koleszar
* changes: lint_hunks: show style violations in the index intersect_diffs: split out diff classes ftfy: update to match current astyle rule
2012-08-14Merge "Some build fixes" into experimentalDeb Mukherjee