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 2260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 extern struct YuvConstantsNEON kYuvConstantsNEON; |
2280 extern struct YuvConstantsNEON kYuvJConstantsNEON; | 2280 extern struct YuvConstantsNEON kYuvJConstantsNEON; |
| 2281 extern struct YuvConstantsNEON kYuvHConstantsNEON; |
2281 | 2282 |
2282 #define ANYYUV(NAMEANY, ANY_SIMD, YUVCONSTANTS) \ | 2283 #define ANYYUV(NAMEANY, ANY_SIMD, YUVCONSTANTS) \ |
2283 void NAMEANY(const uint8* y_buf, \ | 2284 void NAMEANY(const uint8* y_buf, \ |
2284 const uint8* u_buf, \ | 2285 const uint8* u_buf, \ |
2285 const uint8* v_buf, \ | 2286 const uint8* v_buf, \ |
2286 uint8* dst_argb, \ | 2287 uint8* dst_argb, \ |
2287 int width) { \ | 2288 int width) { \ |
2288 ANY_SIMD(y_buf, u_buf, v_buf, dst_argb, &YUVCONSTANTS, width); \ | 2289 ANY_SIMD(y_buf, u_buf, v_buf, dst_argb, &YUVCONSTANTS, width); \ |
2289 } | 2290 } |
2290 | 2291 |
2291 #ifdef HAS_I422TOARGBMATRIXROW_NEON | 2292 #ifdef HAS_I422TOARGBMATRIXROW_NEON |
2292 ANYYUV(I422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvConstantsNEON) | 2293 ANYYUV(I422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvConstantsNEON) |
2293 ANYYUV(J422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvJConstantsNEON) | 2294 ANYYUV(J422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvJConstantsNEON) |
2294 //ANYYUV(H422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvHConstantsNEON) | 2295 ANYYUV(H422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvHConstantsNEON) |
2295 #endif | 2296 #endif |
2296 | 2297 |
2297 #ifdef HAS_I422TOARGBMATRIXROW_SSSE3 | 2298 #ifdef HAS_I422TOARGBMATRIXROW_SSSE3 |
2298 ANYYUV(I422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvConstants) | 2299 ANYYUV(I422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvConstants) |
2299 ANYYUV(J422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvJConstants) | 2300 ANYYUV(J422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvJConstants) |
2300 ANYYUV(H422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvHConstants) | 2301 ANYYUV(H422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvHConstants) |
2301 #endif | 2302 #endif |
2302 #ifdef HAS_I422TOARGBMATRIXROW_AVX2 | 2303 #ifdef HAS_I422TOARGBMATRIXROW_AVX2 |
2303 ANYYUV(I422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvConstants) | 2304 ANYYUV(I422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvConstants) |
2304 ANYYUV(J422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvJConstants) | 2305 ANYYUV(J422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvJConstants) |
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2726 } | 2727 } |
2727 if (width & 1) { | 2728 if (width & 1) { |
2728 dst[3] = src[0]; | 2729 dst[3] = src[0]; |
2729 } | 2730 } |
2730 } | 2731 } |
2731 | 2732 |
2732 #ifdef __cplusplus | 2733 #ifdef __cplusplus |
2733 } // extern "C" | 2734 } // extern "C" |
2734 } // namespace libyuv | 2735 } // namespace libyuv |
2735 #endif | 2736 #endif |
OLD | NEW |