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 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
383 #define HAS_I422TOARGBROW_MSA | 383 #define HAS_I422TOARGBROW_MSA |
384 #define HAS_I422TORGBAROW_MSA | 384 #define HAS_I422TORGBAROW_MSA |
385 #define HAS_I422ALPHATOARGBROW_MSA | 385 #define HAS_I422ALPHATOARGBROW_MSA |
386 #define HAS_I422TORGB24ROW_MSA | 386 #define HAS_I422TORGB24ROW_MSA |
387 #define HAS_ARGBTORGB24ROW_MSA | 387 #define HAS_ARGBTORGB24ROW_MSA |
388 #define HAS_ARGBTORAWROW_MSA | 388 #define HAS_ARGBTORAWROW_MSA |
389 #define HAS_ARGBTORGB565ROW_MSA | 389 #define HAS_ARGBTORGB565ROW_MSA |
390 #define HAS_ARGBTOARGB1555ROW_MSA | 390 #define HAS_ARGBTOARGB1555ROW_MSA |
391 #define HAS_ARGBTOARGB4444ROW_MSA | 391 #define HAS_ARGBTOARGB4444ROW_MSA |
392 #define HAS_ARGBTOUV444ROW_MSA | 392 #define HAS_ARGBTOUV444ROW_MSA |
| 393 #define HAS_ARGBMULTIPLYROW_MSA |
| 394 #define HAS_ARGBADDROW_MSA |
| 395 #define HAS_ARGBSUBTRACTROW_MSA |
393 #endif | 396 #endif |
394 | 397 |
395 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) | 398 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) |
396 #if defined(VISUALC_HAS_AVX2) | 399 #if defined(VISUALC_HAS_AVX2) |
397 #define SIMD_ALIGNED(var) __declspec(align(32)) var | 400 #define SIMD_ALIGNED(var) __declspec(align(32)) var |
398 #else | 401 #else |
399 #define SIMD_ALIGNED(var) __declspec(align(16)) var | 402 #define SIMD_ALIGNED(var) __declspec(align(16)) var |
400 #endif | 403 #endif |
401 typedef __declspec(align(16)) int16 vec16[8]; | 404 typedef __declspec(align(16)) int16 vec16[8]; |
402 typedef __declspec(align(16)) int32 vec32[4]; | 405 typedef __declspec(align(16)) int32 vec32[4]; |
(...skipping 1399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1802 uint8* dst_argb, | 1805 uint8* dst_argb, |
1803 int width); | 1806 int width); |
1804 void ARGBMultiplyRow_NEON(const uint8* src_argb, | 1807 void ARGBMultiplyRow_NEON(const uint8* src_argb, |
1805 const uint8* src_argb1, | 1808 const uint8* src_argb1, |
1806 uint8* dst_argb, | 1809 uint8* dst_argb, |
1807 int width); | 1810 int width); |
1808 void ARGBMultiplyRow_Any_NEON(const uint8* src_argb, | 1811 void ARGBMultiplyRow_Any_NEON(const uint8* src_argb, |
1809 const uint8* src_argb1, | 1812 const uint8* src_argb1, |
1810 uint8* dst_argb, | 1813 uint8* dst_argb, |
1811 int width); | 1814 int width); |
| 1815 void ARGBMultiplyRow_MSA(const uint8* src_argb, |
| 1816 const uint8* src_argb1, |
| 1817 uint8* dst_argb, |
| 1818 int width); |
| 1819 void ARGBMultiplyRow_Any_MSA(const uint8* src_argb, |
| 1820 const uint8* src_argb1, |
| 1821 uint8* dst_argb, |
| 1822 int width); |
1812 | 1823 |
1813 // ARGB add images. | 1824 // ARGB add images. |
1814 void ARGBAddRow_C(const uint8* src_argb, | 1825 void ARGBAddRow_C(const uint8* src_argb, |
1815 const uint8* src_argb1, | 1826 const uint8* src_argb1, |
1816 uint8* dst_argb, | 1827 uint8* dst_argb, |
1817 int width); | 1828 int width); |
1818 void ARGBAddRow_SSE2(const uint8* src_argb, | 1829 void ARGBAddRow_SSE2(const uint8* src_argb, |
1819 const uint8* src_argb1, | 1830 const uint8* src_argb1, |
1820 uint8* dst_argb, | 1831 uint8* dst_argb, |
1821 int width); | 1832 int width); |
(...skipping 10 matching lines...) Expand all Loading... |
1832 uint8* dst_argb, | 1843 uint8* dst_argb, |
1833 int width); | 1844 int width); |
1834 void ARGBAddRow_NEON(const uint8* src_argb, | 1845 void ARGBAddRow_NEON(const uint8* src_argb, |
1835 const uint8* src_argb1, | 1846 const uint8* src_argb1, |
1836 uint8* dst_argb, | 1847 uint8* dst_argb, |
1837 int width); | 1848 int width); |
1838 void ARGBAddRow_Any_NEON(const uint8* src_argb, | 1849 void ARGBAddRow_Any_NEON(const uint8* src_argb, |
1839 const uint8* src_argb1, | 1850 const uint8* src_argb1, |
1840 uint8* dst_argb, | 1851 uint8* dst_argb, |
1841 int width); | 1852 int width); |
| 1853 void ARGBAddRow_MSA(const uint8* src_argb, |
| 1854 const uint8* src_argb1, |
| 1855 uint8* dst_argb, |
| 1856 int width); |
| 1857 void ARGBAddRow_Any_MSA(const uint8* src_argb, |
| 1858 const uint8* src_argb1, |
| 1859 uint8* dst_argb, |
| 1860 int width); |
1842 | 1861 |
1843 // ARGB subtract images. Same API as Blend, but these require | 1862 // ARGB subtract images. Same API as Blend, but these require |
1844 // pointer and width alignment for SSE2. | 1863 // pointer and width alignment for SSE2. |
1845 void ARGBSubtractRow_C(const uint8* src_argb, | 1864 void ARGBSubtractRow_C(const uint8* src_argb, |
1846 const uint8* src_argb1, | 1865 const uint8* src_argb1, |
1847 uint8* dst_argb, | 1866 uint8* dst_argb, |
1848 int width); | 1867 int width); |
1849 void ARGBSubtractRow_SSE2(const uint8* src_argb, | 1868 void ARGBSubtractRow_SSE2(const uint8* src_argb, |
1850 const uint8* src_argb1, | 1869 const uint8* src_argb1, |
1851 uint8* dst_argb, | 1870 uint8* dst_argb, |
(...skipping 11 matching lines...) Expand all Loading... |
1863 uint8* dst_argb, | 1882 uint8* dst_argb, |
1864 int width); | 1883 int width); |
1865 void ARGBSubtractRow_NEON(const uint8* src_argb, | 1884 void ARGBSubtractRow_NEON(const uint8* src_argb, |
1866 const uint8* src_argb1, | 1885 const uint8* src_argb1, |
1867 uint8* dst_argb, | 1886 uint8* dst_argb, |
1868 int width); | 1887 int width); |
1869 void ARGBSubtractRow_Any_NEON(const uint8* src_argb, | 1888 void ARGBSubtractRow_Any_NEON(const uint8* src_argb, |
1870 const uint8* src_argb1, | 1889 const uint8* src_argb1, |
1871 uint8* dst_argb, | 1890 uint8* dst_argb, |
1872 int width); | 1891 int width); |
| 1892 void ARGBSubtractRow_MSA(const uint8* src_argb, |
| 1893 const uint8* src_argb1, |
| 1894 uint8* dst_argb, |
| 1895 int width); |
| 1896 void ARGBSubtractRow_Any_MSA(const uint8* src_argb, |
| 1897 const uint8* src_argb1, |
| 1898 uint8* dst_argb, |
| 1899 int width); |
1873 | 1900 |
1874 void ARGBToRGB24Row_Any_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); | 1901 void ARGBToRGB24Row_Any_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); |
1875 void ARGBToRAWRow_Any_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); | 1902 void ARGBToRAWRow_Any_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); |
1876 void ARGBToRGB565Row_Any_SSE2(const uint8* src_argb, uint8* dst_rgb, int width); | 1903 void ARGBToRGB565Row_Any_SSE2(const uint8* src_argb, uint8* dst_rgb, int width); |
1877 void ARGBToARGB1555Row_Any_SSE2(const uint8* src_argb, | 1904 void ARGBToARGB1555Row_Any_SSE2(const uint8* src_argb, |
1878 uint8* dst_rgb, | 1905 uint8* dst_rgb, |
1879 int width); | 1906 int width); |
1880 void ARGBToARGB4444Row_Any_SSE2(const uint8* src_argb, | 1907 void ARGBToARGB4444Row_Any_SSE2(const uint8* src_argb, |
1881 uint8* dst_rgb, | 1908 uint8* dst_rgb, |
1882 int width); | 1909 int width); |
(...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2632 int width, | 2659 int width, |
2633 const uint8* luma, | 2660 const uint8* luma, |
2634 uint32 lumacoeff); | 2661 uint32 lumacoeff); |
2635 | 2662 |
2636 #ifdef __cplusplus | 2663 #ifdef __cplusplus |
2637 } // extern "C" | 2664 } // extern "C" |
2638 } // namespace libyuv | 2665 } // namespace libyuv |
2639 #endif | 2666 #endif |
2640 | 2667 |
2641 #endif // INCLUDE_LIBYUV_ROW_H_ | 2668 #endif // INCLUDE_LIBYUV_ROW_H_ |
OLD | NEW |