Commit Graph

18 Commits

Author SHA1 Message Date
Marco Paniconi
7beafefd16 vp9: Allow for disabling loopfilter per spatial layer
For SVC: add parameter to the control SET_SVC_PARAMS to
allow for disabling the loopfilter per spatial layer.
Note this svc setting will override the setting via
VP9E_SET_DISABLE_LOOPFILTER (which should only be used
for non-SVC).

Add unittest to handle both SVC (spatial or temporal layers)
and non-SVC (single layer) case.

Change-Id: I4092f01668bae42aac724a6df5b6f6a604337448
2020-11-12 11:31:42 -08:00
Marco Paniconi
94384b5c68 vp9-rtc: Fix to control for disabling loopfilter
Adding unit test.

Change-Id: Ic3c03fee7e9c2c224d927bb09914551422bdf816
2020-10-20 10:43:58 -07:00
James Zern
83769e3d25 update googletest to v1.10.0
this moves the framework to c++11 and changes *_TEST_CASE* to
_TEST_SUITE

BUG=webm:1695

Change-Id: I07f2c20850312a9c7e381b38353d2f9f45889cb1
2020-06-18 10:56:39 -07:00
Jerome Jiang
3529526e11 vp9 svc: add simulcast mode when inter-layer pred is off.
Force all upper spatial layers to be key frame if the base layer is key.
Mode only works for inter-layer pred=off and non-flexible mode.

Add flag to write out bitstream for each spatial layer in example
encoder.

Change-Id: I5db4543cf8697544ae49464f2157e692640d5256
2019-03-07 15:20:13 -08:00
James Zern
d84c2ddbb2 Merge "test/svc_end_to_end_test: fix SetConfig() signature" 2018-12-12 01:59:42 +00:00
Jerome Jiang
69d75c55cf Merge "Refactor svc_*_test.cc" 2018-12-11 18:39:41 +00:00
James Zern
7fb77b33ef test/svc_end_to_end_test: fix SetConfig() signature
make the parameter constant to match the base class and mark the
function virtual. virtual is used to match the rest of the code base,
but now that c++11 is required all such functions could be changed to
override.

since:
bb3a82ec3 vp9 svc: add test for scaling partition on 1080p crash.

Change-Id: I4717f0116a231ea954b34da9cfec69c462c21699
2018-12-10 23:01:01 -08:00
Jerome Jiang
36f523e213 Refactor svc_*_test.cc
Put test classes into svc_test namespace.
Make num_nonref_frames_ and mismatched_nframes private, as they're
computed by encoder/decoder hooks which shouldn't be modified outside
the class.
Add accessor to num_nonref_frames_.

Change-Id: I3836a45426796ba6a8c98dd31e21b5aec4b8abf4
2018-12-10 12:53:20 -08:00
James Zern
d9872c5a5a Merge "test/svc_*_test: fix SetConfig() signature" 2018-12-10 19:49:14 +00:00
James Zern
70391e8fd6 test/svc_*_test: fix SetConfig() signature
make the parameter constant to match the base class and mark the
function virtual. virtual is used to match the rest of the code base,
but now that c++11 is required all such functions could be changed to
override.

Change-Id: I551a05bbd9d05a9eddb653f42eaad68880c88141
2018-12-09 07:17:31 +00:00
Jerome Jiang
bb3a82ec36 vp9 svc: add test for scaling partition on 1080p crash.
BUG=webm:1578
Change-Id: Ie03ed454394933fa89f751edc6928651393f3f12
2018-12-07 21:38:30 -08:00
Jerome Jiang
9fcda19178 Refactor datarate svc test.
Bring some repeated test set up into a function.

Change-Id: I6acc545a349dc16581a23baf848c91ec36a2e83f
2018-12-04 17:33:24 -08:00
Jerome Jiang
013014f81b vp9 svc: Fix the scaling factor in intra only test for 1 SL.
Change-Id: I7f71c165f6d3a6d02229798286269389c3c5528c
2018-07-31 20:27:38 -07:00
Jerome Jiang
6dc668eed6 vp9 svc: Add test for intra-only for 1 SL.
In this case, verify that a key frame is inserted.

Change-Id: I70aa1974de956e657e413a34fd8bbcddf5d20c2c
2018-07-11 10:41:55 -07:00
Marco Paniconi
de5a4fbb10 vp9-svc: Intra-only frame for spatial layers.
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>
2018-07-09 09:36:35 -07:00
Jerome Jiang
884c4cae73 vp9: copy source on sync frame in denoiser.
Refresh all denoiser buffers on sync frame.

Add sync frame test with denoiser enabled.
Change-Id: I562a5ef5614b92a97565e6181a79eda51d9aeb99
2018-06-29 15:47:02 -07:00
Jerome Jiang
b6dde59e50 vp9 svc: Add tests for sync on 2nd & 3rd spatial layers.
Change-Id: I4d8b6d114d9a407f5bb879ab059a66425976f1df
2018-06-26 15:35:55 -07:00
Jerome Jiang
e3061c7e61 VP9 SVC: Add tests for layer sync on base layer.
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
2018-06-23 15:04:42 -07:00