| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. | 2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 #define HAS_MIRRORUVROW_DSPR2 | 365 #define HAS_MIRRORUVROW_DSPR2 |
| 366 #define HAS_SPLITUVROW_DSPR2 | 366 #define HAS_SPLITUVROW_DSPR2 |
| 367 #endif | 367 #endif |
| 368 #endif | 368 #endif |
| 369 | 369 |
| 370 #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) | 370 #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) |
| 371 #define HAS_MIRRORROW_MSA | 371 #define HAS_MIRRORROW_MSA |
| 372 #define HAS_ARGBMIRRORROW_MSA | 372 #define HAS_ARGBMIRRORROW_MSA |
| 373 #define HAS_I422TOYUY2ROW_MSA | 373 #define HAS_I422TOYUY2ROW_MSA |
| 374 #define HAS_I422TOUYVYROW_MSA | 374 #define HAS_I422TOUYVYROW_MSA |
| 375 #define HAS_YUY2TOYROW_MSA |
| 376 #define HAS_YUY2TOUVROW_MSA |
| 377 #define HAS_YUY2TOUV422ROW_MSA |
| 378 #define HAS_UYVYTOYROW_MSA |
| 379 #define HAS_UYVYTOUVROW_MSA |
| 380 |
| 375 #endif | 381 #endif |
| 376 | 382 |
| 377 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) | 383 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) |
| 378 #if defined(VISUALC_HAS_AVX2) | 384 #if defined(VISUALC_HAS_AVX2) |
| 379 #define SIMD_ALIGNED(var) __declspec(align(32)) var | 385 #define SIMD_ALIGNED(var) __declspec(align(32)) var |
| 380 #else | 386 #else |
| 381 #define SIMD_ALIGNED(var) __declspec(align(16)) var | 387 #define SIMD_ALIGNED(var) __declspec(align(16)) var |
| 382 #endif | 388 #endif |
| 383 typedef __declspec(align(16)) int16 vec16[8]; | 389 typedef __declspec(align(16)) int16 vec16[8]; |
| 384 typedef __declspec(align(16)) int32 vec32[4]; | 390 typedef __declspec(align(16)) int32 vec32[4]; |
| (...skipping 1277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1662 void YUY2ToYRow_SSE2(const uint8* src_yuy2, uint8* dst_y, int width); | 1668 void YUY2ToYRow_SSE2(const uint8* src_yuy2, uint8* dst_y, int width); |
| 1663 void YUY2ToUVRow_SSE2(const uint8* src_yuy2, int stride_yuy2, | 1669 void YUY2ToUVRow_SSE2(const uint8* src_yuy2, int stride_yuy2, |
| 1664 uint8* dst_u, uint8* dst_v, int width); | 1670 uint8* dst_u, uint8* dst_v, int width); |
| 1665 void YUY2ToUV422Row_SSE2(const uint8* src_yuy2, | 1671 void YUY2ToUV422Row_SSE2(const uint8* src_yuy2, |
| 1666 uint8* dst_u, uint8* dst_v, int width); | 1672 uint8* dst_u, uint8* dst_v, int width); |
| 1667 void YUY2ToYRow_NEON(const uint8* src_yuy2, uint8* dst_y, int width); | 1673 void YUY2ToYRow_NEON(const uint8* src_yuy2, uint8* dst_y, int width); |
| 1668 void YUY2ToUVRow_NEON(const uint8* src_yuy2, int stride_yuy2, | 1674 void YUY2ToUVRow_NEON(const uint8* src_yuy2, int stride_yuy2, |
| 1669 uint8* dst_u, uint8* dst_v, int width); | 1675 uint8* dst_u, uint8* dst_v, int width); |
| 1670 void YUY2ToUV422Row_NEON(const uint8* src_yuy2, | 1676 void YUY2ToUV422Row_NEON(const uint8* src_yuy2, |
| 1671 uint8* dst_u, uint8* dst_v, int width); | 1677 uint8* dst_u, uint8* dst_v, int width); |
| 1678 void YUY2ToYRow_MSA(const uint8* src_yuy2, uint8* dst_y, int width); |
| 1679 void YUY2ToUVRow_MSA(const uint8* src_yuy2, int stride_yuy2, |
| 1680 uint8* dst_u, uint8* dst_v, int width); |
| 1681 void YUY2ToUV422Row_MSA(const uint8* src_yuy2, |
| 1682 uint8* dst_u, uint8* dst_v, int width); |
| 1672 void YUY2ToYRow_C(const uint8* src_yuy2, uint8* dst_y, int width); | 1683 void YUY2ToYRow_C(const uint8* src_yuy2, uint8* dst_y, int width); |
| 1673 void YUY2ToUVRow_C(const uint8* src_yuy2, int stride_yuy2, | 1684 void YUY2ToUVRow_C(const uint8* src_yuy2, int stride_yuy2, |
| 1674 uint8* dst_u, uint8* dst_v, int width); | 1685 uint8* dst_u, uint8* dst_v, int width); |
| 1675 void YUY2ToUV422Row_C(const uint8* src_yuy2, | 1686 void YUY2ToUV422Row_C(const uint8* src_yuy2, |
| 1676 uint8* dst_u, uint8* dst_v, int width); | 1687 uint8* dst_u, uint8* dst_v, int width); |
| 1677 void YUY2ToYRow_Any_AVX2(const uint8* src_yuy2, uint8* dst_y, int width); | 1688 void YUY2ToYRow_Any_AVX2(const uint8* src_yuy2, uint8* dst_y, int width); |
| 1678 void YUY2ToUVRow_Any_AVX2(const uint8* src_yuy2, int stride_yuy2, | 1689 void YUY2ToUVRow_Any_AVX2(const uint8* src_yuy2, int stride_yuy2, |
| 1679 uint8* dst_u, uint8* dst_v, int width); | 1690 uint8* dst_u, uint8* dst_v, int width); |
| 1680 void YUY2ToUV422Row_Any_AVX2(const uint8* src_yuy2, | 1691 void YUY2ToUV422Row_Any_AVX2(const uint8* src_yuy2, |
| 1681 uint8* dst_u, uint8* dst_v, int width); | 1692 uint8* dst_u, uint8* dst_v, int width); |
| 1682 void YUY2ToYRow_Any_SSE2(const uint8* src_yuy2, uint8* dst_y, int width); | 1693 void YUY2ToYRow_Any_SSE2(const uint8* src_yuy2, uint8* dst_y, int width); |
| 1683 void YUY2ToUVRow_Any_SSE2(const uint8* src_yuy2, int stride_yuy2, | 1694 void YUY2ToUVRow_Any_SSE2(const uint8* src_yuy2, int stride_yuy2, |
| 1684 uint8* dst_u, uint8* dst_v, int width); | 1695 uint8* dst_u, uint8* dst_v, int width); |
| 1685 void YUY2ToUV422Row_Any_SSE2(const uint8* src_yuy2, | 1696 void YUY2ToUV422Row_Any_SSE2(const uint8* src_yuy2, |
| 1686 uint8* dst_u, uint8* dst_v, int width); | 1697 uint8* dst_u, uint8* dst_v, int width); |
| 1687 void YUY2ToYRow_Any_NEON(const uint8* src_yuy2, uint8* dst_y, int width); | 1698 void YUY2ToYRow_Any_NEON(const uint8* src_yuy2, uint8* dst_y, int width); |
| 1688 void YUY2ToUVRow_Any_NEON(const uint8* src_yuy2, int stride_yuy2, | 1699 void YUY2ToUVRow_Any_NEON(const uint8* src_yuy2, int stride_yuy2, |
| 1689 uint8* dst_u, uint8* dst_v, int width); | 1700 uint8* dst_u, uint8* dst_v, int width); |
| 1690 void YUY2ToUV422Row_Any_NEON(const uint8* src_yuy2, | 1701 void YUY2ToUV422Row_Any_NEON(const uint8* src_yuy2, |
| 1691 uint8* dst_u, uint8* dst_v, int width); | 1702 uint8* dst_u, uint8* dst_v, int width); |
| 1703 void YUY2ToYRow_Any_MSA(const uint8* src_yuy2, uint8* dst_y, int width); |
| 1704 void YUY2ToUVRow_Any_MSA(const uint8* src_yuy2, int stride_yuy2, |
| 1705 uint8* dst_u, uint8* dst_v, int width); |
| 1706 void YUY2ToUV422Row_Any_MSA(const uint8* src_yuy2, |
| 1707 uint8* dst_u, uint8* dst_v, int width); |
| 1692 void UYVYToYRow_AVX2(const uint8* src_uyvy, uint8* dst_y, int width); | 1708 void UYVYToYRow_AVX2(const uint8* src_uyvy, uint8* dst_y, int width); |
| 1693 void UYVYToUVRow_AVX2(const uint8* src_uyvy, int stride_uyvy, | 1709 void UYVYToUVRow_AVX2(const uint8* src_uyvy, int stride_uyvy, |
| 1694 uint8* dst_u, uint8* dst_v, int width); | 1710 uint8* dst_u, uint8* dst_v, int width); |
| 1695 void UYVYToUV422Row_AVX2(const uint8* src_uyvy, | 1711 void UYVYToUV422Row_AVX2(const uint8* src_uyvy, |
| 1696 uint8* dst_u, uint8* dst_v, int width); | 1712 uint8* dst_u, uint8* dst_v, int width); |
| 1697 void UYVYToYRow_SSE2(const uint8* src_uyvy, uint8* dst_y, int width); | 1713 void UYVYToYRow_SSE2(const uint8* src_uyvy, uint8* dst_y, int width); |
| 1698 void UYVYToUVRow_SSE2(const uint8* src_uyvy, int stride_uyvy, | 1714 void UYVYToUVRow_SSE2(const uint8* src_uyvy, int stride_uyvy, |
| 1699 uint8* dst_u, uint8* dst_v, int width); | 1715 uint8* dst_u, uint8* dst_v, int width); |
| 1700 void UYVYToUV422Row_SSE2(const uint8* src_uyvy, | 1716 void UYVYToUV422Row_SSE2(const uint8* src_uyvy, |
| 1701 uint8* dst_u, uint8* dst_v, int width); | 1717 uint8* dst_u, uint8* dst_v, int width); |
| 1702 void UYVYToYRow_AVX2(const uint8* src_uyvy, uint8* dst_y, int width); | 1718 void UYVYToYRow_AVX2(const uint8* src_uyvy, uint8* dst_y, int width); |
| 1703 void UYVYToUVRow_AVX2(const uint8* src_uyvy, int stride_uyvy, | 1719 void UYVYToUVRow_AVX2(const uint8* src_uyvy, int stride_uyvy, |
| 1704 uint8* dst_u, uint8* dst_v, int width); | 1720 uint8* dst_u, uint8* dst_v, int width); |
| 1705 void UYVYToUV422Row_AVX2(const uint8* src_uyvy, | 1721 void UYVYToUV422Row_AVX2(const uint8* src_uyvy, |
| 1706 uint8* dst_u, uint8* dst_v, int width); | 1722 uint8* dst_u, uint8* dst_v, int width); |
| 1707 void UYVYToYRow_NEON(const uint8* src_uyvy, uint8* dst_y, int width); | 1723 void UYVYToYRow_NEON(const uint8* src_uyvy, uint8* dst_y, int width); |
| 1708 void UYVYToUVRow_NEON(const uint8* src_uyvy, int stride_uyvy, | 1724 void UYVYToUVRow_NEON(const uint8* src_uyvy, int stride_uyvy, |
| 1709 uint8* dst_u, uint8* dst_v, int width); | 1725 uint8* dst_u, uint8* dst_v, int width); |
| 1710 void UYVYToUV422Row_NEON(const uint8* src_uyvy, | 1726 void UYVYToUV422Row_NEON(const uint8* src_uyvy, |
| 1711 uint8* dst_u, uint8* dst_v, int width); | 1727 uint8* dst_u, uint8* dst_v, int width); |
| 1728 void UYVYToYRow_MSA(const uint8* src_uyvy, uint8* dst_y, int width); |
| 1729 void UYVYToUVRow_MSA(const uint8* src_uyvy, int stride_uyvy, |
| 1730 uint8* dst_u, uint8* dst_v, int width); |
| 1731 void UYVYToUV422Row_MSA(const uint8* src_uyvy, |
| 1732 uint8* dst_u, uint8* dst_v, int width); |
| 1712 | 1733 |
| 1713 void UYVYToYRow_C(const uint8* src_uyvy, uint8* dst_y, int width); | 1734 void UYVYToYRow_C(const uint8* src_uyvy, uint8* dst_y, int width); |
| 1714 void UYVYToUVRow_C(const uint8* src_uyvy, int stride_uyvy, | 1735 void UYVYToUVRow_C(const uint8* src_uyvy, int stride_uyvy, |
| 1715 uint8* dst_u, uint8* dst_v, int width); | 1736 uint8* dst_u, uint8* dst_v, int width); |
| 1716 void UYVYToUV422Row_C(const uint8* src_uyvy, | 1737 void UYVYToUV422Row_C(const uint8* src_uyvy, |
| 1717 uint8* dst_u, uint8* dst_v, int width); | 1738 uint8* dst_u, uint8* dst_v, int width); |
| 1718 void UYVYToYRow_Any_AVX2(const uint8* src_uyvy, uint8* dst_y, int width); | 1739 void UYVYToYRow_Any_AVX2(const uint8* src_uyvy, uint8* dst_y, int width); |
| 1719 void UYVYToUVRow_Any_AVX2(const uint8* src_uyvy, int stride_uyvy, | 1740 void UYVYToUVRow_Any_AVX2(const uint8* src_uyvy, int stride_uyvy, |
| 1720 uint8* dst_u, uint8* dst_v, int width); | 1741 uint8* dst_u, uint8* dst_v, int width); |
| 1721 void UYVYToUV422Row_Any_AVX2(const uint8* src_uyvy, | 1742 void UYVYToUV422Row_Any_AVX2(const uint8* src_uyvy, |
| 1722 uint8* dst_u, uint8* dst_v, int width); | 1743 uint8* dst_u, uint8* dst_v, int width); |
| 1723 void UYVYToYRow_Any_SSE2(const uint8* src_uyvy, uint8* dst_y, int width); | 1744 void UYVYToYRow_Any_SSE2(const uint8* src_uyvy, uint8* dst_y, int width); |
| 1724 void UYVYToUVRow_Any_SSE2(const uint8* src_uyvy, int stride_uyvy, | 1745 void UYVYToUVRow_Any_SSE2(const uint8* src_uyvy, int stride_uyvy, |
| 1725 uint8* dst_u, uint8* dst_v, int width); | 1746 uint8* dst_u, uint8* dst_v, int width); |
| 1726 void UYVYToUV422Row_Any_SSE2(const uint8* src_uyvy, | 1747 void UYVYToUV422Row_Any_SSE2(const uint8* src_uyvy, |
| 1727 uint8* dst_u, uint8* dst_v, int width); | 1748 uint8* dst_u, uint8* dst_v, int width); |
| 1728 void UYVYToYRow_Any_NEON(const uint8* src_uyvy, uint8* dst_y, int width); | 1749 void UYVYToYRow_Any_NEON(const uint8* src_uyvy, uint8* dst_y, int width); |
| 1729 void UYVYToUVRow_Any_NEON(const uint8* src_uyvy, int stride_uyvy, | 1750 void UYVYToUVRow_Any_NEON(const uint8* src_uyvy, int stride_uyvy, |
| 1730 uint8* dst_u, uint8* dst_v, int width); | 1751 uint8* dst_u, uint8* dst_v, int width); |
| 1731 void UYVYToUV422Row_Any_NEON(const uint8* src_uyvy, | 1752 void UYVYToUV422Row_Any_NEON(const uint8* src_uyvy, |
| 1732 uint8* dst_u, uint8* dst_v, int width); | 1753 uint8* dst_u, uint8* dst_v, int width); |
| 1754 void UYVYToYRow_Any_MSA(const uint8* src_uyvy, uint8* dst_y, int width); |
| 1755 void UYVYToUVRow_Any_MSA(const uint8* src_uyvy, int stride_uyvy, |
| 1756 uint8* dst_u, uint8* dst_v, int width); |
| 1757 void UYVYToUV422Row_Any_MSA(const uint8* src_uyvy, |
| 1758 uint8* dst_u, uint8* dst_v, int width); |
| 1733 | 1759 |
| 1734 void I422ToYUY2Row_C(const uint8* src_y, | 1760 void I422ToYUY2Row_C(const uint8* src_y, |
| 1735 const uint8* src_u, | 1761 const uint8* src_u, |
| 1736 const uint8* src_v, | 1762 const uint8* src_v, |
| 1737 uint8* dst_yuy2, int width); | 1763 uint8* dst_yuy2, int width); |
| 1738 void I422ToUYVYRow_C(const uint8* src_y, | 1764 void I422ToUYVYRow_C(const uint8* src_y, |
| 1739 const uint8* src_u, | 1765 const uint8* src_u, |
| 1740 const uint8* src_v, | 1766 const uint8* src_v, |
| 1741 uint8* dst_uyvy, int width); | 1767 uint8* dst_uyvy, int width); |
| 1742 void I422ToYUY2Row_SSE2(const uint8* src_y, | 1768 void I422ToYUY2Row_SSE2(const uint8* src_y, |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1966 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 1992 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
| 1967 int width, | 1993 int width, |
| 1968 const uint8* luma, uint32 lumacoeff); | 1994 const uint8* luma, uint32 lumacoeff); |
| 1969 | 1995 |
| 1970 #ifdef __cplusplus | 1996 #ifdef __cplusplus |
| 1971 } // extern "C" | 1997 } // extern "C" |
| 1972 } // namespace libyuv | 1998 } // namespace libyuv |
| 1973 #endif | 1999 #endif |
| 1974 | 2000 |
| 1975 #endif // INCLUDE_LIBYUV_ROW_H_ | 2001 #endif // INCLUDE_LIBYUV_ROW_H_ |
| OLD | NEW |