| 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 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) | 367 #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) |
| 368 #define HAS_ARGBMIRRORROW_MSA | 368 #define HAS_ARGBMIRRORROW_MSA |
| 369 #define HAS_I422TOUYVYROW_MSA | 369 #define HAS_I422TOUYVYROW_MSA |
| 370 #define HAS_I422TOYUY2ROW_MSA | 370 #define HAS_I422TOYUY2ROW_MSA |
| 371 #define HAS_MIRRORROW_MSA | 371 #define HAS_MIRRORROW_MSA |
| 372 #define HAS_UYVYTOUVROW_MSA | 372 #define HAS_UYVYTOUVROW_MSA |
| 373 #define HAS_UYVYTOYROW_MSA | 373 #define HAS_UYVYTOYROW_MSA |
| 374 #define HAS_YUY2TOUV422ROW_MSA | 374 #define HAS_YUY2TOUV422ROW_MSA |
| 375 #define HAS_YUY2TOUVROW_MSA | 375 #define HAS_YUY2TOUVROW_MSA |
| 376 #define HAS_YUY2TOYROW_MSA | 376 #define HAS_YUY2TOYROW_MSA |
| 377 #define HAS_ARGB4444TOARGBROW_MSA |
| 378 #define HAS_ARGBTOYROW_MSA |
| 379 #define HAS_ARGBTOUVROW_MSA |
| 377 | 380 |
| 378 #endif | 381 #endif |
| 379 | 382 |
| 380 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) | 383 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) |
| 381 #if defined(VISUALC_HAS_AVX2) | 384 #if defined(VISUALC_HAS_AVX2) |
| 382 #define SIMD_ALIGNED(var) __declspec(align(32)) var | 385 #define SIMD_ALIGNED(var) __declspec(align(32)) var |
| 383 #else | 386 #else |
| 384 #define SIMD_ALIGNED(var) __declspec(align(16)) var | 387 #define SIMD_ALIGNED(var) __declspec(align(16)) var |
| 385 #endif | 388 #endif |
| 386 typedef __declspec(align(16)) int16 vec16[8]; | 389 typedef __declspec(align(16)) int16 vec16[8]; |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 650 void ARGBToYJRow_AVX2(const uint8* src_argb, uint8* dst_y, int width); | 653 void ARGBToYJRow_AVX2(const uint8* src_argb, uint8* dst_y, int width); |
| 651 void ARGBToYJRow_Any_AVX2(const uint8* src_argb, uint8* dst_y, int width); | 654 void ARGBToYJRow_Any_AVX2(const uint8* src_argb, uint8* dst_y, int width); |
| 652 void ARGBToYJRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); | 655 void ARGBToYJRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); |
| 653 void BGRAToYRow_SSSE3(const uint8* src_bgra, uint8* dst_y, int width); | 656 void BGRAToYRow_SSSE3(const uint8* src_bgra, uint8* dst_y, int width); |
| 654 void ABGRToYRow_SSSE3(const uint8* src_abgr, uint8* dst_y, int width); | 657 void ABGRToYRow_SSSE3(const uint8* src_abgr, uint8* dst_y, int width); |
| 655 void RGBAToYRow_SSSE3(const uint8* src_rgba, uint8* dst_y, int width); | 658 void RGBAToYRow_SSSE3(const uint8* src_rgba, uint8* dst_y, int width); |
| 656 void RGB24ToYRow_SSSE3(const uint8* src_rgb24, uint8* dst_y, int width); | 659 void RGB24ToYRow_SSSE3(const uint8* src_rgb24, uint8* dst_y, int width); |
| 657 void RAWToYRow_SSSE3(const uint8* src_raw, uint8* dst_y, int width); | 660 void RAWToYRow_SSSE3(const uint8* src_raw, uint8* dst_y, int width); |
| 658 void ARGBToYRow_NEON(const uint8* src_argb, uint8* dst_y, int width); | 661 void ARGBToYRow_NEON(const uint8* src_argb, uint8* dst_y, int width); |
| 659 void ARGBToYJRow_NEON(const uint8* src_argb, uint8* dst_y, int width); | 662 void ARGBToYJRow_NEON(const uint8* src_argb, uint8* dst_y, int width); |
| 663 void ARGBToYRow_MSA(const uint8* src_argb, uint8* dst_y, int width); |
| 660 void ARGBToUV444Row_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v, | 664 void ARGBToUV444Row_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v, |
| 661 int width); | 665 int width); |
| 662 void ARGBToUVRow_NEON(const uint8* src_argb, int src_stride_argb, | 666 void ARGBToUVRow_NEON(const uint8* src_argb, int src_stride_argb, |
| 663 uint8* dst_u, uint8* dst_v, int width); | 667 uint8* dst_u, uint8* dst_v, int width); |
| 668 void ARGBToUVRow_MSA(const uint8* src_argb, int src_stride_argb, |
| 669 uint8* dst_u, uint8* dst_v, int width); |
| 664 void ARGBToUVJRow_NEON(const uint8* src_argb, int src_stride_argb, | 670 void ARGBToUVJRow_NEON(const uint8* src_argb, int src_stride_argb, |
| 665 uint8* dst_u, uint8* dst_v, int width); | 671 uint8* dst_u, uint8* dst_v, int width); |
| 666 void BGRAToUVRow_NEON(const uint8* src_bgra, int src_stride_bgra, | 672 void BGRAToUVRow_NEON(const uint8* src_bgra, int src_stride_bgra, |
| 667 uint8* dst_u, uint8* dst_v, int width); | 673 uint8* dst_u, uint8* dst_v, int width); |
| 668 void ABGRToUVRow_NEON(const uint8* src_abgr, int src_stride_abgr, | 674 void ABGRToUVRow_NEON(const uint8* src_abgr, int src_stride_abgr, |
| 669 uint8* dst_u, uint8* dst_v, int width); | 675 uint8* dst_u, uint8* dst_v, int width); |
| 670 void RGBAToUVRow_NEON(const uint8* src_rgba, int src_stride_rgba, | 676 void RGBAToUVRow_NEON(const uint8* src_rgba, int src_stride_rgba, |
| 671 uint8* dst_u, uint8* dst_v, int width); | 677 uint8* dst_u, uint8* dst_v, int width); |
| 672 void RGB24ToUVRow_NEON(const uint8* src_rgb24, int src_stride_rgb24, | 678 void RGB24ToUVRow_NEON(const uint8* src_rgb24, int src_stride_rgb24, |
| 673 uint8* dst_u, uint8* dst_v, int width); | 679 uint8* dst_u, uint8* dst_v, int width); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 void BGRAToYRow_Any_NEON(const uint8* src_bgra, uint8* dst_y, int width); | 715 void BGRAToYRow_Any_NEON(const uint8* src_bgra, uint8* dst_y, int width); |
| 710 void ABGRToYRow_Any_NEON(const uint8* src_abgr, uint8* dst_y, int width); | 716 void ABGRToYRow_Any_NEON(const uint8* src_abgr, uint8* dst_y, int width); |
| 711 void RGBAToYRow_Any_NEON(const uint8* src_rgba, uint8* dst_y, int width); | 717 void RGBAToYRow_Any_NEON(const uint8* src_rgba, uint8* dst_y, int width); |
| 712 void RGB24ToYRow_Any_NEON(const uint8* src_rgb24, uint8* dst_y, int width); | 718 void RGB24ToYRow_Any_NEON(const uint8* src_rgb24, uint8* dst_y, int width); |
| 713 void RAWToYRow_Any_NEON(const uint8* src_raw, uint8* dst_y, int width); | 719 void RAWToYRow_Any_NEON(const uint8* src_raw, uint8* dst_y, int width); |
| 714 void RGB565ToYRow_Any_NEON(const uint8* src_rgb565, uint8* dst_y, int width); | 720 void RGB565ToYRow_Any_NEON(const uint8* src_rgb565, uint8* dst_y, int width); |
| 715 void ARGB1555ToYRow_Any_NEON(const uint8* src_argb1555, uint8* dst_y, | 721 void ARGB1555ToYRow_Any_NEON(const uint8* src_argb1555, uint8* dst_y, |
| 716 int width); | 722 int width); |
| 717 void ARGB4444ToYRow_Any_NEON(const uint8* src_argb4444, uint8* dst_y, | 723 void ARGB4444ToYRow_Any_NEON(const uint8* src_argb4444, uint8* dst_y, |
| 718 int width); | 724 int width); |
| 725 void ARGBToYRow_Any_MSA(const uint8* src_argb, uint8* dst_y, int width); |
| 719 | 726 |
| 720 void ARGBToUVRow_AVX2(const uint8* src_argb, int src_stride_argb, | 727 void ARGBToUVRow_AVX2(const uint8* src_argb, int src_stride_argb, |
| 721 uint8* dst_u, uint8* dst_v, int width); | 728 uint8* dst_u, uint8* dst_v, int width); |
| 722 void ARGBToUVJRow_AVX2(const uint8* src_argb, int src_stride_argb, | 729 void ARGBToUVJRow_AVX2(const uint8* src_argb, int src_stride_argb, |
| 723 uint8* dst_u, uint8* dst_v, int width); | 730 uint8* dst_u, uint8* dst_v, int width); |
| 724 void ARGBToUVRow_SSSE3(const uint8* src_argb, int src_stride_argb, | 731 void ARGBToUVRow_SSSE3(const uint8* src_argb, int src_stride_argb, |
| 725 uint8* dst_u, uint8* dst_v, int width); | 732 uint8* dst_u, uint8* dst_v, int width); |
| 726 void ARGBToUVJRow_SSSE3(const uint8* src_argb, int src_stride_argb, | 733 void ARGBToUVJRow_SSSE3(const uint8* src_argb, int src_stride_argb, |
| 727 uint8* dst_u, uint8* dst_v, int width); | 734 uint8* dst_u, uint8* dst_v, int width); |
| 728 void BGRAToUVRow_SSSE3(const uint8* src_bgra, int src_stride_bgra, | 735 void BGRAToUVRow_SSSE3(const uint8* src_bgra, int src_stride_bgra, |
| (...skipping 13 matching lines...) Expand all Loading... |
| 742 void BGRAToUVRow_Any_SSSE3(const uint8* src_bgra, int src_stride_bgra, | 749 void BGRAToUVRow_Any_SSSE3(const uint8* src_bgra, int src_stride_bgra, |
| 743 uint8* dst_u, uint8* dst_v, int width); | 750 uint8* dst_u, uint8* dst_v, int width); |
| 744 void ABGRToUVRow_Any_SSSE3(const uint8* src_abgr, int src_stride_abgr, | 751 void ABGRToUVRow_Any_SSSE3(const uint8* src_abgr, int src_stride_abgr, |
| 745 uint8* dst_u, uint8* dst_v, int width); | 752 uint8* dst_u, uint8* dst_v, int width); |
| 746 void RGBAToUVRow_Any_SSSE3(const uint8* src_rgba, int src_stride_rgba, | 753 void RGBAToUVRow_Any_SSSE3(const uint8* src_rgba, int src_stride_rgba, |
| 747 uint8* dst_u, uint8* dst_v, int width); | 754 uint8* dst_u, uint8* dst_v, int width); |
| 748 void ARGBToUV444Row_Any_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v, | 755 void ARGBToUV444Row_Any_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v, |
| 749 int width); | 756 int width); |
| 750 void ARGBToUVRow_Any_NEON(const uint8* src_argb, int src_stride_argb, | 757 void ARGBToUVRow_Any_NEON(const uint8* src_argb, int src_stride_argb, |
| 751 uint8* dst_u, uint8* dst_v, int width); | 758 uint8* dst_u, uint8* dst_v, int width); |
| 759 void ARGBToUVRow_Any_MSA(const uint8* src_argb, int src_stride_argb, |
| 760 uint8* dst_u, uint8* dst_v, int width); |
| 752 void ARGBToUVJRow_Any_NEON(const uint8* src_argb, int src_stride_argb, | 761 void ARGBToUVJRow_Any_NEON(const uint8* src_argb, int src_stride_argb, |
| 753 uint8* dst_u, uint8* dst_v, int width); | 762 uint8* dst_u, uint8* dst_v, int width); |
| 754 void BGRAToUVRow_Any_NEON(const uint8* src_bgra, int src_stride_bgra, | 763 void BGRAToUVRow_Any_NEON(const uint8* src_bgra, int src_stride_bgra, |
| 755 uint8* dst_u, uint8* dst_v, int width); | 764 uint8* dst_u, uint8* dst_v, int width); |
| 756 void ABGRToUVRow_Any_NEON(const uint8* src_abgr, int src_stride_abgr, | 765 void ABGRToUVRow_Any_NEON(const uint8* src_abgr, int src_stride_abgr, |
| 757 uint8* dst_u, uint8* dst_v, int width); | 766 uint8* dst_u, uint8* dst_v, int width); |
| 758 void RGBAToUVRow_Any_NEON(const uint8* src_rgba, int src_stride_rgba, | 767 void RGBAToUVRow_Any_NEON(const uint8* src_rgba, int src_stride_rgba, |
| 759 uint8* dst_u, uint8* dst_v, int width); | 768 uint8* dst_u, uint8* dst_v, int width); |
| 760 void RGB24ToUVRow_Any_NEON(const uint8* src_rgb24, int src_stride_rgb24, | 769 void RGB24ToUVRow_Any_NEON(const uint8* src_rgb24, int src_stride_rgb24, |
| 761 uint8* dst_u, uint8* dst_v, int width); | 770 uint8* dst_u, uint8* dst_v, int width); |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 947 int width); | 956 int width); |
| 948 | 957 |
| 949 void RGB24ToARGBRow_NEON(const uint8* src_rgb24, uint8* dst_argb, int width); | 958 void RGB24ToARGBRow_NEON(const uint8* src_rgb24, uint8* dst_argb, int width); |
| 950 void RAWToARGBRow_NEON(const uint8* src_raw, uint8* dst_argb, int width); | 959 void RAWToARGBRow_NEON(const uint8* src_raw, uint8* dst_argb, int width); |
| 951 void RAWToRGB24Row_NEON(const uint8* src_raw, uint8* dst_rgb24, int width); | 960 void RAWToRGB24Row_NEON(const uint8* src_raw, uint8* dst_rgb24, int width); |
| 952 void RGB565ToARGBRow_NEON(const uint8* src_rgb565, uint8* dst_argb, int width); | 961 void RGB565ToARGBRow_NEON(const uint8* src_rgb565, uint8* dst_argb, int width); |
| 953 void ARGB1555ToARGBRow_NEON(const uint8* src_argb1555, uint8* dst_argb, | 962 void ARGB1555ToARGBRow_NEON(const uint8* src_argb1555, uint8* dst_argb, |
| 954 int width); | 963 int width); |
| 955 void ARGB4444ToARGBRow_NEON(const uint8* src_argb4444, uint8* dst_argb, | 964 void ARGB4444ToARGBRow_NEON(const uint8* src_argb4444, uint8* dst_argb, |
| 956 int width); | 965 int width); |
| 966 void ARGB4444ToARGBRow_MSA(const uint8* src_argb4444, uint8* dst_argb, |
| 967 int width); |
| 957 void RGB24ToARGBRow_C(const uint8* src_rgb24, uint8* dst_argb, int width); | 968 void RGB24ToARGBRow_C(const uint8* src_rgb24, uint8* dst_argb, int width); |
| 958 void RAWToARGBRow_C(const uint8* src_raw, uint8* dst_argb, int width); | 969 void RAWToARGBRow_C(const uint8* src_raw, uint8* dst_argb, int width); |
| 959 void RAWToRGB24Row_C(const uint8* src_raw, uint8* dst_rgb24, int width); | 970 void RAWToRGB24Row_C(const uint8* src_raw, uint8* dst_rgb24, int width); |
| 960 void RGB565ToARGBRow_C(const uint8* src_rgb, uint8* dst_argb, int width); | 971 void RGB565ToARGBRow_C(const uint8* src_rgb, uint8* dst_argb, int width); |
| 961 void ARGB1555ToARGBRow_C(const uint8* src_argb, uint8* dst_argb, int width); | 972 void ARGB1555ToARGBRow_C(const uint8* src_argb, uint8* dst_argb, int width); |
| 962 void ARGB4444ToARGBRow_C(const uint8* src_argb, uint8* dst_argb, int width); | 973 void ARGB4444ToARGBRow_C(const uint8* src_argb, uint8* dst_argb, int width); |
| 963 void RGB24ToARGBRow_Any_SSSE3(const uint8* src_rgb24, uint8* dst_argb, | 974 void RGB24ToARGBRow_Any_SSSE3(const uint8* src_rgb24, uint8* dst_argb, |
| 964 int width); | 975 int width); |
| 965 void RAWToARGBRow_Any_SSSE3(const uint8* src_raw, uint8* dst_argb, int width); | 976 void RAWToARGBRow_Any_SSSE3(const uint8* src_raw, uint8* dst_argb, int width); |
| 966 void RAWToRGB24Row_Any_SSSE3(const uint8* src_raw, uint8* dst_rgb24, int width); | 977 void RAWToRGB24Row_Any_SSSE3(const uint8* src_raw, uint8* dst_rgb24, int width); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 981 void RGB24ToARGBRow_Any_NEON(const uint8* src_rgb24, uint8* dst_argb, | 992 void RGB24ToARGBRow_Any_NEON(const uint8* src_rgb24, uint8* dst_argb, |
| 982 int width); | 993 int width); |
| 983 void RAWToARGBRow_Any_NEON(const uint8* src_raw, uint8* dst_argb, int width); | 994 void RAWToARGBRow_Any_NEON(const uint8* src_raw, uint8* dst_argb, int width); |
| 984 void RAWToRGB24Row_Any_NEON(const uint8* src_raw, uint8* dst_rgb24, int width); | 995 void RAWToRGB24Row_Any_NEON(const uint8* src_raw, uint8* dst_rgb24, int width); |
| 985 void RGB565ToARGBRow_Any_NEON(const uint8* src_rgb565, uint8* dst_argb, | 996 void RGB565ToARGBRow_Any_NEON(const uint8* src_rgb565, uint8* dst_argb, |
| 986 int width); | 997 int width); |
| 987 void ARGB1555ToARGBRow_Any_NEON(const uint8* src_argb1555, uint8* dst_argb, | 998 void ARGB1555ToARGBRow_Any_NEON(const uint8* src_argb1555, uint8* dst_argb, |
| 988 int width); | 999 int width); |
| 989 void ARGB4444ToARGBRow_Any_NEON(const uint8* src_argb4444, uint8* dst_argb, | 1000 void ARGB4444ToARGBRow_Any_NEON(const uint8* src_argb4444, uint8* dst_argb, |
| 990 int width); | 1001 int width); |
| 1002 void ARGB4444ToARGBRow_Any_MSA(const uint8* src_argb4444, uint8* dst_argb, |
| 1003 int width); |
| 991 | 1004 |
| 992 void ARGBToRGB24Row_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); | 1005 void ARGBToRGB24Row_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); |
| 993 void ARGBToRAWRow_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); | 1006 void ARGBToRAWRow_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); |
| 994 void ARGBToRGB565Row_SSE2(const uint8* src_argb, uint8* dst_rgb, int width); | 1007 void ARGBToRGB565Row_SSE2(const uint8* src_argb, uint8* dst_rgb, int width); |
| 995 void ARGBToARGB1555Row_SSE2(const uint8* src_argb, uint8* dst_rgb, int width); | 1008 void ARGBToARGB1555Row_SSE2(const uint8* src_argb, uint8* dst_rgb, int width); |
| 996 void ARGBToARGB4444Row_SSE2(const uint8* src_argb, uint8* dst_rgb, int width); | 1009 void ARGBToARGB4444Row_SSE2(const uint8* src_argb, uint8* dst_rgb, int width); |
| 997 | 1010 |
| 998 void ARGBToRGB565DitherRow_C(const uint8* src_argb, uint8* dst_rgb, | 1011 void ARGBToRGB565DitherRow_C(const uint8* src_argb, uint8* dst_rgb, |
| 999 const uint32 dither4, int width); | 1012 const uint32 dither4, int width); |
| 1000 void ARGBToRGB565DitherRow_SSE2(const uint8* src_argb, uint8* dst_rgb, | 1013 void ARGBToRGB565DitherRow_SSE2(const uint8* src_argb, uint8* dst_rgb, |
| (...skipping 946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1947 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 1960 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
| 1948 int width, | 1961 int width, |
| 1949 const uint8* luma, uint32 lumacoeff); | 1962 const uint8* luma, uint32 lumacoeff); |
| 1950 | 1963 |
| 1951 #ifdef __cplusplus | 1964 #ifdef __cplusplus |
| 1952 } // extern "C" | 1965 } // extern "C" |
| 1953 } // namespace libyuv | 1966 } // namespace libyuv |
| 1954 #endif | 1967 #endif |
| 1955 | 1968 |
| 1956 #endif // INCLUDE_LIBYUV_ROW_H_ | 1969 #endif // INCLUDE_LIBYUV_ROW_H_ |
| OLD | NEW |