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 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
355 #define HAS_SOBELROW_NEON | 355 #define HAS_SOBELROW_NEON |
356 #define HAS_SOBELTOPLANEROW_NEON | 356 #define HAS_SOBELTOPLANEROW_NEON |
357 #define HAS_SOBELXROW_NEON | 357 #define HAS_SOBELXROW_NEON |
358 #define HAS_SOBELXYROW_NEON | 358 #define HAS_SOBELXYROW_NEON |
359 #define HAS_SOBELYROW_NEON | 359 #define HAS_SOBELYROW_NEON |
360 #endif | 360 #endif |
361 | 361 |
362 // The following are available on Mips platforms: | 362 // The following are available on Mips platforms: |
363 #if !defined(LIBYUV_DISABLE_MIPS) && defined(__mips__) && \ | 363 #if !defined(LIBYUV_DISABLE_MIPS) && defined(__mips__) && \ |
364 (_MIPS_SIM == _MIPS_SIM_ABI32) && (__mips_isa_rev < 6) | 364 (_MIPS_SIM == _MIPS_SIM_ABI32) && (__mips_isa_rev < 6) |
365 #if defined(__mips_dsp) && (__mips_dsp_rev >= 2) | |
365 #define HAS_COPYROW_MIPS | 366 #define HAS_COPYROW_MIPS |
fbarchard1
2016/09/17 01:01:30
HAS_COPYROW_MIPS is mips but not dspr2 code. put
manojkumar.bhosale
2016/09/19 08:07:21
Done.
| |
366 #if defined(__mips_dsp) && (__mips_dsp_rev >= 2) | |
367 #define HAS_I422TOARGBROW_DSPR2 | 367 #define HAS_I422TOARGBROW_DSPR2 |
368 #define HAS_INTERPOLATEROW_DSPR2 | 368 #define HAS_INTERPOLATEROW_DSPR2 |
369 #define HAS_MIRRORROW_DSPR2 | 369 #define HAS_MIRRORROW_DSPR2 |
370 #define HAS_MIRRORUVROW_DSPR2 | 370 #define HAS_MIRRORUVROW_DSPR2 |
371 #define HAS_SPLITUVROW_DSPR2 | 371 #define HAS_SPLITUVROW_DSPR2 |
372 #endif | 372 #endif |
373 #endif | 373 #endif |
374 | 374 |
375 #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) | |
376 #define HAS_MIRRORROW_MSA | |
377 #endif | |
378 | |
375 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) | 379 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) |
376 #if defined(VISUALC_HAS_AVX2) | 380 #if defined(VISUALC_HAS_AVX2) |
377 #define SIMD_ALIGNED(var) __declspec(align(32)) var | 381 #define SIMD_ALIGNED(var) __declspec(align(32)) var |
378 #else | 382 #else |
379 #define SIMD_ALIGNED(var) __declspec(align(16)) var | 383 #define SIMD_ALIGNED(var) __declspec(align(16)) var |
380 #endif | 384 #endif |
381 typedef __declspec(align(16)) int16 vec16[8]; | 385 typedef __declspec(align(16)) int16 vec16[8]; |
382 typedef __declspec(align(16)) int32 vec32[4]; | 386 typedef __declspec(align(16)) int32 vec32[4]; |
383 typedef __declspec(align(16)) int8 vec8[16]; | 387 typedef __declspec(align(16)) int8 vec8[16]; |
384 typedef __declspec(align(16)) uint16 uvec16[8]; | 388 typedef __declspec(align(16)) uint16 uvec16[8]; |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
802 | 806 |
803 void ARGBToUV444Row_C(const uint8* src_argb, | 807 void ARGBToUV444Row_C(const uint8* src_argb, |
804 uint8* dst_u, uint8* dst_v, int width); | 808 uint8* dst_u, uint8* dst_v, int width); |
805 void ARGBToUV411Row_C(const uint8* src_argb, | 809 void ARGBToUV411Row_C(const uint8* src_argb, |
806 uint8* dst_u, uint8* dst_v, int width); | 810 uint8* dst_u, uint8* dst_v, int width); |
807 | 811 |
808 void MirrorRow_AVX2(const uint8* src, uint8* dst, int width); | 812 void MirrorRow_AVX2(const uint8* src, uint8* dst, int width); |
809 void MirrorRow_SSSE3(const uint8* src, uint8* dst, int width); | 813 void MirrorRow_SSSE3(const uint8* src, uint8* dst, int width); |
810 void MirrorRow_NEON(const uint8* src, uint8* dst, int width); | 814 void MirrorRow_NEON(const uint8* src, uint8* dst, int width); |
811 void MirrorRow_DSPR2(const uint8* src, uint8* dst, int width); | 815 void MirrorRow_DSPR2(const uint8* src, uint8* dst, int width); |
816 void MirrorRow_MSA(const uint8* src, uint8* dst, int width); | |
812 void MirrorRow_C(const uint8* src, uint8* dst, int width); | 817 void MirrorRow_C(const uint8* src, uint8* dst, int width); |
813 void MirrorRow_Any_AVX2(const uint8* src, uint8* dst, int width); | 818 void MirrorRow_Any_AVX2(const uint8* src, uint8* dst, int width); |
814 void MirrorRow_Any_SSSE3(const uint8* src, uint8* dst, int width); | 819 void MirrorRow_Any_SSSE3(const uint8* src, uint8* dst, int width); |
815 void MirrorRow_Any_SSE2(const uint8* src, uint8* dst, int width); | 820 void MirrorRow_Any_SSE2(const uint8* src, uint8* dst, int width); |
816 void MirrorRow_Any_NEON(const uint8* src, uint8* dst, int width); | 821 void MirrorRow_Any_NEON(const uint8* src, uint8* dst, int width); |
822 void MirrorRow_Any_MSA(const uint8* src, uint8* dst, int width); | |
817 | 823 |
818 void MirrorUVRow_SSSE3(const uint8* src_uv, uint8* dst_u, uint8* dst_v, | 824 void MirrorUVRow_SSSE3(const uint8* src_uv, uint8* dst_u, uint8* dst_v, |
819 int width); | 825 int width); |
820 void MirrorUVRow_NEON(const uint8* src_uv, uint8* dst_u, uint8* dst_v, | 826 void MirrorUVRow_NEON(const uint8* src_uv, uint8* dst_u, uint8* dst_v, |
821 int width); | 827 int width); |
822 void MirrorUVRow_DSPR2(const uint8* src_uv, uint8* dst_u, uint8* dst_v, | 828 void MirrorUVRow_DSPR2(const uint8* src_uv, uint8* dst_u, uint8* dst_v, |
823 int width); | 829 int width); |
824 void MirrorUVRow_C(const uint8* src_uv, uint8* dst_u, uint8* dst_v, int width); | 830 void MirrorUVRow_C(const uint8* src_uv, uint8* dst_u, uint8* dst_v, int width); |
825 | 831 |
826 void ARGBMirrorRow_AVX2(const uint8* src, uint8* dst, int width); | 832 void ARGBMirrorRow_AVX2(const uint8* src, uint8* dst, int width); |
(...skipping 1108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1935 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 1941 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
1936 int width, | 1942 int width, |
1937 const uint8* luma, uint32 lumacoeff); | 1943 const uint8* luma, uint32 lumacoeff); |
1938 | 1944 |
1939 #ifdef __cplusplus | 1945 #ifdef __cplusplus |
1940 } // extern "C" | 1946 } // extern "C" |
1941 } // namespace libyuv | 1947 } // namespace libyuv |
1942 #endif | 1948 #endif |
1943 | 1949 |
1944 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT | 1950 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT |
OLD | NEW |