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

Unified Diff: include/libyuv/row.h

Issue 2559693002: Add MSA optimized ARGB Attenuate/RGB565/Shuffle/Shader/Gray/Sepia row functions (Closed)
Patch Set: 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 | « no previous file | source/convert_argb.cc » ('j') | source/row_msa.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/libyuv/row.h
diff --git a/include/libyuv/row.h b/include/libyuv/row.h
index 16394da02cec9a0e973cbd62ee8c0ce39d7b8f44..e847a728c2a1e19a030deb30abf412845ae8124a 100644
--- a/include/libyuv/row.h
+++ b/include/libyuv/row.h
@@ -393,6 +393,12 @@ extern "C" {
#define HAS_ARGBMULTIPLYROW_MSA
#define HAS_ARGBADDROW_MSA
#define HAS_ARGBSUBTRACTROW_MSA
+#define HAS_ARGBATTENUATEROW_MSA
+#define HAS_ARGBTORGB565DITHERROW_MSA
+#define HAS_ARGBSHUFFLEROW_MSA
+#define HAS_ARGBSHADEROW_MSA
+#define HAS_ARGBGRAYROW_MSA
+#define HAS_ARGBSEPIAROW_MSA
#endif
#if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__)
@@ -1192,6 +1198,10 @@ void ARGBShuffleRow_NEON(const uint8* src_argb,
uint8* dst_argb,
const uint8* shuffler,
int width);
+void ARGBShuffleRow_MSA(const uint8* src_argb,
+ uint8* dst_argb,
+ const uint8* shuffler,
+ int width);
void ARGBShuffleRow_Any_SSE2(const uint8* src_argb,
uint8* dst_argb,
const uint8* shuffler,
@@ -1208,6 +1218,10 @@ void ARGBShuffleRow_Any_NEON(const uint8* src_argb,
uint8* dst_argb,
const uint8* shuffler,
int width);
+void ARGBShuffleRow_Any_MSA(const uint8* src_argb,
+ uint8* dst_argb,
+ const uint8* shuffler,
+ int width);
void RGB24ToARGBRow_SSSE3(const uint8* src_rgb24, uint8* dst_argb, int width);
void RAWToARGBRow_SSSE3(const uint8* src_raw, uint8* dst_argb, int width);
@@ -1326,6 +1340,10 @@ void ARGBToRAWRow_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
void ARGBToRGB565Row_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
void ARGBToARGB1555Row_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
void ARGBToARGB4444Row_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
+void ARGBToRGB565DitherRow_MSA(const uint8* src_argb,
+ uint8* dst_rgb,
+ const uint32 dither4,
+ int width);
void ARGBToRGBARow_C(const uint8* src_argb, uint8* dst_rgb, int width);
void ARGBToRGB24Row_C(const uint8* src_argb, uint8* dst_rgb, int width);
@@ -1947,6 +1965,10 @@ void ARGBToARGB1555Row_Any_MSA(const uint8* src_argb,
void ARGBToARGB4444Row_Any_MSA(const uint8* src_argb,
uint8* dst_rgb,
int width);
+void ARGBToRGB565DitherRow_Any_MSA(const uint8* src_argb,
+ uint8* dst_rgb,
+ const uint32 dither4,
+ int width);
void I444ToARGBRow_Any_NEON(const uint8* src_y,
const uint8* src_u,
@@ -2344,6 +2366,7 @@ void ARGBAttenuateRow_C(const uint8* src_argb, uint8* dst_argb, int width);
void ARGBAttenuateRow_SSSE3(const uint8* src_argb, uint8* dst_argb, int width);
void ARGBAttenuateRow_AVX2(const uint8* src_argb, uint8* dst_argb, int width);
void ARGBAttenuateRow_NEON(const uint8* src_argb, uint8* dst_argb, int width);
+void ARGBAttenuateRow_MSA(const uint8* src_argb, uint8* dst_argb, int width);
void ARGBAttenuateRow_Any_SSE2(const uint8* src_argb,
uint8* dst_argb,
int width);
@@ -2356,6 +2379,9 @@ void ARGBAttenuateRow_Any_AVX2(const uint8* src_argb,
void ARGBAttenuateRow_Any_NEON(const uint8* src_argb,
uint8* dst_argb,
int width);
+void ARGBAttenuateRow_Any_MSA(const uint8* src_argb,
+ uint8* dst_argb,
+ int width);
// Inverse table for unattenuate, shared by C and SSE2.
extern const uint32 fixed_invtbl8[256];
@@ -2372,10 +2398,12 @@ void ARGBUnattenuateRow_Any_AVX2(const uint8* src_argb,
void ARGBGrayRow_C(const uint8* src_argb, uint8* dst_argb, int width);
void ARGBGrayRow_SSSE3(const uint8* src_argb, uint8* dst_argb, int width);
void ARGBGrayRow_NEON(const uint8* src_argb, uint8* dst_argb, int width);
+void ARGBGrayRow_MSA(const uint8* src_argb, uint8* dst_argb, int width);
void ARGBSepiaRow_C(uint8* dst_argb, int width);
void ARGBSepiaRow_SSSE3(uint8* dst_argb, int width);
void ARGBSepiaRow_NEON(uint8* dst_argb, int width);
+void ARGBSepiaRow_MSA(uint8* dst_argb, int width);
void ARGBColorMatrixRow_C(const uint8* src_argb,
uint8* dst_argb,
@@ -2424,6 +2452,10 @@ void ARGBShadeRow_NEON(const uint8* src_argb,
uint8* dst_argb,
int width,
uint32 value);
+void ARGBShadeRow_MSA(const uint8* src_argb,
+ uint8* dst_argb,
+ int width,
+ uint32 value);
// Used for blur.
void CumulativeSumToAverageRow_SSE2(const int32* topleft,
« no previous file with comments | « no previous file | source/convert_argb.cc » ('j') | source/row_msa.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698