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

Side by Side Diff: source/row_common.cc

Issue 1334173005: Add J422ToARGB armv7 neon version. (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 | « source/row_any.cc ('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 2259 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 extern struct YuvConstantsNEON kYuvConstantsNEON;
2280 extern struct YuvConstantsNEON kYuvJConstantsNEON;
2280 2281
2281 #define ANYYUV(NAMEANY, ANY_SIMD, YUVCONSTANTS) \ 2282 #define ANYYUV(NAMEANY, ANY_SIMD, YUVCONSTANTS) \
2282 void NAMEANY(const uint8* y_buf, \ 2283 void NAMEANY(const uint8* y_buf, \
2283 const uint8* u_buf, \ 2284 const uint8* u_buf, \
2284 const uint8* v_buf, \ 2285 const uint8* v_buf, \
2285 uint8* dst_argb, \ 2286 uint8* dst_argb, \
2286 int width) { \ 2287 int width) { \
2287 ANY_SIMD(y_buf, u_buf, v_buf, dst_argb, &YUVCONSTANTS, width); \ 2288 ANY_SIMD(y_buf, u_buf, v_buf, dst_argb, &YUVCONSTANTS, width); \
2288 } 2289 }
2289 2290
2290 #ifdef HAS_I422TOARGBMATRIXROW_NEON 2291 #ifdef HAS_I422TOARGBMATRIXROW_NEON
2291 ANYYUV(I422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvConstantsNEON) 2292 ANYYUV(I422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvConstantsNEON)
2292 //ANYYUV(J422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvJConstantsNEON) 2293 ANYYUV(J422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvJConstantsNEON)
2293 //ANYYUV(H422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvHConstantsNEON) 2294 //ANYYUV(H422ToARGBRow_NEON, I422ToARGBMatrixRow_NEON, kYuvHConstantsNEON)
2294 #endif 2295 #endif
2295 2296
2296 #ifdef HAS_I422TOARGBMATRIXROW_SSSE3 2297 #ifdef HAS_I422TOARGBMATRIXROW_SSSE3
2297 ANYYUV(I422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvConstants) 2298 ANYYUV(I422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvConstants)
2298 ANYYUV(J422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvJConstants) 2299 ANYYUV(J422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvJConstants)
2299 ANYYUV(H422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvHConstants) 2300 ANYYUV(H422ToARGBRow_SSSE3, I422ToARGBMatrixRow_SSSE3, kYuvHConstants)
2300 #endif 2301 #endif
2301 #ifdef HAS_I422TOARGBMATRIXROW_AVX2 2302 #ifdef HAS_I422TOARGBMATRIXROW_AVX2
2302 ANYYUV(I422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvConstants) 2303 ANYYUV(I422ToARGBRow_AVX2, I422ToARGBMatrixRow_AVX2, kYuvConstants)
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after
2725 } 2726 }
2726 if (width & 1) { 2727 if (width & 1) {
2727 dst[3] = src[0]; 2728 dst[3] = src[0];
2728 } 2729 }
2729 } 2730 }
2730 2731
2731 #ifdef __cplusplus 2732 #ifdef __cplusplus
2732 } // extern "C" 2733 } // extern "C"
2733 } // namespace libyuv 2734 } // namespace libyuv
2734 #endif 2735 #endif
OLDNEW
« no previous file with comments | « source/row_any.cc ('k') | source/row_neon.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698