Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(963)

Side by Side Diff: source/row_win.cc

Issue 2105603002: mingw64 fix (Closed) Base URL: https://chromium.googlesource.com/libyuv/libyuv@master
Patch Set: row.h fix for mingw as well Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « include/libyuv/version.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
11 #include "libyuv/row.h" 11 #include "libyuv/row.h"
12 12
13 #if !defined(LIBYUV_DISABLE_X86) && defined(_M_X64) && \ 13 // This module is for Visual C 32/64 bit and clangcl 32 bit
14 defined(_MSC_VER) && !defined(__clang__) 14 #if !defined(LIBYUV_DISABLE_X86) && defined(_MSC_VER) && \
15 (defined(_M_IX86) || (defined(_M_X64) && !defined(__clang__)))
16
17 #if defined(_M_X64)
15 #include <emmintrin.h> 18 #include <emmintrin.h>
16 #include <tmmintrin.h> // For _mm_maddubs_epi16 19 #include <tmmintrin.h> // For _mm_maddubs_epi16
17 #endif 20 #endif
18 21
19 #ifdef __cplusplus 22 #ifdef __cplusplus
20 namespace libyuv { 23 namespace libyuv {
21 extern "C" { 24 extern "C" {
22 #endif 25 #endif
23 26
24 // This module is for Visual C 32/64 bit and clangcl 32 bit
25 #if !defined(LIBYUV_DISABLE_X86) && \
26 (defined(_M_IX86) || (defined(_M_X64) && !defined(__clang__)))
27
28 // 64 bit 27 // 64 bit
29 #if defined(_M_X64) 28 #if defined(_M_X64)
30 29
31 // Read 4 UV from 422, upsample to 8 UV. 30 // Read 4 UV from 422, upsample to 8 UV.
32 #define READYUV422 \ 31 #define READYUV422 \
33 xmm0 = _mm_cvtsi32_si128(*(uint32*)u_buf); \ 32 xmm0 = _mm_cvtsi32_si128(*(uint32*)u_buf); \
34 xmm1 = _mm_cvtsi32_si128(*(uint32*)(u_buf + offset)); \ 33 xmm1 = _mm_cvtsi32_si128(*(uint32*)(u_buf + offset)); \
35 xmm0 = _mm_unpacklo_epi8(xmm0, xmm1); \ 34 xmm0 = _mm_unpacklo_epi8(xmm0, xmm1); \
36 xmm0 = _mm_unpacklo_epi16(xmm0, xmm0); \ 35 xmm0 = _mm_unpacklo_epi16(xmm0, xmm0); \
37 u_buf += 4; \ 36 u_buf += 4; \
(...skipping 6216 matching lines...) Expand 10 before | Expand all | Expand 10 after
6254 jg convertloop 6253 jg convertloop
6255 6254
6256 pop edi 6255 pop edi
6257 pop esi 6256 pop esi
6258 ret 6257 ret
6259 } 6258 }
6260 } 6259 }
6261 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3 6260 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3
6262 6261
6263 #endif // defined(_M_X64) 6262 #endif // defined(_M_X64)
6264 #endif // !defined(LIBYUV_DISABLE_X86) && (defined(_M_IX86) || defined(_M_X64))
6265 6263
6266 #ifdef __cplusplus 6264 #ifdef __cplusplus
6267 } // extern "C" 6265 } // extern "C"
6268 } // namespace libyuv 6266 } // namespace libyuv
6269 #endif 6267 #endif
6268
6269 #endif // !defined(LIBYUV_DISABLE_X86) && (defined(_M_IX86) || defined(_M_X64))
OLDNEW
« no previous file with comments | « include/libyuv/version.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698