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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 #define HAS_I422TOARGBROW_SSSE3 | 110 #define HAS_I422TOARGBROW_SSSE3 |
111 #define HAS_I422TOARGBMATRIXROW_SSSE3 | 111 #define HAS_I422TOARGBMATRIXROW_SSSE3 |
112 #define HAS_I422TOABGRMATRIXROW_SSSE3 | 112 #define HAS_I422TOABGRMATRIXROW_SSSE3 |
113 #define HAS_I422TOBGRAROW_SSSE3 | 113 #define HAS_I422TOBGRAROW_SSSE3 |
114 #define HAS_I422TORAWROW_SSSE3 | 114 #define HAS_I422TORAWROW_SSSE3 |
115 #define HAS_I422TORGB24ROW_SSSE3 | 115 #define HAS_I422TORGB24ROW_SSSE3 |
116 #define HAS_I422TORGB565ROW_SSSE3 | 116 #define HAS_I422TORGB565ROW_SSSE3 |
117 #define HAS_I422TORGBAROW_SSSE3 | 117 #define HAS_I422TORGBAROW_SSSE3 |
118 #define HAS_I422TOUYVYROW_SSE2 | 118 #define HAS_I422TOUYVYROW_SSE2 |
119 #define HAS_I422TOYUY2ROW_SSE2 | 119 #define HAS_I422TOYUY2ROW_SSE2 |
120 #define HAS_I444TOARGBROW_SSSE3 | |
121 #define HAS_J400TOARGBROW_SSE2 | 120 #define HAS_J400TOARGBROW_SSE2 |
122 #define HAS_J422TOARGBROW_SSSE3 | 121 #define HAS_J422TOARGBROW_SSSE3 |
123 #define HAS_J422TOABGRROW_SSSE3 | 122 #define HAS_J422TOABGRROW_SSSE3 |
124 #define HAS_H422TOARGBROW_SSSE3 | 123 #define HAS_H422TOARGBROW_SSSE3 |
125 #define HAS_H422TOABGRROW_SSSE3 | 124 #define HAS_H422TOABGRROW_SSSE3 |
126 #define HAS_MERGEUVROW_SSE2 | 125 #define HAS_MERGEUVROW_SSE2 |
127 #define HAS_MIRRORROW_SSE2 | 126 #define HAS_MIRRORROW_SSE2 |
128 #define HAS_MIRRORROW_SSSE3 | 127 #define HAS_MIRRORROW_SSSE3 |
129 #define HAS_MIRRORROW_UV_SSSE3 | 128 #define HAS_MIRRORROW_UV_SSSE3 |
130 #define HAS_MIRRORUVROW_SSSE3 | 129 #define HAS_MIRRORUVROW_SSSE3 |
(...skipping 12 matching lines...) Expand all Loading... |
143 #define HAS_SETROW_X86 | 142 #define HAS_SETROW_X86 |
144 #define HAS_SPLITUVROW_SSE2 | 143 #define HAS_SPLITUVROW_SSE2 |
145 #define HAS_UYVYTOARGBROW_SSSE3 | 144 #define HAS_UYVYTOARGBROW_SSSE3 |
146 #define HAS_UYVYTOUV422ROW_SSE2 | 145 #define HAS_UYVYTOUV422ROW_SSE2 |
147 #define HAS_UYVYTOUVROW_SSE2 | 146 #define HAS_UYVYTOUVROW_SSE2 |
148 #define HAS_UYVYTOYROW_SSE2 | 147 #define HAS_UYVYTOYROW_SSE2 |
149 #define HAS_YUY2TOARGBROW_SSSE3 | 148 #define HAS_YUY2TOARGBROW_SSSE3 |
150 #define HAS_YUY2TOUV422ROW_SSE2 | 149 #define HAS_YUY2TOUV422ROW_SSE2 |
151 #define HAS_YUY2TOUVROW_SSE2 | 150 #define HAS_YUY2TOUVROW_SSE2 |
152 #define HAS_YUY2TOYROW_SSE2 | 151 #define HAS_YUY2TOYROW_SSE2 |
| 152 #define HAS_I444TOARGBROW_SSSE3 |
| 153 #define HAS_I444TOABGRROW_SSSE3 |
| 154 #define HAS_I444TOARGBMATRIXROW_SSSE3 |
| 155 #define HAS_I444TOABGRMATRIXROW_SSSE3 |
153 | 156 |
154 // Effects: | 157 // Effects: |
155 #define HAS_ARGBADDROW_SSE2 | 158 #define HAS_ARGBADDROW_SSE2 |
156 #define HAS_ARGBAFFINEROW_SSE2 | 159 #define HAS_ARGBAFFINEROW_SSE2 |
157 #define HAS_ARGBATTENUATEROW_SSSE3 | 160 #define HAS_ARGBATTENUATEROW_SSSE3 |
158 #define HAS_ARGBBLENDROW_SSSE3 | 161 #define HAS_ARGBBLENDROW_SSSE3 |
159 #define HAS_ARGBCOLORMATRIXROW_SSSE3 | 162 #define HAS_ARGBCOLORMATRIXROW_SSSE3 |
160 #define HAS_ARGBCOLORTABLEROW_X86 | 163 #define HAS_ARGBCOLORTABLEROW_X86 |
161 #define HAS_ARGBCOPYALPHAROW_SSE2 | 164 #define HAS_ARGBCOPYALPHAROW_SSE2 |
162 #define HAS_ARGBCOPYYTOALPHAROW_SSE2 | 165 #define HAS_ARGBCOPYYTOALPHAROW_SSE2 |
(...skipping 22 matching lines...) Expand all Loading... |
185 // The following are available on x64 Visual C and clangcl. | 188 // The following are available on x64 Visual C and clangcl. |
186 // TODO(fbarchard): Port to gcc. | 189 // TODO(fbarchard): Port to gcc. |
187 #if !defined(LIBYUV_DISABLE_X86) && defined (_M_X64) && \ | 190 #if !defined(LIBYUV_DISABLE_X86) && defined (_M_X64) && \ |
188 (!defined(__clang__) || defined(__SSSE3__)) | 191 (!defined(__clang__) || defined(__SSSE3__)) |
189 #define HAS_I422TOARGBROW_SSSE3 | 192 #define HAS_I422TOARGBROW_SSSE3 |
190 #define HAS_I422TOABGRROW_SSSE3 | 193 #define HAS_I422TOABGRROW_SSSE3 |
191 #define HAS_I422TOARGBMATRIXROW_SSSE3 | 194 #define HAS_I422TOARGBMATRIXROW_SSSE3 |
192 #define HAS_I422TOABGRMATRIXROW_SSSE3 | 195 #define HAS_I422TOABGRMATRIXROW_SSSE3 |
193 #endif | 196 #endif |
194 | 197 |
195 // The following are available for Visual C and clangcl 32 bit: | |
196 // TODO(fbarchard): Port to gcc. | |
197 #if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && \ | |
198 (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2)) | |
199 #define HAS_I444TOABGRROW_SSSE3 | |
200 #define HAS_I444TOARGBMATRIXROW_SSSE3 | |
201 #define HAS_I444TOABGRMATRIXROW_SSSE3 | |
202 #endif | |
203 | |
204 // The following are available for AVX2 Visual C and clangcl 32 bit: | 198 // The following are available for AVX2 Visual C and clangcl 32 bit: |
205 // TODO(fbarchard): Port to gcc. | 199 // TODO(fbarchard): Port to gcc. |
206 #if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && \ | 200 #if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && \ |
207 (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2)) | 201 (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2)) |
208 #define HAS_ARGB1555TOARGBROW_AVX2 | 202 #define HAS_ARGB1555TOARGBROW_AVX2 |
209 #define HAS_ARGB4444TOARGBROW_AVX2 | 203 #define HAS_ARGB4444TOARGBROW_AVX2 |
210 #define HAS_ARGBTOARGB1555ROW_AVX2 | 204 #define HAS_ARGBTOARGB1555ROW_AVX2 |
211 #define HAS_ARGBTOARGB4444ROW_AVX2 | 205 #define HAS_ARGBTOARGB4444ROW_AVX2 |
212 #define HAS_ARGBTORGB565DITHERROW_AVX2 | 206 #define HAS_ARGBTORGB565DITHERROW_AVX2 |
213 #define HAS_ARGBTORGB565DITHERROW_SSE2 | 207 #define HAS_ARGBTORGB565DITHERROW_SSE2 |
(...skipping 1909 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2123 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 2117 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
2124 int width, | 2118 int width, |
2125 const uint8* luma, uint32 lumacoeff); | 2119 const uint8* luma, uint32 lumacoeff); |
2126 | 2120 |
2127 #ifdef __cplusplus | 2121 #ifdef __cplusplus |
2128 } // extern "C" | 2122 } // extern "C" |
2129 } // namespace libyuv | 2123 } // namespace libyuv |
2130 #endif | 2124 #endif |
2131 | 2125 |
2132 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT | 2126 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT |
OLD | NEW |