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 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 // require VS2012, clang 3.4 or gcc 4.7. | 188 // require VS2012, clang 3.4 or gcc 4.7. |
189 // The code supports NaCL but requires a new compiler and validator. | 189 // The code supports NaCL but requires a new compiler and validator. |
190 #if !defined(LIBYUV_DISABLE_X86) && (defined(VISUALC_HAS_AVX2) || \ | 190 #if !defined(LIBYUV_DISABLE_X86) && (defined(VISUALC_HAS_AVX2) || \ |
191 defined(CLANG_HAS_AVX2) || defined(GCC_HAS_AVX2)) | 191 defined(CLANG_HAS_AVX2) || defined(GCC_HAS_AVX2)) |
192 #define HAS_ARGBCOPYALPHAROW_AVX2 | 192 #define HAS_ARGBCOPYALPHAROW_AVX2 |
193 #define HAS_ARGBCOPYYTOALPHAROW_AVX2 | 193 #define HAS_ARGBCOPYYTOALPHAROW_AVX2 |
194 #define HAS_ARGBMIRRORROW_AVX2 | 194 #define HAS_ARGBMIRRORROW_AVX2 |
195 #define HAS_ARGBPOLYNOMIALROW_AVX2 | 195 #define HAS_ARGBPOLYNOMIALROW_AVX2 |
196 #define HAS_ARGBSHUFFLEROW_AVX2 | 196 #define HAS_ARGBSHUFFLEROW_AVX2 |
197 #define HAS_ARGBTORGB565DITHERROW_AVX2 | 197 #define HAS_ARGBTORGB565DITHERROW_AVX2 |
| 198 #define HAS_ARGBTOUVJROW_AVX2 |
198 #define HAS_ARGBTOUVROW_AVX2 | 199 #define HAS_ARGBTOUVROW_AVX2 |
199 #define HAS_ARGBTOYJROW_AVX2 | 200 #define HAS_ARGBTOYJROW_AVX2 |
200 #define HAS_ARGBTOYROW_AVX2 | 201 #define HAS_ARGBTOYROW_AVX2 |
201 #define HAS_COPYROW_AVX | 202 #define HAS_COPYROW_AVX |
202 #define HAS_H422TOARGBROW_AVX2 | 203 #define HAS_H422TOARGBROW_AVX2 |
203 #define HAS_I400TOARGBROW_AVX2 | 204 #define HAS_I400TOARGBROW_AVX2 |
204 #if !(defined(_DEBUG) && defined(__i386__)) | 205 #if !(defined(_DEBUG) && defined(__i386__)) |
205 // TODO(fbarchard): fix build error on android_full_debug=1 | 206 // TODO(fbarchard): fix build error on android_full_debug=1 |
206 // https://code.google.com/p/libyuv/issues/detail?id=517 | 207 // https://code.google.com/p/libyuv/issues/detail?id=517 |
207 #define HAS_I422ALPHATOARGBROW_AVX2 | 208 #define HAS_I422ALPHATOARGBROW_AVX2 |
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
701 void RGB24ToYRow_Any_NEON(const uint8* src_rgb24, uint8* dst_y, int width); | 702 void RGB24ToYRow_Any_NEON(const uint8* src_rgb24, uint8* dst_y, int width); |
702 void RAWToYRow_Any_NEON(const uint8* src_raw, uint8* dst_y, int width); | 703 void RAWToYRow_Any_NEON(const uint8* src_raw, uint8* dst_y, int width); |
703 void RGB565ToYRow_Any_NEON(const uint8* src_rgb565, uint8* dst_y, int width); | 704 void RGB565ToYRow_Any_NEON(const uint8* src_rgb565, uint8* dst_y, int width); |
704 void ARGB1555ToYRow_Any_NEON(const uint8* src_argb1555, uint8* dst_y, | 705 void ARGB1555ToYRow_Any_NEON(const uint8* src_argb1555, uint8* dst_y, |
705 int width); | 706 int width); |
706 void ARGB4444ToYRow_Any_NEON(const uint8* src_argb4444, uint8* dst_y, | 707 void ARGB4444ToYRow_Any_NEON(const uint8* src_argb4444, uint8* dst_y, |
707 int width); | 708 int width); |
708 | 709 |
709 void ARGBToUVRow_AVX2(const uint8* src_argb, int src_stride_argb, | 710 void ARGBToUVRow_AVX2(const uint8* src_argb, int src_stride_argb, |
710 uint8* dst_u, uint8* dst_v, int width); | 711 uint8* dst_u, uint8* dst_v, int width); |
711 void ARGBToUVRow_Any_AVX2(const uint8* src_argb, int src_stride_argb, | 712 void ARGBToUVJRow_AVX2(const uint8* src_argb, int src_stride_argb, |
712 uint8* dst_u, uint8* dst_v, int width); | 713 uint8* dst_u, uint8* dst_v, int width); |
713 void ARGBToUVRow_SSSE3(const uint8* src_argb, int src_stride_argb, | 714 void ARGBToUVRow_SSSE3(const uint8* src_argb, int src_stride_argb, |
714 uint8* dst_u, uint8* dst_v, int width); | 715 uint8* dst_u, uint8* dst_v, int width); |
715 void ARGBToUVJRow_SSSE3(const uint8* src_argb, int src_stride_argb, | 716 void ARGBToUVJRow_SSSE3(const uint8* src_argb, int src_stride_argb, |
716 uint8* dst_u, uint8* dst_v, int width); | 717 uint8* dst_u, uint8* dst_v, int width); |
717 void BGRAToUVRow_SSSE3(const uint8* src_bgra, int src_stride_bgra, | 718 void BGRAToUVRow_SSSE3(const uint8* src_bgra, int src_stride_bgra, |
718 uint8* dst_u, uint8* dst_v, int width); | 719 uint8* dst_u, uint8* dst_v, int width); |
719 void ABGRToUVRow_SSSE3(const uint8* src_abgr, int src_stride_abgr, | 720 void ABGRToUVRow_SSSE3(const uint8* src_abgr, int src_stride_abgr, |
720 uint8* dst_u, uint8* dst_v, int width); | 721 uint8* dst_u, uint8* dst_v, int width); |
721 void RGBAToUVRow_SSSE3(const uint8* src_rgba, int src_stride_rgba, | 722 void RGBAToUVRow_SSSE3(const uint8* src_rgba, int src_stride_rgba, |
722 uint8* dst_u, uint8* dst_v, int width); | 723 uint8* dst_u, uint8* dst_v, int width); |
| 724 void ARGBToUVRow_Any_AVX2(const uint8* src_argb, int src_stride_argb, |
| 725 uint8* dst_u, uint8* dst_v, int width); |
| 726 void ARGBToUVJRow_Any_AVX2(const uint8* src_argb, int src_stride_argb, |
| 727 uint8* dst_u, uint8* dst_v, int width); |
723 void ARGBToUVRow_Any_SSSE3(const uint8* src_argb, int src_stride_argb, | 728 void ARGBToUVRow_Any_SSSE3(const uint8* src_argb, int src_stride_argb, |
724 uint8* dst_u, uint8* dst_v, int width); | 729 uint8* dst_u, uint8* dst_v, int width); |
725 void ARGBToUVJRow_Any_SSSE3(const uint8* src_argb, int src_stride_argb, | 730 void ARGBToUVJRow_Any_SSSE3(const uint8* src_argb, int src_stride_argb, |
726 uint8* dst_u, uint8* dst_v, int width); | 731 uint8* dst_u, uint8* dst_v, int width); |
727 void BGRAToUVRow_Any_SSSE3(const uint8* src_bgra, int src_stride_bgra, | 732 void BGRAToUVRow_Any_SSSE3(const uint8* src_bgra, int src_stride_bgra, |
728 uint8* dst_u, uint8* dst_v, int width); | 733 uint8* dst_u, uint8* dst_v, int width); |
729 void ABGRToUVRow_Any_SSSE3(const uint8* src_abgr, int src_stride_abgr, | 734 void ABGRToUVRow_Any_SSSE3(const uint8* src_abgr, int src_stride_abgr, |
730 uint8* dst_u, uint8* dst_v, int width); | 735 uint8* dst_u, uint8* dst_v, int width); |
731 void RGBAToUVRow_Any_SSSE3(const uint8* src_rgba, int src_stride_rgba, | 736 void RGBAToUVRow_Any_SSSE3(const uint8* src_rgba, int src_stride_rgba, |
732 uint8* dst_u, uint8* dst_v, int width); | 737 uint8* dst_u, uint8* dst_v, int width); |
(...skipping 1176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1909 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 1914 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
1910 int width, | 1915 int width, |
1911 const uint8* luma, uint32 lumacoeff); | 1916 const uint8* luma, uint32 lumacoeff); |
1912 | 1917 |
1913 #ifdef __cplusplus | 1918 #ifdef __cplusplus |
1914 } // extern "C" | 1919 } // extern "C" |
1915 } // namespace libyuv | 1920 } // namespace libyuv |
1916 #endif | 1921 #endif |
1917 | 1922 |
1918 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT | 1923 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT |
OLD | NEW |