From 4e53a0f384f46816a56f7d1aa9811e87b9c367d9 Mon Sep 17 00:00:00 2001 From: Sergey Silkin Date: Tue, 30 Jan 2018 17:01:38 +0100 Subject: [PATCH] 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 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} --- 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();