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 2258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2269 dst_frame[0] = src_u[0]; | 2269 dst_frame[0] = src_u[0]; |
2270 dst_frame[1] = src_y[0]; | 2270 dst_frame[1] = src_y[0]; |
2271 dst_frame[2] = src_v[0]; | 2271 dst_frame[2] = src_v[0]; |
2272 dst_frame[3] = 0; | 2272 dst_frame[3] = 0; |
2273 } | 2273 } |
2274 } | 2274 } |
2275 | 2275 |
2276 extern struct YuvConstants kYuvConstants; | 2276 extern struct YuvConstants kYuvConstants; |
2277 extern struct YuvConstants kYuvJConstants; | 2277 extern struct YuvConstants kYuvJConstants; |
2278 extern struct YuvConstants kYuvHConstants; | 2278 extern struct YuvConstants kYuvHConstants; |
| 2279 extern struct YuvConstantsNEON kYuvConstantsNEON; |
2279 | 2280 |
2280 #define ANYYUV(NAMEANY, ANY_SIMD, YUVCONSTANTS) \ | 2281 #define ANYYUV(NAMEANY, ANY_SIMD, YUVCONSTANTS) \ |
2281 void NAMEANY(const uint8* y_buf, \ | 2282 void NAMEANY(const uint8* y_buf, \ |
2282 const uint8* u_buf, \ | 2283 const uint8* u_buf, \ |
2283 const uint8* v_buf, \ | 2284 const uint8* v_buf, \ |
2284 uint8* dst_argb, \ | 2285 uint8* dst_argb, \ |
2285 int width) { \ | 2286 int width) { \ |
2286 ANY_SIMD(y_buf, u_buf, v_buf, dst_argb, &YUVCONSTANTS, width); \ | 2287 ANY_SIMD(y_buf, u_buf, v_buf, dst_argb, &YUVCONSTANTS, width); \ |
2287 } | 2288 } |
2288 | 2289 |
| 2290 #ifdef HAS_I422TOARGBMATRIXROW_NEON |
| 2291 ANYYUV(I422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvConstantsNEON) |
| 2292 //ANYYUV(J422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvJConstantsNEON) |
| 2293 //ANYYUV(H422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvHConstantsNEON) |
| 2294 #endif |
| 2295 |
2289 #ifdef HAS_I422TOARGBMATRIXROW_SSSE3 | 2296 #ifdef HAS_I422TOARGBMATRIXROW_SSSE3 |
2290 ANYYUV(I422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvConstants) | 2297 ANYYUV(I422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvConstants) |
2291 ANYYUV(J422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvJConstants) | 2298 ANYYUV(J422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvJConstants) |
2292 ANYYUV(H422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvHConstants) | 2299 ANYYUV(H422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvHConstants) |
2293 #endif | 2300 #endif |
2294 #ifdef HAS_I422TOARGBMATRIXROW_AVX2 | 2301 #ifdef HAS_I422TOARGBMATRIXROW_AVX2 |
2295 ANYYUV(I422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvConstants) | 2302 ANYYUV(I422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvConstants) |
2296 ANYYUV(J422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvJConstants) | 2303 ANYYUV(J422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvJConstants) |
2297 ANYYUV(H422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvHConstants) | 2304 ANYYUV(H422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvHConstants) |
2298 #endif | 2305 #endif |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2718 } | 2725 } |
2719 if (width & 1) { | 2726 if (width & 1) { |
2720 dst[3] = src[0]; | 2727 dst[3] = src[0]; |
2721 } | 2728 } |
2722 } | 2729 } |
2723 | 2730 |
2724 #ifdef __cplusplus | 2731 #ifdef __cplusplus |
2725 } // extern "C" | 2732 } // extern "C" |
2726 } // namespace libyuv | 2733 } // namespace libyuv |
2727 #endif | 2734 #endif |
OLD | NEW |