Reland "Unit test for case where the number of active and configured spatial"
This reverts commit 425193b4a92f0df1f3fbea3626b9abf6a38f67ec. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Unit test for case where the number of active and configured spatial" > > This reverts commit 5eb6045ce5754ce815929c54dd27ab0bf3ae62ba. > > Reason for revert: Test breaks downstream. > > Original change's description: > > Unit test for case where the number of active and configured spatial > > layers differ. > > > > Bug: webrtc:9472 > > Change-Id: I5cf292a12d73777ca0fd5771eb1a4756626f640c > > Reviewed-on: https://webrtc-review.googlesource.com/85644 > > Reviewed-by: Sergey Silkin <ssilkin@webrtc.org> > > Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> > > Commit-Queue: Michael Horowitz <mhoro@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#23782} > > TBR=brandtr@webrtc.org,ssilkin@webrtc.org,mhoro@webrtc.org > > Change-Id: Ib97cdb127e79ee969f7cb3f931cb7bd533f13af0 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:9472 > Reviewed-on: https://webrtc-review.googlesource.com/86320 > Reviewed-by: Björn Terelius <terelius@webrtc.org> > Commit-Queue: Björn Terelius <terelius@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#23785} TBR=brandtr@webrtc.org,terelius@webrtc.org,ssilkin@webrtc.org,mhoro@webrtc.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: webrtc:9472 Change-Id: I796909c553702a0fa19e5e16e4586f915569b134 Reviewed-on: https://webrtc-review.googlesource.com/87220 Reviewed-by: Michael Horowitz <mhoro@webrtc.org> Commit-Queue: Michael Horowitz <mhoro@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23847}
This commit is contained in:
committed by
Commit Bot
parent
7b92ceb0ee
commit
e144f7fb83
@ -218,14 +218,17 @@ TEST_F(TestVp9Impl, EncoderExplicitLayering) {
|
||||
}
|
||||
|
||||
TEST_F(TestVp9Impl, EnableDisableSpatialLayers) {
|
||||
// Configure encoder to produce N spatial layers. Encode few frames of layer 0
|
||||
// then enable layer 1 and encode few more frames and so on until layer N-1.
|
||||
// Configure encoder to produce N spatial layers. Encode frames of layer 0
|
||||
// then enable layer 1 and encode more frames and so on until layer N-1.
|
||||
// Then disable layers one by one in the same way.
|
||||
// Note: bit rate allocation is high to avoid frame dropping due to rate
|
||||
// control, the encoder should always produce a frame. A dropped
|
||||
// frame indicates a problem and the test will fail.
|
||||
const size_t num_spatial_layers = 3;
|
||||
const size_t num_frames_to_encode = 2;
|
||||
const size_t num_frames_to_encode = 5;
|
||||
|
||||
ConfigureSvc(num_spatial_layers);
|
||||
codec_settings_.VP9()->frameDroppingOn = false;
|
||||
codec_settings_.VP9()->frameDroppingOn = true;
|
||||
|
||||
EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
|
||||
encoder_->InitEncode(&codec_settings_, 1 /* number of cores */,
|
||||
@ -233,8 +236,10 @@ TEST_F(TestVp9Impl, EnableDisableSpatialLayers) {
|
||||
|
||||
VideoBitrateAllocation bitrate_allocation;
|
||||
for (size_t sl_idx = 0; sl_idx < num_spatial_layers; ++sl_idx) {
|
||||
// Allocate high bit rate to avoid frame dropping due to rate control.
|
||||
bitrate_allocation.SetBitrate(
|
||||
sl_idx, 0, codec_settings_.spatialLayers[sl_idx].targetBitrate * 1000);
|
||||
sl_idx, 0,
|
||||
codec_settings_.spatialLayers[sl_idx].targetBitrate * 1000 * 2);
|
||||
EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
|
||||
encoder_->SetRateAllocation(bitrate_allocation,
|
||||
codec_settings_.maxFramerate));
|
||||
|
||||
Reference in New Issue
Block a user