Age | Commit message (Collapse) | Author |
|
BUG=webm:1219
Change-Id: Iebdedfb27c70909c0849e169473a2a3ec9f58cc7
|
|
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1219
Change-Id: I4362a1cf79fdcb478b29ddbcdf8091c5f5d10645
|
|
Defined as unsigned in VP8_CONFIG
Cleans warning in Android build:
comparison of integers of different signs: 'unsigned int' and 'int'
if (cpi->oxcf.number_of_layers != prev_number_of_layers)
~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~
Change-Id: I969e64cd2bfda6e61c564476dbd35b892b177646
|
|
The vpx_roi_map_t and vpx_active_map_t structures use unsigned rows
and cols but VP8_COMMON uses signed values for mb_rows and mb_cols.
Cleans warning in Android build:
comparison of integers of different signs: 'int' and 'unsigned int'
if (cpi->common.mb_rows != rows || cpi->common.mb_cols != cols)
~~~~~~~~~~~~~~~~~~~ ^ ~~~~
comparison of integers of different signs: 'int' and 'unsigned int'
if (cpi->common.mb_rows != rows || cpi->common.mb_cols != cols)
~~~~~~~~~~~~~~~~~~~ ^ ~~~~
comparison of integers of different signs: 'unsigned int' and 'int'
if (rows == cpi->common.mb_rows && cols == cpi->common.mb_cols)
~~~~ ^ ~~~~~~~~~~~~~~~~~~~
comparison of integers of different signs: 'unsigned int' and 'int'
if (rows == cpi->common.mb_rows && cols == cpi->common.mb_cols)
Change-Id: If1f118c20ffefd2530fbd371e6787cc8a6c31f0a
|
|
Change-Id: I579286e6741b689ae4281a35beb7b8f95c3ffce5
|
|
1. vp8/decoder/dboolhuff.c
2. vp8/decoder/dboolhuff.h
3. vp8/encoder/bitstream.c
4. vp8/encoder/boolhuff.h
5. vp8/encoder/rdopt.c
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1218
Change-Id: I5d315d63fd7aeaee6f3bd79178e593f3db38a6b1
|
|
|
|
Added actual and absolute rate miss values to the opsnr.stt
stats output line.
Changes to the borg graphing may be needed before merge.
Change-Id: I1e9d548ce445d29002f0c59ebfd3957a6f15e702
|
|
For at least some of the implementations of sdx8f, such as
vpx_sad4x4x8_sse4_1, aligned moves are used to move the results into the
array.
Change-Id: I83df5a8e657b44e906d0d8b0bc154f1e5660f7f9
|
|
Change-Id: I16a570b2af66b6580d1cd6f8345a25f079009bf4
|
|
Change-Id: Iab5aed7bf86538352232e208bce58c3528cc9a4e
|
|
Reset to previous values.
Change-Id: Ia49bafc1d1ec5f657819ffba04d11fd701f315e8
|
|
Avoid doing the mcomp in denoiser if we don't denoise the
block (because of motion/SSE/skin threshold, etc).
This can reduce encoding time (with denoiser enabled) by ~1.5-2%.
Change-Id: Ia699b68dfd37b89cdf3a82b8aa40e8c8f98a3d4f
|
|
Switch to use new skin model.
And fix condition for denoising skin block.
Previous condition did not denoise skin blocks if the selected
mode was non-zero motion in current frame. Modify condition to
also force no denoising if that mode was not selected as zero motion
now and for at least "x" past frames in a row (x = 2).
Change-Id: I00753e3fe45b9a308a7ef43c58f11868e3bfc6b0
|
|
Keep setting for model = 0 for now in vp8.
Change-Id: I79c5fa24d5d16b14651f44db9526aa01dbd70ec9
|
|
|
|
This patch was to fix a reported Hangouts deadlock/freezing issue
in VP8 encoder(issue 27232610). The original encoder loopfilter
synchronization happened in the following frame, which was prone
to causing problems in some complex use cases. This patch simplified
the synchronization logic.
More testing needs to be done.
Change-Id: I38fd3f35d11f98fae1e44546aa5e4c6d6e19c4be
|
|
Change-Id: I0d459c7ba358da287aff1c706279603d6d4d3c48
|
|
|
|
Change-Id: I9b0aa340518f45e16fa9754afd87347aabf968d7
|
|
Change-Id: I51ede902cd9d7bafa41f7caa3f9adf77f9df5903
|
|
Change-Id: I67090d72c0fefd3105ac380415249599e053d3bd
|
|
the lookahead buffer allocation is deferred to receipt of the first
frame to allow profile changes. if the encoder was flushed before
supplying any frames the encoder would crash trying to dereference the
NULL buffer. vp8 is unaffected.
fixes mozilla bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1237848
Change-Id: Icee4b64de760476eee0d33b568f0a1010335ff13
|
|
Use multiple clusters instead of one and decrease
the distance thresholds.
Add a define to switch between models.
Default is set to existing (1 cluster) model.
Change-Id: I802cd9bb565437ae8983ef39453939f5d5073bb1
|
|
Make it consistent with the comment/intended behavior,
that is, only denoise if current block is zero_mv.
Change-Id: I3909761e802e80089752a493ab3646dc32698ded
|
|
There are flaws in current implementation of VP8 multithreading encoder
and decoder as reported in the following issue:
https://code.google.com/p/chromium/issues/detail?id=158922
Although the data race warnings are harmless, and wouldn't cause real
problems while encoding and decoding videos, it is better to fix the
warnings so that VP8 code could pass the TSan test.
To synchronize the thread-shared data access and maintain the speed
(i.e. decoding speed), use multiple mutexes based on mb_rows to reduce
the number of synchronizations needed, make the reads and writes of
the shared data protected, and reduce the number of mb_col writes by
nsync times.
The decoder speed tests showed < 3% speed loss while using 2 ~ 4
threads.
Change-Id: Ie296defffcd86a693188b668270d811964227882
|
|
Change-Id: I2000820e0c04de2c975d370a0cf7145330289bb2
|
|
Update rate correction factor when we drop the frame due to overshoot.
Only affects when the drop_overshoot feature is on: screen_content_mode = 2.
Change-Id: I67e24de979b4c74744151d2ceb3cd75fec2a1e7a
|
|
Change-Id: Id70ca2e18a46247720eb631ae13a8430bd8b0954
|
|
For 3 temporal layers, reduce somewhat the
cyclic_refresh_mode_max_mbs_perframe parameter, from 20% to ~14%.
Small increase in PSNR/SSIM metrics.
Change-Id: Ia216fa5474048f1ef7fe3db88cd60dfef2a1bf8a
|
|
Change-Id: Icf06d35ca347713253d1eba341a894b51efa81a9
|
|
Change-Id: I2e0cc72a0543bfea1d2d3499b9906519d5cb3f15
|
|
Change-Id: I2e387a06484a06301f3cd6600c4ba2f4335b61ee
|
|
|
|
remove MIN/MAX defines in vp8/common/common.h
Change-Id: I41520f34af175e05b263ebd12198f4de29a967db
|
|
Mark rdopt.h and treewriter.h functions with INLINE.
Change-Id: Ib81168a709d09dfba7de16c596133310e04c6656
|
|
Remove really unused segmentation_test_function
Hide decide_key_frame and recode_loop_test under non-realtime check.
Change-Id: Ie0113945ffbd096dbb89a553548f526b2a0ee0c6
|
|
This commit adds clamp of new vectors similar to the logic in RD loop.
Such clamp is not necessary from the perspective of VP8 bitstream, but
is added to improve ChromeCast mirroring's robustness.
Change-Id: I42f6adbc60ffce283b994869364230858632d6fa
|
|
For each block in pickinter: use average of four middle
pixels (instead of single pixel) to set skin map.
This can help a little in reducing false skin detection in
some cases.
Change-Id: Ic247af75e9c2948b08ab977a39e061adacd8ec97
|
|
Move it to vp8_quantize.c and make sure to
use the full path for all vp8 includes of quantize.h
Change-Id: I284651ff681707385f4924ea7db1541905c1624a
|
|
Change-Id: Ic61f30af12d1b01c1d5adc4e08bc20e20ad38027
|
|
average improvement ~2x-3x
Change-Id: I6c17012c731fa4d56e0343f8de0df47b2dde289b
|
|
average improvement ~2x-3x
Change-Id: I05593bed583234dc7809aaec6cab82773a29505d
|
|
average improvement ~2x-3x
Change-Id: I30abf4c92cddcc9e87b7a40d4106076e1ec701c2
|
|
average improvement ~2x-3x
Change-Id: I6fc37191bf9cb5a67e1af9787d0d27659c17bdba
|
|
average improvement ~2x-4x
Change-Id: Id0bc600440f7ef53348f585ebadb1ac6869e9a00
|
|
New clang warnings in chromium reveal an incompatible pointer being
passed.
Change-Id: I0d893993726ecf899f467c16175bfb8c76329731
https://code.google.com/p/chromium/issues/detail?id=504696
|
|
Change-Id: I66bf6720c396c89aa2d1fd26d5d52bf5d5e3dff1
|
|
This commit replaces the vp8_ prefixed subtract function with the
common vpx_subtract_block function. It removes redundant SIMD
optimization codes and unit tests.
Change-Id: I42e086c32c93c6125e452dcaa6ed04337fe028d9
|
|
Factor out the subtraction operator as common function.
Change-Id: I526e703477c6a290e0e3e3c8898f8bb1ca82779b
|