diff --git a/common_video/libyuv/include/webrtc_libyuv.h b/common_video/libyuv/include/webrtc_libyuv.h index c748d86f09..0331b37a7d 100644 --- a/common_video/libyuv/include/webrtc_libyuv.h +++ b/common_video/libyuv/include/webrtc_libyuv.h @@ -77,6 +77,11 @@ int ConvertFromI420(const VideoFrame& src_frame, int dst_sample_size, uint8_t* dst_frame); +rtc::scoped_refptr ScaleVideoFrameBuffer( + const I420BufferInterface& source, + int dst_width, + int dst_height); + double I420SSE(const I420BufferInterface& ref_buffer, const I420BufferInterface& test_buffer); diff --git a/common_video/libyuv/webrtc_libyuv.cc b/common_video/libyuv/webrtc_libyuv.cc index eee8cd17cf..833001cf1c 100644 --- a/common_video/libyuv/webrtc_libyuv.cc +++ b/common_video/libyuv/webrtc_libyuv.cc @@ -201,6 +201,16 @@ rtc::scoped_refptr ScaleI420ABuffer( return merged_buffer; } +rtc::scoped_refptr ScaleVideoFrameBuffer( + const I420BufferInterface& source, + int dst_width, + int dst_height) { + rtc::scoped_refptr scaled_buffer = + I420Buffer::Create(dst_width, dst_height); + scaled_buffer->ScaleFrom(source); + return scaled_buffer; +} + double I420SSE(const I420BufferInterface& ref_buffer, const I420BufferInterface& test_buffer) { RTC_DCHECK_EQ(ref_buffer.width(), test_buffer.width());