Propagate spatial index to EncodedImage.

Set spatial index of assembled VP9 picture equal to spatial index of
its top spatial layer frame.

Bug: webrtc:10151
Change-Id: Iae40505864b14b01cc6787f8da99a9e3fe283956
Reviewed-on: https://webrtc-review.googlesource.com/c/115280
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26075}
This commit is contained in:
Sergey Silkin
2018-12-20 14:32:14 +01:00
committed by Commit Bot
parent 76fd7b402e
commit 61832dd018
4 changed files with 29 additions and 19 deletions

View File

@ -161,6 +161,7 @@ class TestFrameBuffer2 : public ::testing::Test {
std::unique_ptr<FrameObjectFake> frame(new FrameObjectFake());
frame->id.picture_id = picture_id;
frame->id.spatial_layer = spatial_layer;
frame->SetSpatialIndex(spatial_layer);
frame->SetTimestamp(ts_ms * 90);
frame->num_references = references.size();
frame->inter_layer_predicted = inter_layer_predicted;
@ -271,7 +272,7 @@ TEST_F(TestFrameBuffer2, OneSuperFrame) {
InsertFrame(pid, 1, ts, true, true);
ExtractFrame();
CheckFrame(0, pid, 0);
CheckFrame(0, pid, 1);
}
TEST_F(TestFrameBuffer2, SetPlayoutDelay) {
@ -599,7 +600,7 @@ TEST_F(TestFrameBuffer2, CombineFramesToSuperframe) {
InsertFrame(pid, 1, ts, true, true);
ExtractFrame(0);
ExtractFrame(0);
CheckFrame(0, pid, 0);
CheckFrame(0, pid, 1);
CheckNoFrame(1);
// Two frames should be combined and returned together.
CheckFrameSize(0, kFrameSize * 2);
@ -613,7 +614,7 @@ TEST_F(TestFrameBuffer2, HigherSpatialLayerNonDecodable) {
InsertFrame(pid, 1, ts, true, true);
ExtractFrame(0);
CheckFrame(0, pid, 0);
CheckFrame(0, pid, 1);
InsertFrame(pid + 1, 1, ts + kFps20, false, true, pid);
InsertFrame(pid + 2, 0, ts + kFps10, false, false, pid);
@ -627,7 +628,7 @@ TEST_F(TestFrameBuffer2, HigherSpatialLayerNonDecodable) {
ExtractFrame();
ExtractFrame();
CheckFrame(1, pid + 1, 1);
CheckFrame(2, pid + 2, 0);
CheckFrame(2, pid + 2, 1);
}
} // namespace video_coding