Add spatial index to EncodedImage.
Replaces the VP8 simulcast index and VP9 spatial index formely part of CodecSpecificInfo. Bug: webrtc:9378 Change-Id: I80eafd63fbdee0a25864338196a690628b4bd3d2 Reviewed-on: https://webrtc-review.googlesource.com/83161 Commit-Queue: Niels Moller <nisse@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Reviewed-by: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Reviewed-by: Philip Eliasson <philipel@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24485}
This commit is contained in:
@ -38,11 +38,11 @@ TEST(RtpPayloadParamsTest, InfoMappedToRtpVideoHeader_Vp8) {
|
||||
EncodedImage encoded_image;
|
||||
encoded_image.rotation_ = kVideoRotation_90;
|
||||
encoded_image.content_type_ = VideoContentType::SCREENSHARE;
|
||||
encoded_image.SetSpatialIndex(1);
|
||||
|
||||
CodecSpecificInfo codec_info;
|
||||
memset(&codec_info, 0, sizeof(CodecSpecificInfo));
|
||||
codec_info.codecType = kVideoCodecVP8;
|
||||
codec_info.codecSpecific.VP8.simulcastIdx = 1;
|
||||
codec_info.codecSpecific.VP8.temporalIdx = 0;
|
||||
codec_info.codecSpecific.VP8.keyIdx = kNoKeyIdx;
|
||||
codec_info.codecSpecific.VP8.layerSync = false;
|
||||
@ -52,7 +52,6 @@ TEST(RtpPayloadParamsTest, InfoMappedToRtpVideoHeader_Vp8) {
|
||||
params.GetRtpVideoHeader(encoded_image, &codec_info, kDontCare);
|
||||
|
||||
codec_info.codecType = kVideoCodecVP8;
|
||||
codec_info.codecSpecific.VP8.simulcastIdx = 1;
|
||||
codec_info.codecSpecific.VP8.temporalIdx = 1;
|
||||
codec_info.codecSpecific.VP8.layerSync = true;
|
||||
|
||||
@ -79,13 +78,12 @@ TEST(RtpPayloadParamsTest, InfoMappedToRtpVideoHeader_Vp9) {
|
||||
EncodedImage encoded_image;
|
||||
encoded_image.rotation_ = kVideoRotation_90;
|
||||
encoded_image.content_type_ = VideoContentType::SCREENSHARE;
|
||||
|
||||
encoded_image.SetSpatialIndex(0);
|
||||
CodecSpecificInfo codec_info;
|
||||
memset(&codec_info, 0, sizeof(CodecSpecificInfo));
|
||||
codec_info.codecType = kVideoCodecVP9;
|
||||
codec_info.codecSpecific.VP9.num_spatial_layers = 3;
|
||||
codec_info.codecSpecific.VP9.first_frame_in_picture = true;
|
||||
codec_info.codecSpecific.VP9.spatial_idx = 0;
|
||||
codec_info.codecSpecific.VP9.temporal_idx = 2;
|
||||
codec_info.codecSpecific.VP9.end_of_picture = false;
|
||||
|
||||
@ -100,7 +98,7 @@ TEST(RtpPayloadParamsTest, InfoMappedToRtpVideoHeader_Vp9) {
|
||||
EXPECT_EQ(kPictureId + 1, vp9_header.picture_id);
|
||||
EXPECT_EQ(kTl0PicIdx, vp9_header.tl0_pic_idx);
|
||||
EXPECT_EQ(vp9_header.temporal_idx, codec_info.codecSpecific.VP9.temporal_idx);
|
||||
EXPECT_EQ(vp9_header.spatial_idx, codec_info.codecSpecific.VP9.spatial_idx);
|
||||
EXPECT_EQ(vp9_header.spatial_idx, encoded_image.SpatialIndex());
|
||||
EXPECT_EQ(vp9_header.num_spatial_layers,
|
||||
codec_info.codecSpecific.VP9.num_spatial_layers);
|
||||
EXPECT_EQ(vp9_header.end_of_picture,
|
||||
@ -108,9 +106,9 @@ TEST(RtpPayloadParamsTest, InfoMappedToRtpVideoHeader_Vp9) {
|
||||
|
||||
// Next spatial layer.
|
||||
codec_info.codecSpecific.VP9.first_frame_in_picture = false;
|
||||
codec_info.codecSpecific.VP9.spatial_idx += 1;
|
||||
codec_info.codecSpecific.VP9.end_of_picture = true;
|
||||
|
||||
encoded_image.SetSpatialIndex(1);
|
||||
header = params.GetRtpVideoHeader(encoded_image, &codec_info, kDontCare);
|
||||
|
||||
EXPECT_EQ(kVideoRotation_90, header.rotation);
|
||||
@ -119,7 +117,7 @@ TEST(RtpPayloadParamsTest, InfoMappedToRtpVideoHeader_Vp9) {
|
||||
EXPECT_EQ(kPictureId + 1, vp9_header.picture_id);
|
||||
EXPECT_EQ(kTl0PicIdx, vp9_header.tl0_pic_idx);
|
||||
EXPECT_EQ(vp9_header.temporal_idx, codec_info.codecSpecific.VP9.temporal_idx);
|
||||
EXPECT_EQ(vp9_header.spatial_idx, codec_info.codecSpecific.VP9.spatial_idx);
|
||||
EXPECT_EQ(vp9_header.spatial_idx, encoded_image.SpatialIndex());
|
||||
EXPECT_EQ(vp9_header.num_spatial_layers,
|
||||
codec_info.codecSpecific.VP9.num_spatial_layers);
|
||||
EXPECT_EQ(vp9_header.end_of_picture,
|
||||
@ -154,7 +152,6 @@ TEST(RtpPayloadParamsTest, PictureIdIsSetForVp8) {
|
||||
CodecSpecificInfo codec_info;
|
||||
memset(&codec_info, 0, sizeof(CodecSpecificInfo));
|
||||
codec_info.codecType = kVideoCodecVP8;
|
||||
codec_info.codecSpecific.VP8.simulcastIdx = 0;
|
||||
|
||||
RtpPayloadParams params(kSsrc1, &state);
|
||||
RTPVideoHeader header =
|
||||
|
||||
Reference in New Issue
Block a user