summaryrefslogtreecommitdiff
path: root/chromium/third_party/libyuv/include/libyuv/rotate_row.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/libyuv/include/libyuv/rotate_row.h')
-rw-r--r--chromium/third_party/libyuv/include/libyuv/rotate_row.h43
1 files changed, 42 insertions, 1 deletions
diff --git a/chromium/third_party/libyuv/include/libyuv/rotate_row.h b/chromium/third_party/libyuv/include/libyuv/rotate_row.h
index af1d0a05f0a..2c51584eee8 100644
--- a/chromium/third_party/libyuv/include/libyuv/rotate_row.h
+++ b/chromium/third_party/libyuv/include/libyuv/rotate_row.h
@@ -54,12 +54,17 @@ extern "C" {
#define HAS_TRANSPOSEUVWX8_NEON
#endif
-#if !defined(LIBYUV_DISABLE_MIPS) && !defined(__native_client__) && \
+#if !defined(LIBYUV_DISABLE_DSPR2) && !defined(__native_client__) && \
defined(__mips__) && defined(__mips_dsp) && (__mips_dsp_rev >= 2)
#define HAS_TRANSPOSEWX8_DSPR2
#define HAS_TRANSPOSEUVWX8_DSPR2
#endif // defined(__mips__)
+#if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa)
+#define HAS_TRANSPOSEWX16_MSA
+#define HAS_TRANSPOSEUVWX16_MSA
+#endif
+
void TransposeWxH_C(const uint8* src,
int src_stride,
uint8* dst,
@@ -72,6 +77,11 @@ void TransposeWx8_C(const uint8* src,
uint8* dst,
int dst_stride,
int width);
+void TransposeWx16_C(const uint8* src,
+ int src_stride,
+ uint8* dst,
+ int dst_stride,
+ int width);
void TransposeWx8_NEON(const uint8* src,
int src_stride,
uint8* dst,
@@ -97,6 +107,11 @@ void TransposeWx8_Fast_DSPR2(const uint8* src,
uint8* dst,
int dst_stride,
int width);
+void TransposeWx16_MSA(const uint8* src,
+ int src_stride,
+ uint8* dst,
+ int dst_stride,
+ int width);
void TransposeWx8_Any_NEON(const uint8* src,
int src_stride,
@@ -118,6 +133,11 @@ void TransposeWx8_Any_DSPR2(const uint8* src,
uint8* dst,
int dst_stride,
int width);
+void TransposeWx16_Any_MSA(const uint8* src,
+ int src_stride,
+ uint8* dst,
+ int dst_stride,
+ int width);
void TransposeUVWxH_C(const uint8* src,
int src_stride,
@@ -135,6 +155,13 @@ void TransposeUVWx8_C(const uint8* src,
uint8* dst_b,
int dst_stride_b,
int width);
+void TransposeUVWx16_C(const uint8* src,
+ int src_stride,
+ uint8* dst_a,
+ int dst_stride_a,
+ uint8* dst_b,
+ int dst_stride_b,
+ int width);
void TransposeUVWx8_SSE2(const uint8* src,
int src_stride,
uint8* dst_a,
@@ -156,6 +183,13 @@ void TransposeUVWx8_DSPR2(const uint8* src,
uint8* dst_b,
int dst_stride_b,
int width);
+void TransposeUVWx16_MSA(const uint8* src,
+ int src_stride,
+ uint8* dst_a,
+ int dst_stride_a,
+ uint8* dst_b,
+ int dst_stride_b,
+ int width);
void TransposeUVWx8_Any_SSE2(const uint8* src,
int src_stride,
@@ -178,6 +212,13 @@ void TransposeUVWx8_Any_DSPR2(const uint8* src,
uint8* dst_b,
int dst_stride_b,
int width);
+void TransposeUVWx16_Any_MSA(const uint8* src,
+ int src_stride,
+ uint8* dst_a,
+ int dst_stride_a,
+ uint8* dst_b,
+ int dst_stride_b,
+ int width);
#ifdef __cplusplus
} // extern "C"