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 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 #define HAS_I422TOYUY2ROW_MSA | 375 #define HAS_I422TOYUY2ROW_MSA |
376 #define HAS_MIRRORROW_MSA | 376 #define HAS_MIRRORROW_MSA |
377 #define HAS_UYVYTOUVROW_MSA | 377 #define HAS_UYVYTOUVROW_MSA |
378 #define HAS_UYVYTOYROW_MSA | 378 #define HAS_UYVYTOYROW_MSA |
379 #define HAS_YUY2TOUV422ROW_MSA | 379 #define HAS_YUY2TOUV422ROW_MSA |
380 #define HAS_YUY2TOUVROW_MSA | 380 #define HAS_YUY2TOUVROW_MSA |
381 #define HAS_YUY2TOYROW_MSA | 381 #define HAS_YUY2TOYROW_MSA |
382 #define HAS_ARGB4444TOARGBROW_MSA | 382 #define HAS_ARGB4444TOARGBROW_MSA |
383 #define HAS_ARGBTOYROW_MSA | 383 #define HAS_ARGBTOYROW_MSA |
384 #define HAS_ARGBTOUVROW_MSA | 384 #define HAS_ARGBTOUVROW_MSA |
385 | 385 #define HAS_I422TOARGBROW_MSA |
| 386 #define HAS_I422TORGBAROW_MSA |
386 #endif | 387 #endif |
387 | 388 |
388 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) | 389 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) |
389 #if defined(VISUALC_HAS_AVX2) | 390 #if defined(VISUALC_HAS_AVX2) |
390 #define SIMD_ALIGNED(var) __declspec(align(32)) var | 391 #define SIMD_ALIGNED(var) __declspec(align(32)) var |
391 #else | 392 #else |
392 #define SIMD_ALIGNED(var) __declspec(align(16)) var | 393 #define SIMD_ALIGNED(var) __declspec(align(16)) var |
393 #endif | 394 #endif |
394 typedef __declspec(align(16)) int16 vec16[8]; | 395 typedef __declspec(align(16)) int16 vec16[8]; |
395 typedef __declspec(align(16)) int32 vec32[4]; | 396 typedef __declspec(align(16)) int32 vec32[4]; |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
644 const struct YuvConstants* yuvconstants, | 645 const struct YuvConstants* yuvconstants, |
645 int width); | 646 int width); |
646 void YUY2ToARGBRow_NEON(const uint8* src_yuy2, | 647 void YUY2ToARGBRow_NEON(const uint8* src_yuy2, |
647 uint8* dst_argb, | 648 uint8* dst_argb, |
648 const struct YuvConstants* yuvconstants, | 649 const struct YuvConstants* yuvconstants, |
649 int width); | 650 int width); |
650 void UYVYToARGBRow_NEON(const uint8* src_uyvy, | 651 void UYVYToARGBRow_NEON(const uint8* src_uyvy, |
651 uint8* dst_argb, | 652 uint8* dst_argb, |
652 const struct YuvConstants* yuvconstants, | 653 const struct YuvConstants* yuvconstants, |
653 int width); | 654 int width); |
| 655 void I422ToARGBRow_MSA(const uint8* src_y, |
| 656 const uint8* src_u, |
| 657 const uint8* src_v, |
| 658 uint8* dst_argb, |
| 659 const struct YuvConstants* yuvconstants, |
| 660 int width); |
| 661 void I422ToRGBARow_MSA(const uint8* src_y, |
| 662 const uint8* src_u, |
| 663 const uint8* src_v, |
| 664 uint8* dst_rgba, |
| 665 const struct YuvConstants* yuvconstants, |
| 666 int width); |
654 | 667 |
655 void ARGBToYRow_AVX2(const uint8* src_argb, uint8* dst_y, int width); | 668 void ARGBToYRow_AVX2(const uint8* src_argb, uint8* dst_y, int width); |
656 void ARGBToYRow_Any_AVX2(const uint8* src_argb, uint8* dst_y, int width); | 669 void ARGBToYRow_Any_AVX2(const uint8* src_argb, uint8* dst_y, int width); |
657 void ARGBToYRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); | 670 void ARGBToYRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); |
658 void ARGBToYJRow_AVX2(const uint8* src_argb, uint8* dst_y, int width); | 671 void ARGBToYJRow_AVX2(const uint8* src_argb, uint8* dst_y, int width); |
659 void ARGBToYJRow_Any_AVX2(const uint8* src_argb, uint8* dst_y, int width); | 672 void ARGBToYJRow_Any_AVX2(const uint8* src_argb, uint8* dst_y, int width); |
660 void ARGBToYJRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); | 673 void ARGBToYJRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); |
661 void BGRAToYRow_SSSE3(const uint8* src_bgra, uint8* dst_y, int width); | 674 void BGRAToYRow_SSSE3(const uint8* src_bgra, uint8* dst_y, int width); |
662 void ABGRToYRow_SSSE3(const uint8* src_abgr, uint8* dst_y, int width); | 675 void ABGRToYRow_SSSE3(const uint8* src_abgr, uint8* dst_y, int width); |
663 void RGBAToYRow_SSSE3(const uint8* src_rgba, uint8* dst_y, int width); | 676 void RGBAToYRow_SSSE3(const uint8* src_rgba, uint8* dst_y, int width); |
(...skipping 958 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1622 const uint8* src_v, | 1635 const uint8* src_v, |
1623 uint8* dst_argb, | 1636 uint8* dst_argb, |
1624 const struct YuvConstants* yuvconstants, | 1637 const struct YuvConstants* yuvconstants, |
1625 int width); | 1638 int width); |
1626 void I422ToARGBRow_DSPR2(const uint8* src_y, | 1639 void I422ToARGBRow_DSPR2(const uint8* src_y, |
1627 const uint8* src_u, | 1640 const uint8* src_u, |
1628 const uint8* src_v, | 1641 const uint8* src_v, |
1629 uint8* dst_argb, | 1642 uint8* dst_argb, |
1630 const struct YuvConstants* yuvconstants, | 1643 const struct YuvConstants* yuvconstants, |
1631 int width); | 1644 int width); |
| 1645 void I422ToARGBRow_Any_MSA(const uint8* src_y, |
| 1646 const uint8* src_u, |
| 1647 const uint8* src_v, |
| 1648 uint8* dst_argb, |
| 1649 const struct YuvConstants* yuvconstants, |
| 1650 int width); |
| 1651 void I422ToRGBARow_Any_MSA(const uint8* src_y, |
| 1652 const uint8* src_u, |
| 1653 const uint8* src_v, |
| 1654 uint8* dst_argb, |
| 1655 const struct YuvConstants* yuvconstants, |
| 1656 int width); |
1632 | 1657 |
1633 void YUY2ToYRow_AVX2(const uint8* src_yuy2, uint8* dst_y, int width); | 1658 void YUY2ToYRow_AVX2(const uint8* src_yuy2, uint8* dst_y, int width); |
1634 void YUY2ToUVRow_AVX2(const uint8* src_yuy2, int stride_yuy2, | 1659 void YUY2ToUVRow_AVX2(const uint8* src_yuy2, int stride_yuy2, |
1635 uint8* dst_u, uint8* dst_v, int width); | 1660 uint8* dst_u, uint8* dst_v, int width); |
1636 void YUY2ToUV422Row_AVX2(const uint8* src_yuy2, | 1661 void YUY2ToUV422Row_AVX2(const uint8* src_yuy2, |
1637 uint8* dst_u, uint8* dst_v, int width); | 1662 uint8* dst_u, uint8* dst_v, int width); |
1638 void YUY2ToYRow_SSE2(const uint8* src_yuy2, uint8* dst_y, int width); | 1663 void YUY2ToYRow_SSE2(const uint8* src_yuy2, uint8* dst_y, int width); |
1639 void YUY2ToUVRow_SSE2(const uint8* src_yuy2, int stride_yuy2, | 1664 void YUY2ToUVRow_SSE2(const uint8* src_yuy2, int stride_yuy2, |
1640 uint8* dst_u, uint8* dst_v, int width); | 1665 uint8* dst_u, uint8* dst_v, int width); |
1641 void YUY2ToUV422Row_SSE2(const uint8* src_yuy2, | 1666 void YUY2ToUV422Row_SSE2(const uint8* src_yuy2, |
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1968 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 1993 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
1969 int width, | 1994 int width, |
1970 const uint8* luma, uint32 lumacoeff); | 1995 const uint8* luma, uint32 lumacoeff); |
1971 | 1996 |
1972 #ifdef __cplusplus | 1997 #ifdef __cplusplus |
1973 } // extern "C" | 1998 } // extern "C" |
1974 } // namespace libyuv | 1999 } // namespace libyuv |
1975 #endif | 2000 #endif |
1976 | 2001 |
1977 #endif // INCLUDE_LIBYUV_ROW_H_ | 2002 #endif // INCLUDE_LIBYUV_ROW_H_ |
OLD | NEW |