Add alpha channel to VideoFrameBuffer containers

- Add alpha accessors to PlanarYuvBuffer interface, null by defualt.
- Add WrapI420ABuffer() that creates a container which implements these
accessors.
- Show the use via StereoDecoderAdapter.

This CL is the step 2 for adding alpha channel support over the wire in webrtc.
See https://webrtc-review.googlesource.com/c/src/+/7800 for the experimental
CL that gives an idea about how it will come together.
Design Doc: https://goo.gl/sFeSUT

Bug: webrtc:7671
Change-Id: Id5691cde00088ec811b63d89080d33ad2d6e3939
Reviewed-on: https://webrtc-review.googlesource.com/21130
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20635}
This commit is contained in:
Emircan Uysaler
2017-11-09 12:33:24 -08:00
committed by Commit Bot
parent 66cebbda35
commit 574eaa4cda
7 changed files with 174 additions and 27 deletions

View File

@ -78,6 +78,19 @@ rtc::scoped_refptr<I444BufferInterface> WrapI444Buffer(
int v_stride,
const rtc::Callback0<void>& no_longer_used);
rtc::scoped_refptr<I420ABufferInterface> WrapI420ABuffer(
int width,
int height,
const uint8_t* y_plane,
int y_stride,
const uint8_t* u_plane,
int u_stride,
const uint8_t* v_plane,
int v_stride,
const uint8_t* a_plane,
int a_stride,
const rtc::Callback0<void>& no_longer_used);
rtc::scoped_refptr<PlanarYuvBuffer> WrapYuvBuffer(
VideoFrameBuffer::Type type,
int width,