| Index: webrtc/common_video/video_frame_buffer.cc
|
| diff --git a/webrtc/common_video/video_frame_buffer.cc b/webrtc/common_video/video_frame_buffer.cc
|
| index 2fb35401314a317de60923480251b6dc8e6d9ccb..14e19dc0e33f4bd90b07345ec387dd9b29495f40 100644
|
| --- a/webrtc/common_video/video_frame_buffer.cc
|
| +++ b/webrtc/common_video/video_frame_buffer.cc
|
| @@ -187,20 +187,20 @@ rtc::scoped_refptr<VideoFrameBuffer> I420Buffer::NativeToI420Buffer() {
|
| }
|
|
|
| rtc::scoped_refptr<I420Buffer> I420Buffer::Copy(
|
| - const rtc::scoped_refptr<VideoFrameBuffer>& buffer) {
|
| - int width = buffer->width();
|
| - int height = buffer->height();
|
| - rtc::scoped_refptr<I420Buffer> copy =
|
| + const rtc::scoped_refptr<VideoFrameBuffer>& source) {
|
| + int width = source->width();
|
| + int height = source->height();
|
| + rtc::scoped_refptr<I420Buffer> target =
|
| new rtc::RefCountedObject<I420Buffer>(width, height);
|
| - RTC_CHECK(libyuv::I420Copy(buffer->DataY(), buffer->StrideY(),
|
| - buffer->DataU(), buffer->StrideU(),
|
| - buffer->DataV(), buffer->StrideV(),
|
| - copy->MutableDataY(), copy->StrideY(),
|
| - copy->MutableDataU(), copy->StrideU(),
|
| - copy->MutableDataV(), copy->StrideV(),
|
| + RTC_CHECK(libyuv::I420Copy(source->DataY(), source->StrideY(),
|
| + source->DataU(), source->StrideU(),
|
| + source->DataV(), source->StrideV(),
|
| + target->MutableDataY(), target->StrideY(),
|
| + target->MutableDataU(), target->StrideU(),
|
| + target->MutableDataV(), target->StrideV(),
|
| width, height) == 0);
|
|
|
| - return copy;
|
| + return target;
|
| }
|
|
|
| void I420Buffer::SetToBlack() {
|
| @@ -265,6 +265,27 @@ void I420Buffer::ScaleFrom(const rtc::scoped_refptr<VideoFrameBuffer>& src) {
|
| CropAndScaleFrom(src, 0, 0, src->width(), src->height());
|
| }
|
|
|
| +rtc::scoped_refptr<I420Buffer> I420Buffer::CopyKeepStride(
|
| + const rtc::scoped_refptr<VideoFrameBuffer>& source) {
|
| + int width = source->width();
|
| + int height = source->height();
|
| + int stride_y = source->StrideY();
|
| + int stride_u = source->StrideU();
|
| + int stride_v = source->StrideV();
|
| + rtc::scoped_refptr<I420Buffer> target =
|
| + new rtc::RefCountedObject<I420Buffer>(
|
| + width, height, stride_y, stride_u, stride_v);
|
| + RTC_CHECK(libyuv::I420Copy(source->DataY(), stride_y,
|
| + source->DataU(), stride_u,
|
| + source->DataV(), stride_v,
|
| + target->MutableDataY(), stride_y,
|
| + target->MutableDataU(), stride_u,
|
| + target->MutableDataV(), stride_v,
|
| + width, height) == 0);
|
| +
|
| + return target;
|
| +}
|
| +
|
| NativeHandleBuffer::NativeHandleBuffer(void* native_handle,
|
| int width,
|
| int height)
|
|
|