Age | Commit message (Collapse) | Author |
|
Change-Id: I36b970953c960fde65d7b7705ccfa575c8741c43
|
|
|
|
This will allocate extra frame buffer if long term temporal reference is
used and denoiser is enabled on non-key frame.
Add test.
Change-Id: I0e8d1fdb9a2d697a8eed7fe6206bcb362e69f1c8
|
|
|
|
Postencode drop is only checked on base spatial
layers, and if set, whole superframe is dropped and
and next superframe is encoded at max-q.
Fix here is to make sure all layers are encoded at
max-q on a postencode dropped frame.
Change-Id: I2313d83ee29a382465bcec1085d8c73c37ce26d6
|
|
|
|
If scene/slide change is detected on current
superframe and max-q set because of high overshoot:
then if the lower/base spatial layer are skipped on
the current superframe, max-q is forced on the
next encoded base/lower spatial layers.
Change-Id: Id61efda86ee545395012e19476d19845e3932678
|
|
Feature works also for non-screen content mode,
so rename it.
Change-Id: I665362d50cf9a4017f114973586ad0eead066ddd
|
|
|
|
Remove unneeded VPX_Q condition check.
Change-Id: I46b09ae522caa47fa7ea4441b6a6ac2840315d1c
|
|
* changes:
Consider mv inconsistency in single_motion_search
Change the interface of vp9_full_pixel_diamond_new
|
|
Decouple the constant q mode qp selection from vbr/cbr/cq modes.
Skip vp9_frame_type_qdelta() adjustment for non-ARF inter frames,
instead keep using the cq-level. It improves the compresson
performance:
avg PSNR overall PSNR SSIM
lowres -0.17% -0.20% -0.1%
midres -0.21% -0.24% -0.08%
hdres -0.15% -0.19% -0.04%
Change-Id: I52fd5f8edbd3fdcbeda31ee3a6d6eb016091a7e3
|
|
Factor out this common code needed all rate control modes.
Change-Id: If17850fbebcdce7ff24afb211aa2e6054486b814
|
|
This is still a work-in-process.
nb_full_mvs and lambda are set to zero for now, which means
mv inconsistency penalty is zero while doing the mv search.
Change-Id: I18680413d748fbdb9a33621f92f83e021036a3ab
|
|
Avoid passing in tpl_stats because this function will be called in
motion search, where tpl_stats should be fixed at the point.
Let further_steps becomes internal variable in the function.
Change-Id: Iebe380925eb1891c19e0b78163dab8e6bfafccdb
|
|
This reverts commit b13f6154df9c0834d74f7e3d41e41c4208f56d18.
Temporarily revert this change due to interactions with rate control at very low target bit-rate.
Original change's description:
> Optimize RDMULT values for key frames
>
> Encoding of 5 frames of each sequence using key frames only, the new
> values help the metrics by:
>
> PSNR SSIM PSNR-HVS
> lowres: -0.870% -0.140% -0.892%
> midres: -0.899% -0.146% -1.052%
> hdres: -0.944% -0.115% -1.028%
>
> Tested q range:
> 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62
>
> Change-Id: I5b0dda366d589f52987c5bad11a1f95c4e6dc1a5
TBR=yaowu@google.com,paulwilkins@google.com,jingning@google.com,builds@webmproject.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Ie1e4cf21308d69699a65a393a83884882682ea8e
|
|
Useful for noise estimation when top layer
is skipped encoded.
Change-Id: I18cbe6119bac6c21514941b1e3b530a05a42df14
|
|
|
|
Fix condition for turning off denoiser due to high
motion: use proper superframe counter and
frames_since_key counter so this condition won't
take effect on key (super)frame.
Change-Id: Ic502bf5ebfa32a921f611a78e8e963eb62b5bc79
|
|
Last reference doesn't always exist when SVC layers changed dynamically.
When last is not a reference for current layer, copy block directly on
denoiser.
Change-Id: I9d98c4d6fdcfa25ba707db3333712761b5cf9ab8
|
|
|
|
|
|
Add check and reset (turn off) usage of long term
reference if some conditons (layer id of reference vs
current frame) are not met.
Change-Id: Ie3a84e3618f4fc4d5f8da4e67316cfbefb8bae78
|
|
BUG=b/119097707
Change-Id: I6569306e897da46a44f9d8f2fb28a2a355dd4c2c
|
|
|
|
Change-Id: I67b92182ee80ec5548c5a97345b6252e49033c4a
|
|
Pave the way for new quantize_OPT.h helper files.
Change-Id: Ice7225612983f5587a9660af3320c7d0c8bb1c2f
|
|
|
|
|
|
If the scale factor of the golden long term reference
is different from the last reference then disable usage
of long term reference.
This should not happen, but add this as a check against
some possibly incorrect update of the svc configuration.
Change-Id: Ic1062d4384e005007d8c922813fa8ad188d8fa98
|
|
When scaling up partition from lower resolution layer L, mi_row and
mi_col from L must be smaller than mi_rows and mi_cols from L.
Before this change, the condition was based on mi_rows from top layer
divided by 2, which is not necessarily equal to the mi_rows from lower
resolution layer.
Added variable in SVC structure to keep track of mi_rows and mi_cols
from each spatial layer.
Re-enable partition scaling for 1080p.
BUG=webm:1578
Change-Id: Icc1c701b095cfe0a92bfecca1ed39dbe21da12b6
|
|
If in constrained layer drop mode, avoid setting
skip flag if base layer is dropped, as whole superframe
will be dropped in this case. This avoids an assert trigger
in the svc superframe packing.
Change-Id: I51c953c7fee979790c65c798bac9bd3d805dc66f
|
|
In the limited test set, it improves the cq mode compression
performance by 1.9% in PSNR and 6% in SSIM as compared to use
same quantization parameter for all ARFs.
Change-Id: I35c4d7097b5838ab0b92d7f9937520721e3bb84b
|
|
Issue with step_param = 2 seems specific to lower layers
with different resolution.
Change-Id: I26405488ac7691b3e471e98e794d4b1d8098a91d
|
|
* changes:
Fix scan_build warnings in tiny_ssim.c
Fix scan_build warnings in convolve_test.cc
Fix scan_build warnings in vp9_loopfilter.c
Fix scan_build warnings in variance_test.cc
Fix scan_build warnings in vp9_resize.c
|
|
Increase to 4 (from 2) on slide/scroll changes,
as there is an issue/failure with the current setting
with offline encode for high resolns.
Change-Id: I8f06c6bdcd59013ab000d75bd75770c667bf70d2
|
|
BUG=webm:1575
Change-Id: I5722d2626b9043b83581a700e58c2b7204113a16
|
|
|
|
|
|
BUG=webm:1578
Change-Id: I7c8014b7ab96d372d486433bce24d058a60fdc85
|
|
Reuse existing function for resetting temporal
layer pattern.
And fix to use first spatial layer to encode, and
some refactoring in encode_without_recode_loop().
Change-Id: Ifb22bb9de793ecb8e73f410e125c7c12383da1d2
|
|
No need for the upgrade to int64_t
Change-Id: I8331839c00718a0a987257772357be72b40e19be
|
|
Change-Id: I231e863f838f449335236c174b74bd33dfdd8b19
|
|
Condition the pre-encode buffer update based on
TS diff on temporal layers = 1 for now, as some
fix is needed for the case where #temporal_layers > 1.
Change-Id: I58163b956db415217e4687a31f8ba110545b09f5
|
|
|
|
Encoding of 5 frames of each sequence using key frames only, the new
values help the metrics by:
PSNR SSIM PSNR-HVS
lowres: -0.870% -0.140% -0.892%
midres: -0.899% -0.146% -1.052%
hdres: -0.944% -0.115% -1.028%
Tested q range:
2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62
Change-Id: I5b0dda366d589f52987c5bad11a1f95c4e6dc1a5
|
|
Refactor the code with some changes.
Split update into two parts: move the fillup
(with per-frame-bandwidth) before the encoding, and
keep the leaking part (with encoded_frame_size) after
the encoding (postencode).
For SVC with ref_frame_config usage: allow usage of timestamp
delta for the fillup part of buffer, instead of the (average)
framerate passed in via the duration.
Moving the buffer fillup (+per-frame-bandwidth) part to the
pre-encode causes some difference in performance
(since buffer level affects active_worst/QPand frame-dropping),
but the change is observed to be small.
Made small adjustment to active_worst_quality to compensate.
Adjust some thresholds in datarate tests.
Change-Id: I81a5562367034f318cffd451304bc4a34bf02a1d
|
|
|
|
|
|
* changes:
Refactor av1_nb_mvs_inconsistency()
Recompute mv inconsistency after mv search is done
|