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 1823 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1834 "vpermq $0xd8,%%ymm0,%%ymm0 \n" \ | 1834 "vpermq $0xd8,%%ymm0,%%ymm0 \n" \ |
1835 "vpunpcklwd %%ymm0,%%ymm0,%%ymm0 \n" \ | 1835 "vpunpcklwd %%ymm0,%%ymm0,%%ymm0 \n" \ |
1836 "vmovdqu " MEMACCESS([y_buf]) ",%%xmm4 \n" \ | 1836 "vmovdqu " MEMACCESS([y_buf]) ",%%xmm4 \n" \ |
1837 "vpermq $0xd8,%%ymm4,%%ymm4 \n" \ | 1837 "vpermq $0xd8,%%ymm4,%%ymm4 \n" \ |
1838 "vpunpcklbw %%ymm4,%%ymm4,%%ymm4 \n" \ | 1838 "vpunpcklbw %%ymm4,%%ymm4,%%ymm4 \n" \ |
1839 "lea " MEMLEA(0x10, [y_buf]) ",%[y_buf] \n" | 1839 "lea " MEMLEA(0x10, [y_buf]) ",%[y_buf] \n" |
1840 | 1840 |
1841 // Read 8 UV from NV12, upsample to 16 UV. | 1841 // Read 8 UV from NV12, upsample to 16 UV. |
1842 #define READNV12_AVX2 \ | 1842 #define READNV12_AVX2 \ |
1843 "vmovdqu " MEMACCESS([uv_buf]) ",%%xmm0 \n" \ | 1843 "vmovdqu " MEMACCESS([uv_buf]) ",%%xmm0 \n" \ |
1844 "lea " MEMLEA(0x16, [uv_buf]) ",%[uv_buf] \n" \ | 1844 "lea " MEMLEA(0x10, [uv_buf]) ",%[uv_buf] \n" \ |
1845 "vpermq $0xd8,%%ymm0,%%ymm0 \n" \ | 1845 "vpermq $0xd8,%%ymm0,%%ymm0 \n" \ |
1846 "vpunpcklwd %%ymm0,%%ymm0,%%ymm0 \n" \ | 1846 "vpunpcklwd %%ymm0,%%ymm0,%%ymm0 \n" \ |
1847 "vmovdqu " MEMACCESS([y_buf]) ",%%xmm4 \n" \ | 1847 "vmovdqu " MEMACCESS([y_buf]) ",%%xmm4 \n" \ |
1848 "vpermq $0xd8,%%ymm4,%%ymm4 \n" \ | 1848 "vpermq $0xd8,%%ymm4,%%ymm4 \n" \ |
1849 "vpunpcklbw %%ymm4,%%ymm4,%%ymm4 \n" \ | 1849 "vpunpcklbw %%ymm4,%%ymm4,%%ymm4 \n" \ |
1850 "lea " MEMLEA(0x10, [y_buf]) ",%[y_buf] \n" | 1850 "lea " MEMLEA(0x10, [y_buf]) ",%[y_buf] \n" |
1851 | 1851 |
1852 // Read 8 YUY2 with 16 Y and upsample 8 UV to 16 UV. | 1852 // Read 8 YUY2 with 16 Y and upsample 8 UV to 16 UV. |
1853 #define READYUY2_AVX2 \ | 1853 #define READYUY2_AVX2 \ |
1854 "vmovdqu " MEMACCESS([yuy2_buf]) ",%%ymm4 \n" \ | 1854 "vmovdqu " MEMACCESS([yuy2_buf]) ",%%ymm4 \n" \ |
(...skipping 3561 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5416 ); | 5416 ); |
5417 } | 5417 } |
5418 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3 | 5418 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3 |
5419 | 5419 |
5420 #endif // defined(__x86_64__) || defined(__i386__) | 5420 #endif // defined(__x86_64__) || defined(__i386__) |
5421 | 5421 |
5422 #ifdef __cplusplus | 5422 #ifdef __cplusplus |
5423 } // extern "C" | 5423 } // extern "C" |
5424 } // namespace libyuv | 5424 } // namespace libyuv |
5425 #endif | 5425 #endif |
OLD | NEW |