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 1795 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1806 int temp = 0; | 1806 int temp = 0; |
1807 asm volatile ( | 1807 asm volatile ( |
1808 YUVTORGB_SETUP(yuvconstants) | 1808 YUVTORGB_SETUP(yuvconstants) |
1809 "sub %[u_buf],%[v_buf] \n" | 1809 "sub %[u_buf],%[v_buf] \n" |
1810 "pcmpeqb %%xmm5,%%xmm5 \n" | 1810 "pcmpeqb %%xmm5,%%xmm5 \n" |
1811 LABELALIGN | 1811 LABELALIGN |
1812 "1: \n" | 1812 "1: \n" |
1813 READYUV411_TEMP | 1813 READYUV411_TEMP |
1814 YUVTORGB(yuvconstants) | 1814 YUVTORGB(yuvconstants) |
1815 STOREARGB | 1815 STOREARGB |
1816 "sub $0x8,%[width] \n" | 1816 "subl $0x8,%[width] \n" |
1817 "jg 1b \n" | 1817 "jg 1b \n" |
1818 : [y_buf]"+r"(y_buf), // %[y_buf] | 1818 : [y_buf]"+r"(y_buf), // %[y_buf] |
1819 [u_buf]"+r"(u_buf), // %[u_buf] | 1819 [u_buf]"+r"(u_buf), // %[u_buf] |
1820 [v_buf]"+r"(v_buf), // %[v_buf] | 1820 [v_buf]"+r"(v_buf), // %[v_buf] |
1821 [dst_argb]"+r"(dst_argb), // %[dst_argb] | 1821 [dst_argb]"+r"(dst_argb), // %[dst_argb] |
1822 [temp]"+r"(temp), // %[temp] | 1822 [temp]"+r"(temp), // %[temp] |
| 1823 #if defined(__i386__) && defined(__pic__) |
| 1824 [width]"+m"(width) // %[width] |
| 1825 #else |
1823 [width]"+rm"(width) // %[width] | 1826 [width]"+rm"(width) // %[width] |
| 1827 #endif |
1824 : [yuvconstants]"r"(yuvconstants) // %[yuvconstants] | 1828 : [yuvconstants]"r"(yuvconstants) // %[yuvconstants] |
1825 : "memory", "cc", NACL_R14 YUVTORGB_REGS | 1829 : "memory", "cc", NACL_R14 YUVTORGB_REGS |
1826 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5" | 1830 "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5" |
1827 ); | 1831 ); |
1828 } | 1832 } |
1829 #endif | 1833 #endif |
1830 | 1834 |
1831 void OMITFP NV12ToARGBRow_SSSE3(const uint8* y_buf, | 1835 void OMITFP NV12ToARGBRow_SSSE3(const uint8* y_buf, |
1832 const uint8* uv_buf, | 1836 const uint8* uv_buf, |
1833 uint8* dst_argb, | 1837 uint8* dst_argb, |
(...skipping 3763 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5597 ); | 5601 ); |
5598 } | 5602 } |
5599 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3 | 5603 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3 |
5600 | 5604 |
5601 #endif // defined(__x86_64__) || defined(__i386__) | 5605 #endif // defined(__x86_64__) || defined(__i386__) |
5602 | 5606 |
5603 #ifdef __cplusplus | 5607 #ifdef __cplusplus |
5604 } // extern "C" | 5608 } // extern "C" |
5605 } // namespace libyuv | 5609 } // namespace libyuv |
5606 #endif | 5610 #endif |
OLD | NEW |