| OLD | NEW |
| 1 // VERSION 2 | 1 // VERSION 2 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 The LibYuv Project Authors. All rights reserved. | 3 * Copyright 2011 The LibYuv Project Authors. All rights reserved. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license | 5 * Use of this source code is governed by a BSD-style license |
| 6 * that can be found in the LICENSE file in the root of the source | 6 * that can be found in the LICENSE file in the root of the source |
| 7 * tree. An additional intellectual property rights grant can be found | 7 * tree. An additional intellectual property rights grant can be found |
| 8 * in the file PATENTS. All contributing project authors may | 8 * in the file PATENTS. All contributing project authors may |
| 9 * be found in the AUTHORS file in the root of the source tree. | 9 * be found in the AUTHORS file in the root of the source tree. |
| 10 */ | 10 */ |
| (...skipping 1690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1701 "palignr $0xc,%%xmm0,%%xmm1 \n" | 1701 "palignr $0xc,%%xmm0,%%xmm1 \n" |
| 1702 "movq %%xmm0," MEMACCESS([dst_rgb24]) "\n" | 1702 "movq %%xmm0," MEMACCESS([dst_rgb24]) "\n" |
| 1703 "movdqu %%xmm1," MEMACCESS2(0x8,[dst_rgb24]) "\n" | 1703 "movdqu %%xmm1," MEMACCESS2(0x8,[dst_rgb24]) "\n" |
| 1704 "lea " MEMLEA(0x18,[dst_rgb24]) ",%[dst_rgb24] \n" | 1704 "lea " MEMLEA(0x18,[dst_rgb24]) ",%[dst_rgb24] \n" |
| 1705 "subl $0x8,%[width] \n" | 1705 "subl $0x8,%[width] \n" |
| 1706 "jg 1b \n" | 1706 "jg 1b \n" |
| 1707 : [y_buf]"+r"(y_buf), // %[y_buf] | 1707 : [y_buf]"+r"(y_buf), // %[y_buf] |
| 1708 [u_buf]"+r"(u_buf), // %[u_buf] | 1708 [u_buf]"+r"(u_buf), // %[u_buf] |
| 1709 [v_buf]"+r"(v_buf), // %[v_buf] | 1709 [v_buf]"+r"(v_buf), // %[v_buf] |
| 1710 [dst_rgb24]"+r"(dst_rgb24), // %[dst_rgb24] | 1710 [dst_rgb24]"+r"(dst_rgb24), // %[dst_rgb24] |
| 1711 #if defined(__i386__) && defined(__pic__) | 1711 #if defined(__i386__) |
| 1712 [width]"+m"(width) // %[width] | 1712 [width]"+m"(width) // %[width] |
| 1713 #else | 1713 #else |
| 1714 [width]"+rm"(width) // %[width] | 1714 [width]"+rm"(width) // %[width] |
| 1715 #endif | 1715 #endif |
| 1716 : [yuvconstants]"r"(yuvconstants), // %[yuvconstants] | 1716 : [yuvconstants]"r"(yuvconstants), // %[yuvconstants] |
| 1717 [kShuffleMaskARGBToRGB24_0]"m"(kShuffleMaskARGBToRGB24_0), | 1717 [kShuffleMaskARGBToRGB24_0]"m"(kShuffleMaskARGBToRGB24_0), |
| 1718 [kShuffleMaskARGBToRGB24]"m"(kShuffleMaskARGBToRGB24) | 1718 [kShuffleMaskARGBToRGB24]"m"(kShuffleMaskARGBToRGB24) |
| 1719 : "memory", "cc", NACL_R14 YUVTORGB_REGS | 1719 : "memory", "cc", NACL_R14 YUVTORGB_REGS |
| 1720 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6" | 1720 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6" |
| 1721 ); | 1721 ); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1765 READYUVA422 | 1765 READYUVA422 |
| 1766 YUVTORGB(yuvconstants) | 1766 YUVTORGB(yuvconstants) |
| 1767 STOREARGB | 1767 STOREARGB |
| 1768 "subl $0x8,%[width] \n" | 1768 "subl $0x8,%[width] \n" |
| 1769 "jg 1b \n" | 1769 "jg 1b \n" |
| 1770 : [y_buf]"+r"(y_buf), // %[y_buf] | 1770 : [y_buf]"+r"(y_buf), // %[y_buf] |
| 1771 [u_buf]"+r"(u_buf), // %[u_buf] | 1771 [u_buf]"+r"(u_buf), // %[u_buf] |
| 1772 [v_buf]"+r"(v_buf), // %[v_buf] | 1772 [v_buf]"+r"(v_buf), // %[v_buf] |
| 1773 [a_buf]"+r"(a_buf), // %[a_buf] | 1773 [a_buf]"+r"(a_buf), // %[a_buf] |
| 1774 [dst_argb]"+r"(dst_argb), // %[dst_argb] | 1774 [dst_argb]"+r"(dst_argb), // %[dst_argb] |
| 1775 #if defined(__i386__) && defined(__pic__) | 1775 #if defined(__i386__) |
| 1776 [width]"+m"(width) // %[width] | 1776 [width]"+m"(width) // %[width] |
| 1777 #else | 1777 #else |
| 1778 [width]"+rm"(width) // %[width] | 1778 [width]"+rm"(width) // %[width] |
| 1779 #endif | 1779 #endif |
| 1780 : [yuvconstants]"r"(yuvconstants) // %[yuvconstants] | 1780 : [yuvconstants]"r"(yuvconstants) // %[yuvconstants] |
| 1781 : "memory", "cc", NACL_R14 YUVTORGB_REGS | 1781 : "memory", "cc", NACL_R14 YUVTORGB_REGS |
| 1782 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5" | 1782 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5" |
| 1783 ); | 1783 ); |
| 1784 } | 1784 } |
| 1785 #endif // HAS_I422ALPHATOARGBROW_SSSE3 | 1785 #endif // HAS_I422ALPHATOARGBROW_SSSE3 |
| (...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2145 YUVTORGB_AVX2(yuvconstants) | 2145 YUVTORGB_AVX2(yuvconstants) |
| 2146 STOREARGB_AVX2 | 2146 STOREARGB_AVX2 |
| 2147 "subl $0x10,%[width] \n" | 2147 "subl $0x10,%[width] \n" |
| 2148 "jg 1b \n" | 2148 "jg 1b \n" |
| 2149 "vzeroupper \n" | 2149 "vzeroupper \n" |
| 2150 : [y_buf]"+r"(y_buf), // %[y_buf] | 2150 : [y_buf]"+r"(y_buf), // %[y_buf] |
| 2151 [u_buf]"+r"(u_buf), // %[u_buf] | 2151 [u_buf]"+r"(u_buf), // %[u_buf] |
| 2152 [v_buf]"+r"(v_buf), // %[v_buf] | 2152 [v_buf]"+r"(v_buf), // %[v_buf] |
| 2153 [a_buf]"+r"(a_buf), // %[a_buf] | 2153 [a_buf]"+r"(a_buf), // %[a_buf] |
| 2154 [dst_argb]"+r"(dst_argb), // %[dst_argb] | 2154 [dst_argb]"+r"(dst_argb), // %[dst_argb] |
| 2155 #if defined(__i386__) && defined(__pic__) | 2155 #if defined(__i386__) |
| 2156 [width]"+m"(width) // %[width] | 2156 [width]"+m"(width) // %[width] |
| 2157 #else | 2157 #else |
| 2158 [width]"+rm"(width) // %[width] | 2158 [width]"+rm"(width) // %[width] |
| 2159 #endif | 2159 #endif |
| 2160 : [yuvconstants]"r"(yuvconstants) // %[yuvconstants] | 2160 : [yuvconstants]"r"(yuvconstants) // %[yuvconstants] |
| 2161 : "memory", "cc", NACL_R14 YUVTORGB_REGS_AVX2 | 2161 : "memory", "cc", NACL_R14 YUVTORGB_REGS_AVX2 |
| 2162 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5" | 2162 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5" |
| 2163 ); | 2163 ); |
| 2164 } | 2164 } |
| 2165 #endif // HAS_I422ALPHATOARGBROW_AVX2 | 2165 #endif // HAS_I422ALPHATOARGBROW_AVX2 |
| (...skipping 3433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5599 ); | 5599 ); |
| 5600 } | 5600 } |
| 5601 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3 | 5601 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3 |
| 5602 | 5602 |
| 5603 #endif // defined(__x86_64__) || defined(__i386__) | 5603 #endif // defined(__x86_64__) || defined(__i386__) |
| 5604 | 5604 |
| 5605 #ifdef __cplusplus | 5605 #ifdef __cplusplus |
| 5606 } // extern "C" | 5606 } // extern "C" |
| 5607 } // namespace libyuv | 5607 } // namespace libyuv |
| 5608 #endif | 5608 #endif |
| OLD | NEW |