Age | Commit message (Collapse) | Author |
|
|
|
VPX_ENCODER_ABI_VERSION was bumped up in 93e83f.
Change-Id: Id5707f9f9db56fa96549bc8f54e1cfa04e7fa4cd
|
|
For new VP9 only content type adjust the rate distortion and ARF
filter based on the relative spatial variance of the source and
reconstruction.
In regards to the RD loop the method favors modes where the
reconstruction variance is similar to the source variance. However it
is currently only applied to regions where the source variance is quite
low.
For very low variance blocks it applies a further bias against intra
coding and large prediction block sizes (the later in particular limit
the usefulness of the loop filter).
The final part of this change is to lower the strength of the ARF
filter for blocks where the source has very low spatial variance, to
encourage some low amplitude texture or noise to pass through
the filter.
This change improves the retention of film grain and fine noise /
texture in spatially flat regions, but as expected causes a significant
drop in PSNR on many clips. This is to be expected because similar
but misaligned noise or texture will give a lower PSNR than a flat
noise free reconstruction. However, it is worth noting that most clips
show a strong gain in FAST SSIM.
The features are enabled on the vpxenc command line by setting
--tune-content=film.
VPX_ENCODER_ABI_VERSION bumped for this change and cvbr.
Change-Id: I26a4e4edfa3dc5cacead82fa701fe7a9118ccd0a
|
|
Added command line control of Corpus VBR.
The new corpus vbr mode is a variant of standard
VBR (end-usage=0) where the complexity distribution
mid point is passed in rather than calculated for a specific
clip or chunk.
The new variant is enabled by setting a new command line
parameter --corpus-complexity to a zero value. Omitting
this parameter or setting it to 0 will cause the codec to use
standard vbr mode.
The correct value for a given corpus needs to be derived
experimentally using a training set such that the average
rate for the corpus is close to the target value.
For example our using our low res test set with upper and lower
vbr limits of 50%-150% and a corpus complexity value of 650
gives a similar average data rate across the set to using standard
vbr. However, with the corpus mode easier clips will be allocated
fewer bits and harder clips more bits rather than having the same
rate target for all.
Change-Id: I03f0fc8c6fb0ee32dc03720fea6a3f1949118589
|
|
This restores behaviors prior to
<40c8fde Fix image width alignment. Enable ImageSizeSetting test.>.
BUG=b/64710201
Change-Id: I559557afe80d5ff5ea6ac24021561715068e7786
|
|
add VPX_ to UNUSED/*DEPRECATED to avoid conflicts with other headers.
Change-Id: Ie16bdac3575bc1af57a05d37e65b994370585377
|
|
BUG=b/64710201
Change-Id: I5465f6c6481d3c9a5e00fcab024cf4ae562b6b01
|
|
this has been set to max since:
f5c36a5ce VP9: turn on tile-columns and frame-parallel-mode by default
~v1.4.0
Change-Id: Ic796fc05abe73a58700ec50e3f8e72d3462898ec
|
|
this has been on by default since:
f5c36a5ce VP9: turn on tile-columns and frame-parallel-mode by default
~v1.4.0
Change-Id: I52017ab0157feaf429dce3d9e1af8a53bb5c1b65
|
|
For 1 spatial layer case, scaling_num/den was not set properly.
Change-Id: I139bf70c6dffde89eed24e435bcb5d98d2029bcd
|
|
This patch followed allow_exhaustive_searches feature modification and
continued to modify the encoder to achieve the determinism in the row
based multi-threaded encoding. While row-mt = 1 and using multiple
threads, the adaptive feature in encoder was disabled, which gave
BDRate gain(at speed 1, -0.6% ~ -0.7%; at speed 2, -0.46% ~ -0.59%),
but some encoder speed losses(7% ~ 10% at speed 1 and 3% ~ 6% at
speed 2). These speed losses were acceptable considering the speed
gains obtained from row-mt.
Change-Id: I60d87a25346ebc487a864b57d559f560b7e398bb
|
|
To prevent the motion vector out of range bug, added a motion vector unit
test in VP9. In the 4k video encoding, always forced to use extreme motion
vectors and also encouraged to use INTER modes. In the decoding, checked if
the motion vector was valid, and also checked the encoder/decoder mismatch.
The tests showed that this unit test could reveal the issue we saw before.
Change-Id: I0a880bd847dad8a13f7fd2012faf6868b02fa3b4
|
|
This matches the other includes and also fixes a compile issue in
chromium.
Change-Id: I45e00a1454f7ed948aa3b96b04cc5946b1d02985
|
|
|
|
Change-Id: I7a13b7e3a1e11ddbe4be3009edf03528e1bc7647
|
|
Moves the def from vpx_encoder.h -> vpx_codec.h. The defined value
is changed as part of this move.
Adds the value to decoder capabilities when CONFIG_VP9_HIGHBITDEPTH.
Change-Id: I7d61fc821cda29f1e32bb9b2b9ffd3d83966e419
|
|
new_mt is a very generic name that will get obsolete soon enough.
Since this is exposed as a codec control, renaming it to row_mt to
signify row level paralellism. Also renaming the ETHREAD_BIT_MATCH
codec control to ROW_MT_BIT_EXACT.
Change-Id: Ic7872d78bb3b12fb4cf92ba028ec8e08eb3a9558
|
|
While the new-mt mode is enabled(namely, allowing to use row-based
multi-threading in encoder), several speed features that adaptively
adjust encoding parameters during encoding would cause mismatch
between single-thread encoded bitstream and multi-thread encoded
bitstream. This patch provides a set_control API to disable these
features, so that the bit match bitstream is obtained in the unit
test.
Change-Id: Ie9868bafdfe196296d1dd29e0dca517f6a9a4d60
|
|
(yunqingwang)
1. Rebased the patch. Incorporated recent first pass changes.
2. Turned on the first pass unit test.
Change-Id: Ia2f7ba8152d0b6dd6bf8efb9dfaf505ba7d8edee
|
|
To be used for frame stats output of vpxdec.
Change-Id: I0739a01bd3635c4b3fedd58f3e27363ce8fb1b1e
|
|
Use of possibly uninitialized variable and missing test initializer.
Change-Id: I2192c81c39ef4239cc11a309850c0ee8781ef17e
|
|
Change-Id: I85536473b8722424785c84c5b5520960b4e5744a
|
|
Add some checks to the layer bitrates passed in through the command line.
Change-Id: I16f270035a6034d63313fe3019aa90dca9a3eefb
|
|
Allow for passing in the layer bitrates at command line.
Fix to allow passing in bitrate for each spatial-temporal layer.
Change to some default values for 1 pass cbr mode:
spatial scale and qp-max/min.
Small fixes to some build warnings.
Change-Id: I3f9a776262712480a6570bb863a835b2fc49935a
|
|
Control already exists for vp9, adding it to vp8.
Usage is only when error_resilient is off.
Added a datarate unittest for non-zero boost.
Change-Id: I4296055ebe2f4f048e8210f344531f6486ac9e35
|
|
the --enable-postproc-visualizer configure option remains as a no-op as
do the control names and values for compatibility
+ remove the corresponding debug flags from vpxdec: --pp-*
Change-Id: I4a001cd9962b59560d7d6bda6272d4ff32b8d37c
|
|
VPX_CODEC_INCAPABLE rather than the more generic VPX_CODEC_ERROR
Change-Id: Id1ed7fb23a2910192713c6b2389c0b7320201f52
|
|
In the future this option will activate adaptive quantization special
for altref frames. Encoder will create the adaptive quantization map
on the basis of lookahead buffers similarity which is the estimate of
the future motion compensation performance.
Change-Id: Ia0088b3babb0f9a4899c79d8d819947ba5a03df2
|
|
This change only affects 1 pass cbr svc mode.
Change-Id: If0da87bb200f7e7762755340c40c8157cc7a16ca
|
|
Change-Id: I95922a64568bf289863c1564212b6be5beec36df
|
|
BUG=b/29583530
Change-Id: Iafd05637eb65f4da54a9c857e79204a77646858a
|
|
|
|
Change-Id: I4aceffcdf7af59ffeb51984f0345c3a4c7e76a9f
|
|
Change-Id: I710707296042d8586109760544ef68e40ae486c3
|
|
development has moved to the nextgenv2 branch and a snapshot from here
was used to seed aomedia
BUG=b/29457125
Change-Id: Iedaca11ec7870fb3a4e50b2c9ea0c2b056a0d3c0
|
|
Change-Id: I1ef3df0192491035728fe9d5eb25cc66dc2965de
|
|
This reverts commit 6dd7f2b50a65373aa906d678cb5a29fb65531a55.
conversion warnings, crashes in 32-bit builds
Change-Id: I529ead34cd93c862dd07c9a29d8542dda2fc20ea
|
|
|
|
Change-Id: I73e1b9ea6f4c76ae539e2b3292ee4c751d9c7de4
|
|
Change-Id: Ic797c6be579c3434681a5e9dbb3900ae49c43958
|
|
Add control API VP9E_SET_TARGET_LEVEL that allows the encoder to
control the output bitstream level and/or keep level related
statistics.
Usage:
255 do not care about level (default)
0 keep level related stats only
10 target for level 1
11 target for level 1.1
.
.
.
62 target for level 6.2
Usage for vpxenc:
--target-level=0/255/10/11...
Change-Id: I31d1aeca19358b893e7577b4e63748c8e614034a
|
|
This reverts commit 1bec0c5a7e885ec792f6bb658eb3f34ad8f37b15.
Breaks desktop Mac builds.
Change-Id: I5b79dc29ad544357192ed16a47279716243e51dd
|
|
When building a dynamic framework with Swift compatibility, can't
include any headers that aren't in another module or you get an
error like this from Xcode on the including project:
Include of non-modular header inside framework
For some reason the system inttypes.h is not in a module, unlike
other standard C library headers... but it doesn't seem to be
actually needed on Darwin, so removing it doesn't appear to
be a problem.
Change-Id: I11d264483c54feefd9d2edf573afaef34ddcd0f2
|
|
Change-Id: I208c84cce216464b82eaa51945ce17a8e6625673
|
|
Only affects 1 pass cbr svc.
Change-Id: I8387219e35e516d9ce890557ee1855f2af8f636a
|
|
Changes to mode selection for 1 pass SVC mode:
use base layer motion vector, changes to intra-prediction.
Change-Id: I3e883aa04db521cfa026a0b12c9478ea35a344c9
|
|
introduced.
Change-Id: I83703851f65f93573ebf7d2c0d0f056ba879c07a
|
|
Fixes crash in 2pass spatial svc test that was introduced in:
https://chromium-review.googlesource.com/#/c/313571/6
Change-Id: Iab3e8225a8d159cd33f5849dffe6802e25038047
|
|
Change-Id: Ic0ec32c1d7f7c08c9f956592dccbfd9060b1f624
|
|
For 1 pass CBR mode.
Change-Id: I8bceb489a850ec26f05382eecb5c0c32a1bb8883
|