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

Side by Side Diff: source/row_common.cc

Issue 1337973002: neon yuv matrix function (Closed) Base URL: https://chromium.googlesource.com/libyuv/libyuv@master
Patch Set: Created 5 years, 3 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') | source/row_neon.cc » ('j') | 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
(...skipping 2258 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW
« no previous file with comments | « include/libyuv/version.h ('k') | source/row_neon.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698