diff options
Diffstat (limited to 'chromium/third_party/libyuv/include/libyuv/rotate_row.h')
-rw-r--r-- | chromium/third_party/libyuv/include/libyuv/rotate_row.h | 43 |
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" |