From 8daf92a8093ecf25b429be18e271930972486bf1 Mon Sep 17 00:00:00 2001 From: Sebastian Jansson Date: Mon, 1 Apr 2019 14:12:23 +0200 Subject: [PATCH] Adds ScaleVideoFrameBuffer to libyuv. This will be used for frame matching in a follow up CL. Bug: webrtc:10365 Change-Id: If29fd59f8fff4c30b4c509104ade0e4ff02b08b2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130489 Commit-Queue: Sebastian Jansson Reviewed-by: Magnus Jedvert Cr-Commit-Position: refs/heads/master@{#27399} --- common_video/libyuv/include/webrtc_libyuv.h | 5 +++++ common_video/libyuv/webrtc_libyuv.cc | 10 ++++++++++ 2 files changed, 15 insertions(+) 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());