Update the resolution check for VP8 simulcast.
To support non-default values of scale_resolution_down_by. Bug: webrtc:10069 Change-Id: I7efb39cc06a895986f9583acc2180245c009a7fa Reviewed-on: https://webrtc-review.googlesource.com/c/121650 Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26677}
This commit is contained in:
committed by
Commit Bot
parent
6b88a8f161
commit
788f577603
@ -242,30 +242,30 @@ TEST_F(TestVp8Impl, DecodedColorSpaceEqualsEncodedColorSpace) {
|
||||
|
||||
TEST_F(TestVp8Impl, ChecksSimulcastSettings) {
|
||||
codec_settings_.numberOfSimulcastStreams = 2;
|
||||
// Reslutions are not scaled by 2, temporal layers do not match.
|
||||
// Resolutions are not in ascending order, temporal layers do not match.
|
||||
codec_settings_.simulcastStream[0] = {kWidth, kHeight, kFramerateFps, 2,
|
||||
4000, 3000, 2000, 80};
|
||||
codec_settings_.simulcastStream[1] = {kWidth, kHeight, 30, 3,
|
||||
4000, 3000, 2000, 80};
|
||||
codec_settings_.simulcastStream[1] = {kWidth / 2, kHeight / 2, 30, 3,
|
||||
4000, 3000, 2000, 80};
|
||||
EXPECT_EQ(WEBRTC_VIDEO_CODEC_ERR_SIMULCAST_PARAMETERS_NOT_SUPPORTED,
|
||||
encoder_->InitEncode(&codec_settings_, kNumCores, kMaxPayloadSize));
|
||||
codec_settings_.numberOfSimulcastStreams = 3;
|
||||
// Reslutions are not scaled by 2.
|
||||
// Resolutions are not in ascending order.
|
||||
codec_settings_.simulcastStream[0] = {
|
||||
kWidth / 2, kHeight / 2, kFramerateFps, 1, 4000, 3000, 2000, 80};
|
||||
codec_settings_.simulcastStream[1] = {
|
||||
kWidth / 2, kHeight / 2, kFramerateFps, 1, 4000, 3000, 2000, 80};
|
||||
kWidth / 2 - 1, kHeight / 2 - 1, kFramerateFps, 1, 4000, 3000, 2000, 80};
|
||||
codec_settings_.simulcastStream[2] = {kWidth, kHeight, 30, 1,
|
||||
4000, 3000, 2000, 80};
|
||||
EXPECT_EQ(WEBRTC_VIDEO_CODEC_ERR_SIMULCAST_PARAMETERS_NOT_SUPPORTED,
|
||||
encoder_->InitEncode(&codec_settings_, kNumCores, kMaxPayloadSize));
|
||||
// Reslutions are not scaled by 2.
|
||||
// Resolutions are not in ascending order.
|
||||
codec_settings_.simulcastStream[0] = {kWidth, kHeight, kFramerateFps, 1,
|
||||
4000, 3000, 2000, 80};
|
||||
codec_settings_.simulcastStream[1] = {kWidth, kHeight, kFramerateFps, 1,
|
||||
4000, 3000, 2000, 80};
|
||||
codec_settings_.simulcastStream[2] = {kWidth, kHeight, kFramerateFps, 1,
|
||||
4000, 3000, 2000, 80};
|
||||
codec_settings_.simulcastStream[2] = {
|
||||
kWidth - 1, kHeight - 1, kFramerateFps, 1, 4000, 3000, 2000, 80};
|
||||
EXPECT_EQ(WEBRTC_VIDEO_CODEC_ERR_SIMULCAST_PARAMETERS_NOT_SUPPORTED,
|
||||
encoder_->InitEncode(&codec_settings_, kNumCores, kMaxPayloadSize));
|
||||
// Temporal layers do not match.
|
||||
@ -296,6 +296,16 @@ TEST_F(TestVp8Impl, ChecksSimulcastSettings) {
|
||||
4000, 3000, 2000, 80};
|
||||
EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
|
||||
encoder_->InitEncode(&codec_settings_, kNumCores, kMaxPayloadSize));
|
||||
// Everything fine: custom scaling, top resolution matches video, temporal
|
||||
// settings are the same for all layers.
|
||||
codec_settings_.simulcastStream[0] = {
|
||||
kWidth / 4, kHeight / 4, kFramerateFps, 1, 4000, 3000, 2000, 80};
|
||||
codec_settings_.simulcastStream[1] = {kWidth, kHeight, kFramerateFps, 1,
|
||||
4000, 3000, 2000, 80};
|
||||
codec_settings_.simulcastStream[2] = {kWidth, kHeight, kFramerateFps, 1,
|
||||
4000, 3000, 2000, 80};
|
||||
EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
|
||||
encoder_->InitEncode(&codec_settings_, kNumCores, kMaxPayloadSize));
|
||||
}
|
||||
|
||||
#if defined(WEBRTC_ANDROID)
|
||||
|
||||
Reference in New Issue
Block a user