Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
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
|
|
|
|
Change-Id: I7524883fb29f42303fb46a5bc6772fbcf8781d1d
|
|
Change-Id: I323c429b453eec8c3b76c37f7e2a52da9dfe8d77
|
|
Change-Id: I3d585bae446c16fcf7a39d72c1bcd6468a7bb1a1
|
|
|
|
experimental
|
|
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
|
|
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
|
|
Change-Id: If4eb0fd60cc5bc2f32254e82e8d6cfa4120cb558
|
|
Change-Id: I8d1a2c664cbeb939cf23bcd414b23e19da760a14
|
|
|
|
|
|
|
|
|
|
|
|
Change-Id: Ifff660de60fb12d745092eafc17f6a49f6e1fb53
|
|
About 20% overall encoder speedup (vs. about 30% for sse4 version).
Change-Id: Ibf608a6a1bc94b14ec47e8046d3206b275b5a8bd
|
|
Change-Id: I887cdcf90b87736f2a3805420aa41eed93324bee
|
|
Change-Id: I99311811820169d62fda3febac4bafacfc7a538b
|
|
Change-Id: I64c470fb5a4f32a862cfb5424fb95baac47fcc24
|
|
Allow sharding of the builds with the --shard= and --shards= options.
Change-Id: I9d5552ad2edc0b1210e96f0e94ce7dfd645c45f8
|
|
* changes:
hybridtransform8x8: fix compilation
comp_intra_pred: fix compilation
|
|
This is being reimplemented more generically in terms of affine
transforms.
Change-Id: I9300bfde5f8b93c708c64f59427087720f8ed782
|
|
corrected ifdefs to include CONFIG_HYBRIDTRANSFORM8X8 for missing
definitions
Change-Id: I96cd08c98d74b5ba10866f3fa30252073ce92fa5
|
|
Change-Id: Iccb56e3b966d1519ba49dfe4e1396479c6b54a6f
|
|
Added missing parameters to calls to:
vp8_build_intra_predictors_internal
vp8_build_intra_predictors_mbuv_internal
Change-Id: If8eeb8ff23eff4572397b404fe61be5d0c950bbe
|
|
|
|
Change-Id: I95217ce52675ad00637fc8f60d4d0dd054efd512
|
|
|
|
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
|
|
Change-Id: I01dd96da18fe22450bb372b10ba90eab52e29bdf
|
|
|
|
Unroll horizontal pass, no more intermediate buffer, faster special transpose.
Change-Id: I05df75be4e5f01420066cdf3c61a2edf35bedb64
|
|
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
|
|
|
|
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
|
|
Error was introduced in bf474e170fefbed60cf20fa3d2e9e229776469f0
Change-Id: I55bf114a1938c3a8869d8ff49cbe076eb9e83ea0
|
|
This caused spurious crashes on encodes, frustratingly often only on
high-definition material.
Change-Id: Ia8c1dfc420d598ca92108bd9cc2df7450e8d10a2
|
|
|
|
About 3.5x faster, 30% overall encoder speedup. Rest of optimizations
will come soon (see TODO section in filter_sse4.c).
Change-Id: If18108048bfd5345fc942e8574e4c7f58e0e86e0
|
|
Change-Id: I1ccb2546e29803d0e9d69282409d549a28201967
|
|
Further cases of inconsistent naming convention.
Change-Id: Id3411ecec6f01a4c889268a00f0c9fd5a92ea143
|
|
Change-Id: I4b911e4173da30c164bde7ea50bc80a70fbbb745
|
|
Change-Id: I27729a8631cffd54dfbae3ec0f07df7c883f7510
|
|
Change-Id: I9c7ef4a75c37aa0e10df75e165e3066614c955ef
|
|
* changes:
lint_hunks: show style violations in the index
intersect_diffs: split out diff classes
ftfy: update to match current astyle rule
|
|
|