From 956b3068ba4a7331a0bd251fc7d0fa70216f1c51 Mon Sep 17 00:00:00 2001 From: Sergey Silkin Date: Thu, 1 Feb 2018 10:43:49 +0100 Subject: [PATCH] Reland "Set actual resolution for coded frame in VP9 enc wrapper." MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a reland of 4e53a0f384f46816a56f7d1aa9811e87b9c367d9. Original change's description: > Set actual resolution for coded frame in VP9 enc wrapper. > > This fix the mismatch of resolution VP9 wrapper set for coded frame with > its actual resolution. > > Bug: webm:1485, webrtc:5749 > Change-Id: Ie1225d8f3a3d00e66229a1a79858d0a89b3d5fae > Reviewed-on: https://webrtc-review.googlesource.com/46040 > Reviewed-by: Åsa Persson > Reviewed-by: Rasmus Brandt > Commit-Queue: Sergey Silkin > Cr-Commit-Position: refs/heads/master@{#21819} TBR=brandtr@webrtc.org,asapersson@webrtc.org Bug: webm:1485, webrtc:5749 Change-Id: I63124b45af678dc66f693fda96e1f347fdbc0ef1 Reviewed-on: https://webrtc-review.googlesource.com/46621 Commit-Queue: Sergey Silkin Reviewed-by: Sergey Silkin Cr-Commit-Position: refs/heads/master@{#21838} --- modules/video_coding/codecs/vp9/vp9_impl.cc | 6 ++++-- video/send_statistics_proxy.cc | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/video_coding/codecs/vp9/vp9_impl.cc b/modules/video_coding/codecs/vp9/vp9_impl.cc index 22993eb66a..7a779deb37 100644 --- a/modules/video_coding/codecs/vp9/vp9_impl.cc +++ b/modules/video_coding/codecs/vp9/vp9_impl.cc @@ -716,8 +716,10 @@ int VP9EncoderImpl::GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt) { encoded_image_.content_type_ = (codec_.mode == kScreensharing) ? VideoContentType::SCREENSHARE : VideoContentType::UNSPECIFIED; - encoded_image_._encodedHeight = raw_->d_h; - encoded_image_._encodedWidth = raw_->d_w; + encoded_image_._encodedHeight = + pkt->data.frame.height[layer_id.spatial_layer_id]; + encoded_image_._encodedWidth = + pkt->data.frame.width[layer_id.spatial_layer_id]; encoded_image_.timing_.flags = TimingFrameFlags::kInvalid; int qp = -1; vpx_codec_control(encoder_, VP8E_GET_LAST_QUANTIZER, &qp); diff --git a/video/send_statistics_proxy.cc b/video/send_statistics_proxy.cc index 4375e840c3..3c655cc43a 100644 --- a/video/send_statistics_proxy.cc +++ b/video/send_statistics_proxy.cc @@ -878,6 +878,7 @@ void SendStatisticsProxy::OnSendEncodedImage( if (!stats) return; + // TODO(ssilkin): Fix stats reporting for spatial layers in SVC. stats->width = encoded_image._encodedWidth; stats->height = encoded_image._encodedHeight; update_times_[ssrc].resolution_update_ms = clock_->TimeInMilliseconds();