Age | Commit message (Collapse) | Author |
|
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: Id70235c801d253d47267c6d34760484f82d5c881
|
|
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
|
|
Need to offset the forward range by 1 to include the stats for
the current frame itself.
Change-Id: I3b5171b7edef51ec4e97e4e0542ca58af5ce1416
|
|
Change-Id: Ib9d16a4bc3ce1d28493e34f24dc18a6b511738f0
|
|
Change-Id: I6061f38cb42eea2b4c8996ad372c829dc1051c8d
|
|
The tpl model assumes a relative short stats buffer length. Hence
it is not ready to support GF-only GOP structure where the max
length can go up to 250. Disable tpl model in such setting to avoid
a rare encode failure in GF-only setting.
Change-Id: I3409dbb829a8105478876684ec21a2bd405c33c8
|
|
Rework the recursive ARF allocation to avoid missing one frame's
type assignment issue in GF only GOP structure. This fixes a rare
encoder failure issue in GF only setting.
Change-Id: I3e41fe36d3cb954de25ffc058a42b2b8be0fcd7a
|
|
|
|
Speed up the encoding time by ~20% for multi-layer ARF system.
Change-Id: I16de1cfed7cd1815cf0269eb4f90ad74fdf087ee
|
|
To compute the total budget for a depth layer, exclude the count of
frames that have been allocated the bit budget. This improves the
avg PSNR by 0.15% and overall PSNR by 0.25% for lowres and midres
test sets.
Change-Id: I5115e33e1422dc930179142cd29aeebe97425283
|
|
Simplify max value calculation on aarch64 by using vmaxv. Much
faster for 4x4 but diminishing returns as the block size grows.
Only the vp9 quantize has a speed test hooked up. Anticipate
similar results for the other quantize versions.
Before:
[ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/2
[ BENCH ] Bypass calculations 4x4 31.6 ms ( ±0.0 ms )
[ BENCH ] Full calculations 4x4 31.6 ms ( ±0.0 ms )
[ BENCH ] Bypass calculations 8x8 17.7 ms ( ±0.0 ms )
[ BENCH ] Full calculations 8x8 17.7 ms ( ±0.0 ms )
[ BENCH ] Bypass calculations 16x16 14.2 ms ( ±0.0 ms )
[ BENCH ] Full calculations 16x16 14.2 ms ( ±0.0 ms )
[ OK ] NEON/VP9QuantizeTest.DISABLED_Speed/2 (1906 ms)
[ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/3
[ BENCH ] Bypass calculations 32x32 18.6 ms ( ±0.0 ms )
[ BENCH ] Full calculations 32x32 18.6 ms ( ±0.0 ms )
After:
[ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/2
[ BENCH ] Bypass calculations 4x4 29.1 ms ( ±0.0 ms )
[ BENCH ] Full calculations 4x4 29.1 ms ( ±0.0 ms )
[ BENCH ] Bypass calculations 8x8 16.9 ms ( ±0.0 ms )
[ BENCH ] Full calculations 8x8 16.9 ms ( ±0.0 ms )
[ BENCH ] Bypass calculations 16x16 14.1 ms ( ±0.0 ms )
[ BENCH ] Full calculations 16x16 14.1 ms ( ±0.0 ms )
[ OK ] NEON/VP9QuantizeTest.DISABLED_Speed/2 (1803 ms)
[ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/3
[ BENCH ] Bypass calculations 32x32 18.6 ms ( ±0.0 ms )
[ BENCH ] Full calculations 32x32 18.6 ms ( ±0.0 ms )
Change-Id: Ic95812b3fdbd4e47b4dcb8ed46c68a9617de38d2
|
|
|
|
Change-Id: I2b59ba26fdb1f75302c457c90817398acaa28975
|
|
|
|
|
|
Recognizing that max dc_quant used in rdmult computation is 21387 and
21387 * 21387 * 88 / 24 is still within the range of int32_t, this
commit simplifies the computation with minor cleanups.
Change-Id: I2ac7e8315d103c0bb39b70c312c87c0fda47b4f9
|
|
Account for dropped frame, and change resolution threshold
for limiting split below 16x16.
Change-Id: If94cfb2bc24d9103332d1c8d945daca8899db33d
|
|
Remove duplicate variable definition.
Change-Id: I476bb319078f1043116163ac7aeff28a4a3ab5e6
|
|
|
|
|