From 22a579c438410710f627e67b38b3df9968efafb9 Mon Sep 17 00:00:00 2001 From: Sergio Garcia Murillo Date: Tue, 3 Jan 2023 22:09:09 +0100 Subject: Use ScalePlaneDown2_16To8 for avoiding the 2 step process Bug: libyuv:950 Change-Id: I5a77bca9a0230fe00abd810939e217833a14683f Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4134524 Reviewed-by: Frank Barchard Commit-Queue: Frank Barchard --- include/libyuv/scale_row.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'include/libyuv/scale_row.h') diff --git a/include/libyuv/scale_row.h b/include/libyuv/scale_row.h index 6cb5e128..356da19d 100644 --- a/include/libyuv/scale_row.h +++ b/include/libyuv/scale_row.h @@ -214,6 +214,17 @@ void ScalePlaneVertical_16To8(int src_height, int scale, enum FilterMode filtering); +void ScalePlaneDown2_16To8(int src_width, + int src_height, + int dst_width, + int dst_height, + int src_stride, + int dst_stride, + const uint16_t* src_ptr, + uint8_t* dst_ptr, + int scale, + enum FilterMode filtering); + // Simplify the filtering based on scale factors. enum FilterMode ScaleFilterReduce(int src_width, int src_height, @@ -259,6 +270,11 @@ void ScaleRowDown2_16_C(const uint16_t* src_ptr, ptrdiff_t src_stride, uint16_t* dst, int dst_width); +void ScaleRowDown2_16To8_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width, + int scale); void ScaleRowDown2Linear_C(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst, @@ -267,6 +283,11 @@ void ScaleRowDown2Linear_16_C(const uint16_t* src_ptr, ptrdiff_t src_stride, uint16_t* dst, int dst_width); +void ScaleRowDown2Linear_16To8_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width, + int scale); void ScaleRowDown2Box_C(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst, @@ -279,6 +300,11 @@ void ScaleRowDown2Box_16_C(const uint16_t* src_ptr, ptrdiff_t src_stride, uint16_t* dst, int dst_width); +void ScaleRowDown2Box_16To8_C(const uint16_t* src_ptr, + ptrdiff_t src_stride, + uint8_t* dst, + int dst_width, + int scale); void ScaleRowDown4_C(const uint8_t* src_ptr, ptrdiff_t src_stride, uint8_t* dst, -- cgit v1.2.3