diff options
Diffstat (limited to 'include/libyuv/rotate_row.h')
-rwxr-xr-x[-rw-r--r--] | include/libyuv/rotate_row.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/libyuv/rotate_row.h b/include/libyuv/rotate_row.h index 5edc0fcf..022293ee 100644..100755 --- a/include/libyuv/rotate_row.h +++ b/include/libyuv/rotate_row.h @@ -60,6 +60,11 @@ extern "C" { #define HAS_TRANSPOSEUVWX16_MSA #endif +#if !defined(LIBYUV_DISABLE_MMI) && defined(_MIPS_ARCH_LOONGSON3A) +#define HAS_TRANSPOSEWX8_MMI +#define HAS_TRANSPOSEUVWX8_MMI +#endif + void TransposeWxH_C(const uint8_t* src, int src_stride, uint8_t* dst, @@ -87,6 +92,11 @@ void TransposeWx8_SSSE3(const uint8_t* src, uint8_t* dst, int dst_stride, int width); +void TransposeWx8_MMI(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); void TransposeWx8_Fast_SSSE3(const uint8_t* src, int src_stride, uint8_t* dst, @@ -108,6 +118,11 @@ void TransposeWx8_Any_SSSE3(const uint8_t* src, uint8_t* dst, int dst_stride, int width); +void TransposeWx8_Any_MMI(const uint8_t* src, + int src_stride, + uint8_t* dst, + int dst_stride, + int width); void TransposeWx8_Fast_Any_SSSE3(const uint8_t* src, int src_stride, uint8_t* dst, @@ -156,6 +171,13 @@ void TransposeUVWx8_NEON(const uint8_t* src, uint8_t* dst_b, int dst_stride_b, int width); +void TransposeUVWx8_MMI(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); void TransposeUVWx16_MSA(const uint8_t* src, int src_stride, uint8_t* dst_a, @@ -178,6 +200,13 @@ void TransposeUVWx8_Any_NEON(const uint8_t* src, uint8_t* dst_b, int dst_stride_b, int width); +void TransposeUVWx8_Any_MMI(const uint8_t* src, + int src_stride, + uint8_t* dst_a, + int dst_stride_a, + uint8_t* dst_b, + int dst_stride_b, + int width); void TransposeUVWx16_Any_MSA(const uint8_t* src, int src_stride, uint8_t* dst_a, |