Delete tests with 4 temporal layers
Using 4 temporal layers is not quite supported: Not advertised, no integration tests. When transitioning to configuration via scalability mode, there are no corresponding modes defined. So delete these two tests; they can be added back if/when support for corresponding scalability modes are added. Bug: webrtc:11607 Change-Id: I97f55dc95d6513ccf65fa887757a62e9c8659be7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269003 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Philip Eliasson <philipel@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37575}
This commit is contained in:
parent
10a7d23be5
commit
daddfee8c5
@ -354,61 +354,6 @@ TEST_F(TemporalLayersTest, SearchOrderWithDrop) {
|
||||
EXPECT_EQ(tl_config.second_reference, Vp8BufferReference::kLast);
|
||||
}
|
||||
|
||||
TEST_F(TemporalLayersTest, 4Layers) {
|
||||
constexpr int kNumLayers = 4;
|
||||
DefaultTemporalLayers tl(kNumLayers);
|
||||
DefaultTemporalLayersChecker checker(kNumLayers);
|
||||
tl.OnRatesUpdated(0,
|
||||
GetTemporalLayerRates(kDefaultBytesPerFrame,
|
||||
kDefaultFramerate, kNumLayers),
|
||||
kDefaultFramerate);
|
||||
tl.UpdateConfiguration(0);
|
||||
int expected_flags[16] = {
|
||||
kTemporalUpdateLast,
|
||||
kTemporalUpdateNoneNoRefGoldenAltRef,
|
||||
kTemporalUpdateAltrefWithoutDependency,
|
||||
kTemporalUpdateNoneNoRefGolden,
|
||||
kTemporalUpdateGoldenWithoutDependency,
|
||||
kTemporalUpdateNone,
|
||||
kTemporalUpdateAltref,
|
||||
kTemporalUpdateNone,
|
||||
kTemporalUpdateLast,
|
||||
kTemporalUpdateNone,
|
||||
kTemporalUpdateAltref,
|
||||
kTemporalUpdateNone,
|
||||
kTemporalUpdateGolden,
|
||||
kTemporalUpdateNone,
|
||||
kTemporalUpdateAltref,
|
||||
kTemporalUpdateNone,
|
||||
};
|
||||
int expected_temporal_idx[16] = {0, 3, 2, 3, 1, 3, 2, 3,
|
||||
0, 3, 2, 3, 1, 3, 2, 3};
|
||||
|
||||
bool expected_layer_sync[16] = {false, true, true, false, true, false,
|
||||
false, false, false, false, false, false,
|
||||
false, false, false, false};
|
||||
|
||||
uint32_t timestamp = 0;
|
||||
for (int i = 0; i < 16; ++i) {
|
||||
const bool is_keyframe = (i == 0);
|
||||
CodecSpecificInfo info;
|
||||
Vp8FrameConfig tl_config = tl.NextFrameConfig(0, timestamp);
|
||||
EXPECT_EQ(is_keyframe ? kKeyFrameFlags : expected_flags[i],
|
||||
LibvpxVp8Encoder::EncodeFlags(tl_config))
|
||||
<< i;
|
||||
tl.OnEncodeDone(0, timestamp, kDefaultBytesPerFrame, is_keyframe,
|
||||
kDefaultQp, &info);
|
||||
EXPECT_TRUE(checker.CheckTemporalConfig(is_keyframe, tl_config));
|
||||
EXPECT_EQ(expected_temporal_idx[i], info.codecSpecific.VP8.temporalIdx);
|
||||
EXPECT_EQ(expected_temporal_idx[i], tl_config.packetizer_temporal_idx);
|
||||
EXPECT_EQ(expected_temporal_idx[i], tl_config.encoder_layer_id);
|
||||
EXPECT_EQ(is_keyframe || expected_layer_sync[i],
|
||||
info.codecSpecific.VP8.layerSync);
|
||||
EXPECT_EQ(expected_layer_sync[i], tl_config.layer_sync);
|
||||
timestamp += 3000;
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(TemporalLayersTest, DoesNotReferenceDroppedFrames) {
|
||||
constexpr int kNumLayers = 3;
|
||||
// Use a repeating pattern of tl 0, 2, 1, 2.
|
||||
|
||||
@ -345,25 +345,6 @@ TEST_F(EncoderBitrateAdjusterTest, ThreeTemporalLayersSkewedOvershoot) {
|
||||
current_adjusted_allocation_, 0.01);
|
||||
}
|
||||
|
||||
TEST_F(EncoderBitrateAdjusterTest, FourTemporalLayersSkewedOvershoot) {
|
||||
// Three temporal layers, 40%/30%/15%/15% bps distro.
|
||||
// 10% overshoot on base layer, 20% on higher layers.
|
||||
current_input_allocation_.SetBitrate(0, 0, 120000);
|
||||
current_input_allocation_.SetBitrate(0, 1, 90000);
|
||||
current_input_allocation_.SetBitrate(0, 2, 45000);
|
||||
current_input_allocation_.SetBitrate(0, 3, 45000);
|
||||
target_framerate_fps_ = 30;
|
||||
SetUpAdjuster(1, 4, false);
|
||||
InsertFrames({{1.1, 1.2, 1.2, 1.2}}, kWindowSizeMs);
|
||||
current_adjusted_allocation_ =
|
||||
adjuster_->AdjustRateAllocation(VideoEncoder::RateControlParameters(
|
||||
current_input_allocation_, target_framerate_fps_));
|
||||
// Expected overshoot is weighted by bitrate:
|
||||
// (0.4 * 1.1 + 0.3 * 1.2 + 0.15 * 1.2 + 0.15 * 1.2) = 1.16
|
||||
ExpectNear(MultiplyAllocation(current_input_allocation_, 1 / 1.16),
|
||||
current_adjusted_allocation_, 0.01);
|
||||
}
|
||||
|
||||
TEST_F(EncoderBitrateAdjusterTest, ThreeTemporalLayersNonLayeredEncoder) {
|
||||
// Three temporal layers, 60%/20%/20% bps allocation, 10% overshoot,
|
||||
// encoder does not actually support temporal layers.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user