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 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 #define HAS_UYVYTOUVROW_MSA | 376 #define HAS_UYVYTOUVROW_MSA |
377 #define HAS_UYVYTOYROW_MSA | 377 #define HAS_UYVYTOYROW_MSA |
378 #define HAS_YUY2TOUV422ROW_MSA | 378 #define HAS_YUY2TOUV422ROW_MSA |
379 #define HAS_YUY2TOUVROW_MSA | 379 #define HAS_YUY2TOUVROW_MSA |
380 #define HAS_YUY2TOYROW_MSA | 380 #define HAS_YUY2TOYROW_MSA |
381 #define HAS_ARGB4444TOARGBROW_MSA | 381 #define HAS_ARGB4444TOARGBROW_MSA |
382 #define HAS_ARGBTOYROW_MSA | 382 #define HAS_ARGBTOYROW_MSA |
383 #define HAS_ARGBTOUVROW_MSA | 383 #define HAS_ARGBTOUVROW_MSA |
384 #define HAS_I422TOARGBROW_MSA | 384 #define HAS_I422TOARGBROW_MSA |
385 #define HAS_I422TORGBAROW_MSA | 385 #define HAS_I422TORGBAROW_MSA |
| 386 #define HAS_I422ALPHATOARGBROW_MSA |
| 387 #define HAS_I422TORGB24ROW_MSA |
386 #endif | 388 #endif |
387 | 389 |
388 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) | 390 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) |
389 #if defined(VISUALC_HAS_AVX2) | 391 #if defined(VISUALC_HAS_AVX2) |
390 #define SIMD_ALIGNED(var) __declspec(align(32)) var | 392 #define SIMD_ALIGNED(var) __declspec(align(32)) var |
391 #else | 393 #else |
392 #define SIMD_ALIGNED(var) __declspec(align(16)) var | 394 #define SIMD_ALIGNED(var) __declspec(align(16)) var |
393 #endif | 395 #endif |
394 typedef __declspec(align(16)) int16 vec16[8]; | 396 typedef __declspec(align(16)) int16 vec16[8]; |
395 typedef __declspec(align(16)) int32 vec32[4]; | 397 typedef __declspec(align(16)) int32 vec32[4]; |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
656 const uint8* src_v, | 658 const uint8* src_v, |
657 uint8* dst_argb, | 659 uint8* dst_argb, |
658 const struct YuvConstants* yuvconstants, | 660 const struct YuvConstants* yuvconstants, |
659 int width); | 661 int width); |
660 void I422ToRGBARow_MSA(const uint8* src_y, | 662 void I422ToRGBARow_MSA(const uint8* src_y, |
661 const uint8* src_u, | 663 const uint8* src_u, |
662 const uint8* src_v, | 664 const uint8* src_v, |
663 uint8* dst_rgba, | 665 uint8* dst_rgba, |
664 const struct YuvConstants* yuvconstants, | 666 const struct YuvConstants* yuvconstants, |
665 int width); | 667 int width); |
| 668 void I422AlphaToARGBRow_MSA(const uint8* y_buf, |
| 669 const uint8* u_buf, |
| 670 const uint8* v_buf, |
| 671 const uint8* a_buf, |
| 672 uint8* dst_argb, |
| 673 const struct YuvConstants* yuvconstants, |
| 674 int width); |
| 675 void I422ToRGB24Row_MSA(const uint8* src_y, |
| 676 const uint8* src_u, |
| 677 const uint8* src_v, |
| 678 uint8* dst_rgb24, |
| 679 const struct YuvConstants* yuvconstants, |
| 680 int width); |
666 | 681 |
667 void ARGBToYRow_AVX2(const uint8* src_argb, uint8* dst_y, int width); | 682 void ARGBToYRow_AVX2(const uint8* src_argb, uint8* dst_y, int width); |
668 void ARGBToYRow_Any_AVX2(const uint8* src_argb, uint8* dst_y, int width); | 683 void ARGBToYRow_Any_AVX2(const uint8* src_argb, uint8* dst_y, int width); |
669 void ARGBToYRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); | 684 void ARGBToYRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); |
670 void ARGBToYJRow_AVX2(const uint8* src_argb, uint8* dst_y, int width); | 685 void ARGBToYJRow_AVX2(const uint8* src_argb, uint8* dst_y, int width); |
671 void ARGBToYJRow_Any_AVX2(const uint8* src_argb, uint8* dst_y, int width); | 686 void ARGBToYJRow_Any_AVX2(const uint8* src_argb, uint8* dst_y, int width); |
672 void ARGBToYJRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); | 687 void ARGBToYJRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); |
673 void BGRAToYRow_SSSE3(const uint8* src_bgra, uint8* dst_y, int width); | 688 void BGRAToYRow_SSSE3(const uint8* src_bgra, uint8* dst_y, int width); |
674 void ABGRToYRow_SSSE3(const uint8* src_abgr, uint8* dst_y, int width); | 689 void ABGRToYRow_SSSE3(const uint8* src_abgr, uint8* dst_y, int width); |
675 void RGBAToYRow_SSSE3(const uint8* src_rgba, uint8* dst_y, int width); | 690 void RGBAToYRow_SSSE3(const uint8* src_rgba, uint8* dst_y, int width); |
(...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1646 const uint8* src_v, | 1661 const uint8* src_v, |
1647 uint8* dst_argb, | 1662 uint8* dst_argb, |
1648 const struct YuvConstants* yuvconstants, | 1663 const struct YuvConstants* yuvconstants, |
1649 int width); | 1664 int width); |
1650 void I422ToRGBARow_Any_MSA(const uint8* src_y, | 1665 void I422ToRGBARow_Any_MSA(const uint8* src_y, |
1651 const uint8* src_u, | 1666 const uint8* src_u, |
1652 const uint8* src_v, | 1667 const uint8* src_v, |
1653 uint8* dst_argb, | 1668 uint8* dst_argb, |
1654 const struct YuvConstants* yuvconstants, | 1669 const struct YuvConstants* yuvconstants, |
1655 int width); | 1670 int width); |
| 1671 void I422AlphaToARGBRow_Any_MSA(const uint8* src_y, |
| 1672 const uint8* src_u, |
| 1673 const uint8* src_v, |
| 1674 const uint8* src_a, |
| 1675 uint8* dst_argb, |
| 1676 const struct YuvConstants* yuvconstants, |
| 1677 int width); |
| 1678 void I422ToRGB24Row_Any_MSA(const uint8* src_y, |
| 1679 const uint8* src_u, |
| 1680 const uint8* src_v, |
| 1681 uint8* dst_rgb24, |
| 1682 const struct YuvConstants* yuvconstants, |
| 1683 int width); |
1656 | 1684 |
1657 void YUY2ToYRow_AVX2(const uint8* src_yuy2, uint8* dst_y, int width); | 1685 void YUY2ToYRow_AVX2(const uint8* src_yuy2, uint8* dst_y, int width); |
1658 void YUY2ToUVRow_AVX2(const uint8* src_yuy2, int stride_yuy2, | 1686 void YUY2ToUVRow_AVX2(const uint8* src_yuy2, int stride_yuy2, |
1659 uint8* dst_u, uint8* dst_v, int width); | 1687 uint8* dst_u, uint8* dst_v, int width); |
1660 void YUY2ToUV422Row_AVX2(const uint8* src_yuy2, | 1688 void YUY2ToUV422Row_AVX2(const uint8* src_yuy2, |
1661 uint8* dst_u, uint8* dst_v, int width); | 1689 uint8* dst_u, uint8* dst_v, int width); |
1662 void YUY2ToYRow_SSE2(const uint8* src_yuy2, uint8* dst_y, int width); | 1690 void YUY2ToYRow_SSE2(const uint8* src_yuy2, uint8* dst_y, int width); |
1663 void YUY2ToUVRow_SSE2(const uint8* src_yuy2, int stride_yuy2, | 1691 void YUY2ToUVRow_SSE2(const uint8* src_yuy2, int stride_yuy2, |
1664 uint8* dst_u, uint8* dst_v, int width); | 1692 uint8* dst_u, uint8* dst_v, int width); |
1665 void YUY2ToUV422Row_SSE2(const uint8* src_yuy2, | 1693 void YUY2ToUV422Row_SSE2(const uint8* src_yuy2, |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1998 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 2026 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
1999 int width, | 2027 int width, |
2000 const uint8* luma, uint32 lumacoeff); | 2028 const uint8* luma, uint32 lumacoeff); |
2001 | 2029 |
2002 #ifdef __cplusplus | 2030 #ifdef __cplusplus |
2003 } // extern "C" | 2031 } // extern "C" |
2004 } // namespace libyuv | 2032 } // namespace libyuv |
2005 #endif | 2033 #endif |
2006 | 2034 |
2007 #endif // INCLUDE_LIBYUV_ROW_H_ | 2035 #endif // INCLUDE_LIBYUV_ROW_H_ |
OLD | NEW |