| Index: webrtc/common_video/include/video_frame_buffer.h
|
| diff --git a/webrtc/common_video/include/video_frame_buffer.h b/webrtc/common_video/include/video_frame_buffer.h
|
| index 287624e59ec5076f72ad0d87a856a6fe8e0ba8b0..2d5949fbc4e10275b34b5f326a6d86c6c3ce4c54 100644
|
| --- a/webrtc/common_video/include/video_frame_buffer.h
|
| +++ b/webrtc/common_video/include/video_frame_buffer.h
|
| @@ -58,9 +58,6 @@ class VideoFrameBuffer : public rtc::RefCountInterface {
|
| // Plain I420 buffer in standard memory.
|
| class I420Buffer : public VideoFrameBuffer {
|
| public:
|
| - I420Buffer(int width, int height);
|
| - I420Buffer(int width, int height, int stride_y, int stride_u, int stride_v);
|
| -
|
| static rtc::scoped_refptr<I420Buffer> Create(int width, int height);
|
| static rtc::scoped_refptr<I420Buffer> Create(int width,
|
| int height,
|
| @@ -68,6 +65,24 @@ class I420Buffer : public VideoFrameBuffer {
|
| int stride_u,
|
| int stride_v);
|
|
|
| + // Create a new buffer and copy the pixel data.
|
| + static rtc::scoped_refptr<I420Buffer> Copy(const VideoFrameBuffer& buffer);
|
| +
|
| + static rtc::scoped_refptr<I420Buffer> Copy(
|
| + int width, int height,
|
| + const uint8_t* data_y, int stride_y,
|
| + const uint8_t* data_u, int stride_u,
|
| + const uint8_t* data_v, int stride_v);
|
| +
|
| + // Returns a rotated versions of |src|. Native buffers are not
|
| + // supported. The reason this function doesn't return an I420Buffer,
|
| + // is that it returns |src| unchanged in case |rotation| is zero.
|
| + // TODO(nisse): Consider dropping the special handling of zero
|
| + // rotation, and leave any optimizing that case to the caller.
|
| + static rtc::scoped_refptr<VideoFrameBuffer> Rotate(
|
| + rtc::scoped_refptr<VideoFrameBuffer> src,
|
| + VideoRotation rotation);
|
| +
|
| // Sets all three planes to all zeros. Used to work around for
|
| // quirks in memory checkers
|
| // (https://bugs.chromium.org/p/libyuv/issues/detail?id=377) and
|
| @@ -95,9 +110,6 @@ class I420Buffer : public VideoFrameBuffer {
|
| void* native_handle() const override;
|
| rtc::scoped_refptr<VideoFrameBuffer> NativeToI420Buffer() override;
|
|
|
| - // Create a new buffer and copy the pixel data.
|
| - static rtc::scoped_refptr<I420Buffer> Copy(const VideoFrameBuffer& buffer);
|
| -
|
| // Scale the cropped area of |src| to the size of |this| buffer, and
|
| // write the result into |this|.
|
| void CropAndScaleFrom(const VideoFrameBuffer& src,
|
| @@ -133,14 +145,10 @@ class I420Buffer : public VideoFrameBuffer {
|
| ScaleFrom(*src);
|
| }
|
|
|
| - // Returns a rotated versions of |src|. Native buffers are not
|
| - // supported. The reason this function doesn't return an I420Buffer,
|
| - // is that it returns |src| unchanged in case |rotation| is zero.
|
| - static rtc::scoped_refptr<VideoFrameBuffer> Rotate(
|
| - rtc::scoped_refptr<VideoFrameBuffer> src,
|
| - VideoRotation rotation);
|
| -
|
| protected:
|
| + I420Buffer(int width, int height);
|
| + I420Buffer(int width, int height, int stride_y, int stride_u, int stride_v);
|
| +
|
| ~I420Buffer() override;
|
|
|
| private:
|
|
|