Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: include/libyuv/scale_row.h

Issue 2527983002: Add MSA optimized ARGB scaling functions (Closed)
Patch Set: Changes as per review comments Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « CMakeLists.txt ('k') | libyuv.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/libyuv/scale_row.h
diff --git a/include/libyuv/scale_row.h b/include/libyuv/scale_row.h
index fcdeaf06ff619de06c571a07c66348aef3e97bfa..24471920ef01cb4d06264ec791f29ecc70fe6928 100644
--- a/include/libyuv/scale_row.h
+++ b/include/libyuv/scale_row.h
@@ -103,6 +103,11 @@ extern "C" {
#define HAS_SCALEROWDOWN38_DSPR2
#endif
+#if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa)
+#define HAS_SCALEARGBROWDOWN2_MSA
+#define HAS_SCALEARGBROWDOWNEVEN_MSA
+#endif
+
// Scale ARGB vertically with bilinear interpolation.
void ScalePlaneVertical(int src_height,
int dst_width,
@@ -562,6 +567,18 @@ void ScaleARGBRowDown2Box_NEON(const uint8* src_ptr,
ptrdiff_t src_stride,
uint8* dst,
int dst_width);
+void ScaleARGBRowDown2_MSA(const uint8_t* src_argb,
+ ptrdiff_t src_stride,
+ uint8_t* dst_argb,
+ int dst_width);
+void ScaleARGBRowDown2Linear_MSA(const uint8_t* src_argb,
+ ptrdiff_t src_stride,
+ uint8_t* dst_argb,
+ int dst_width);
+void ScaleARGBRowDown2Box_MSA(const uint8_t* src_argb,
+ ptrdiff_t src_stride,
+ uint8_t* dst_argb,
+ int dst_width);
void ScaleARGBRowDown2_Any_SSE2(const uint8* src_argb,
ptrdiff_t src_stride,
uint8* dst_argb,
@@ -586,6 +603,18 @@ void ScaleARGBRowDown2Box_Any_NEON(const uint8* src_ptr,
ptrdiff_t src_stride,
uint8* dst,
int dst_width);
+void ScaleARGBRowDown2_Any_MSA(const uint8_t* src_argb,
+ ptrdiff_t src_stride,
+ uint8_t* dst_argb,
+ int dst_width);
+void ScaleARGBRowDown2Linear_Any_MSA(const uint8_t* src_argb,
+ ptrdiff_t src_stride,
+ uint8_t* dst_argb,
+ int dst_width);
+void ScaleARGBRowDown2Box_Any_MSA(const uint8_t* src_argb,
+ ptrdiff_t src_stride,
+ uint8_t* dst_argb,
+ int dst_width);
void ScaleARGBRowDownEven_SSE2(const uint8* src_argb,
ptrdiff_t src_stride,
@@ -607,6 +636,16 @@ void ScaleARGBRowDownEvenBox_NEON(const uint8* src_argb,
int src_stepx,
uint8* dst_argb,
int dst_width);
+void ScaleARGBRowDownEven_MSA(const uint8_t* src_argb,
+ ptrdiff_t src_stride,
+ int32_t src_stepx,
+ uint8_t* dst_argb,
+ int dst_width);
+void ScaleARGBRowDownEvenBox_MSA(const uint8* src_argb,
+ ptrdiff_t src_stride,
+ int src_stepx,
+ uint8* dst_argb,
+ int dst_width);
void ScaleARGBRowDownEven_Any_SSE2(const uint8* src_argb,
ptrdiff_t src_stride,
int src_stepx,
@@ -627,6 +666,16 @@ void ScaleARGBRowDownEvenBox_Any_NEON(const uint8* src_argb,
int src_stepx,
uint8* dst_argb,
int dst_width);
+void ScaleARGBRowDownEven_Any_MSA(const uint8_t* src_argb,
+ ptrdiff_t src_stride,
+ int32_t src_stepx,
+ uint8_t* dst_argb,
+ int dst_width);
+void ScaleARGBRowDownEvenBox_Any_MSA(const uint8* src_argb,
+ ptrdiff_t src_stride,
+ int src_stepx,
+ uint8* dst_argb,
+ int dst_width);
// ScaleRowDown2Box also used by planar functions
// NEON downscalers with interpolation.
« no previous file with comments | « CMakeLists.txt ('k') | libyuv.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698