Age | Commit message (Collapse) | Author |
|
BUG=b/112294545
Change-Id: I5be230c8969d69af3ad87068fdf3834ef1af11d9
|
|
|
|
When the feature is enabled and the memory is not available, allocate
it. There was a case where speed feature changed in the middle of stream
but the number of tiles stayed the same, memory was not re-allocated.
Another case is where speed for base layer is different than that of
higher quality layers (same resolution). Removed the speed constraints
forcing base layer using same speed setting.
Thus the memory for adaptive_rd_thresh_row_mt stayed NULL but the
feature was enabled.
Add an end to end test to cover this case.
Change-Id: I2f1f802ef98a554571b30094d3600b9439228457
|
|
Add metrics that are being updated per-frame to
the layer struct, so each layer using the cyclic
refresh has the correct update. This is more consistent
for the rate control and refresh rate.
Some improvement in screen content clips.
Neutral for SVC on rtc set.
Change-Id: I0a9862fb6b6a79e894e2ff30c120dc4aa26fcda5
|
|
Add datarate unittest for SVC screen content mode,
with 2 quality layers.
Change-Id: I9c8ad5462fd046698052bea6d7343c2b7e16668f
|
|
Add update_buffer_slot to SVC API to allow for refreshing
any of the 8 reference buffers. Remove frame_flags from
the struct.
Remove svc tests from vp8 build.
BUG=b/112292577
Change-Id: I0551c349d2b311227245a8ed1639cdbbaf5bc5db
|
|
BUG=webm:1554
Change-Id: I69f9353266a290ae3c6ac9e51c960fff6e1af205
|
|
Change-Id: I4e9c73d6d1d9ea560f04cc37aaf99d58ec2ab551
|
|
Use case is for layered (SVC) coding to allow higher
resolution layers to continue decoding with temporal references,
while base spatial layer is intra-only frame.
Made encoder changes to real-time path for encoding intra-only
frame. The intra-only frame will be followed by the overlay/copy
frame (with both packed in the same superframe).
Use existing control to enable intra_only frame.
Intra only is only applied to base spatial layer, and only
allowed under fixed/non-flexible SVC mode, and only for
1 < number_spatial_layers < 4.
Added svc datarate unittest for inserting intra_only frame
as sync frame. Added svc end to end tests to check mismatch.
Change-Id: I2f4f0106b2c4f51ce77aa2c1c6823ba83ff2f7a0
Signed-off-by: Marco Paniconi <marpan@google.com>
|
|
No need to pass arguments that are already members of the class.
Change-Id: I887d33d6037b561dee5dd8d49bb112d9120cd2a7
|
|
Create tests for sync layer. The purpose of new tests is not to check
bitrate targeting, thus they're put in a new file.
Create a base class for svc tests, which is also inherited by svc datarate
tests, to reduce code redundancy.
Start decoding in the test from the frame of layer sync.
Change-Id: I7226d208279ad785873dffef51e0a8abef23b256
|
|
Add encoder control to allow application to insert
spatial layer sync frame. The sync frame disables
temporal prediction for that spatial layer.
This is useful for RTC application to have receiver
start decoding a higher spatial layer, without inserting
a key frame on base spatial layer.
If the layer sync is requested on the base spatial layer
this then force a key frame, otherwise it only disables
the temporal reference for that spatial layer, allowing
temporal prediction to continue for the other layers.
Although the temporal prediction is disabled and reset
on a layer sync frame, the inter-layer prediction for the
sync frame is enabled on INTER frames. So the meaning of
INTER_LAYER_PRED_OFF_NONKEY is modified to mean disable
inter-layer prediction on non-key and non-sync frames.
Added unittest for inserting layer sync frames.
Bump up ABI version.
Change-Id: Id458acc400a77c853551f125c4e7b6d001991f03
|
|
Change-Id: Ic8e07b07790e067c014677cf33c3b016fcf4cb39
|
|
For any spatial, limits the amount of consecutive frame drop.
Change-Id: I692d90363f329f571f2b59e12cc680ad2e76065d
|
|
When encoding a given spatial layer and the same spatial layer
on previous superframe was dropped (or disabled due to 0 bitrate),
the lst_fb_idx for current layer is set to the buffer index that
was last updated on TL0 frame (for the same spatial layer).
This condition was to maintain proper temporal prediction pattern
under frame drops, and it should only apply to INTER frames.
But the condition was causing an assert to be triggered on spatial
layers whose base are key frames. Fix is to condition this reset of
lst_fb_idx on the "is_key_frame" flag. Also initialize the
fb_idx_upd_tl0 to -1 and only use it for a given spatial layer
if its been set.
These issues can happen when superframe drop happens just before
a key frame, or when stream starts with lower layers and dynamically
enabled higher spatial layers.
Added datarate unittest the inserts key frame after superframe drop,
and verified that this fix is needed for test to pass.
Also modified the existing DisableEnable spatial layer test to trigger
the issue of using fb_idx_upd_tl0 when it hasn't been set for a
spatial layer.
Change-Id: I059d1135736aca17e1326b9b4a2b16371eb4634e
|
|
Set subpel search stop to 2 when motion vector is non zero.
10% speedup on 1 and 2 threads on Samsung Galaxy S8+.
Change-Id: I7323bb913000229cf60a37495bf88bcc51d0ac96
|
|
When the whole superframe is dropped (due to rate control),
don't increment the temporal layer counter.
This is a temporary fix to prevent an issue where temporal
prediction pattern is possibly broken.
Updated svc_datarate tests to handle this case.
Change-Id: Icac44fdc9d0f08a957776c937584db4b2c7927c7
|
|
Change-Id: I3f4e45b398009852f1183943461625d621c4eb80
|
|
Wrap denoiser tests under config flags.
Change-Id: I6175c3c9d8b5b079ad35a55553383145db58a10f
|
|
|
|
Switch the order of constrained and layer drop mode,
and keep constrained_layer_drop as the default.
Update the svc datarate tests.
Change-Id: I764270f7b4964b87b0cd3da6c2f96a628f212a30
|
|
The control is set by log2 of number of threads (such that the number of
tiles is the same of number of threads).
Thus it should be log2(num_threads) instead of (num_threads >> 1).
Change-Id: I2ccec5557e660048dad3e561534e1c74fc8eec1f
|
|
Add/Remove static to functions. Name change.
Change-Id: I5de3efc23cd151fe8e70fe67a7a11acfcfa707dc
|
|
As we add more tests to datarate_test.cc, it's growing bigger and hard
to find specific test.
Split it to vp8, vp9 and svc ones.
Change-Id: Ie8c302010cf304a95554bee19d87ddc90498d0fb
|