Add sizes of spatial layer frames to EncodedImage

WebRTC combines VP9 SVC spatial layer frames into superframe and passes
it to a decoder. The chromium HW VP9 decoder (wrapper) needs to know
location of each spatial layer frame in the frame buffer. To provide
decoder with such information this CL:
- Adds Set/SpatialLayerFrameSize methods to EncodedImage.
- Sets size of each spatial layer frame on superframe at assembly stage.

Bug: webrtc:10495
Change-Id: I68c3c0d668c67dfa1740e004059d860dd98f67f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136922
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28032}
This commit is contained in:
Sergey Silkin
2019-05-17 09:51:39 +02:00
committed by Commit Bot
parent 40244407e3
commit 2799e63bfb
5 changed files with 143 additions and 80 deletions

View File

@ -57,8 +57,11 @@ class VCMEncodedFrame : protected EncodedImage {
using EncodedImage::set_size;
using EncodedImage::SetColorSpace;
using EncodedImage::SetSpatialIndex;
using EncodedImage::SetSpatialLayerFrameSize;
using EncodedImage::SetTimestamp;
using EncodedImage::size;
using EncodedImage::SpatialIndex;
using EncodedImage::SpatialLayerFrameSize;
using EncodedImage::Timestamp;
/**