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 <srte@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27399}
This commit is contained in:
Sebastian Jansson 2019-04-01 14:12:23 +02:00 committed by Commit Bot
parent 8ce89ba820
commit 8daf92a809
2 changed files with 15 additions and 0 deletions
common_video/libyuv

View file

@ -77,6 +77,11 @@ int ConvertFromI420(const VideoFrame& src_frame,
int dst_sample_size,
uint8_t* dst_frame);
rtc::scoped_refptr<I420BufferInterface> ScaleVideoFrameBuffer(
const I420BufferInterface& source,
int dst_width,
int dst_height);
double I420SSE(const I420BufferInterface& ref_buffer,
const I420BufferInterface& test_buffer);

View file

@ -201,6 +201,16 @@ rtc::scoped_refptr<I420ABufferInterface> ScaleI420ABuffer(
return merged_buffer;
}
rtc::scoped_refptr<I420BufferInterface> ScaleVideoFrameBuffer(
const I420BufferInterface& source,
int dst_width,
int dst_height) {
rtc::scoped_refptr<I420Buffer> 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());