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

Side by Side Diff: source/libvpx/third_party/libyuv/source/row_any.cc

Issue 554673004: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright 2012 The LibYuv Project Authors. All rights reserved. 2 * Copyright 2012 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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 YANY(I422ToBGRARow_Any_NEON, I422ToBGRARow_NEON, I422ToBGRARow_C, 1, 4, 7) 72 YANY(I422ToBGRARow_Any_NEON, I422ToBGRARow_NEON, I422ToBGRARow_C, 1, 4, 7)
73 YANY(I422ToABGRRow_Any_NEON, I422ToABGRRow_NEON, I422ToABGRRow_C, 1, 4, 7) 73 YANY(I422ToABGRRow_Any_NEON, I422ToABGRRow_NEON, I422ToABGRRow_C, 1, 4, 7)
74 YANY(I422ToRGBARow_Any_NEON, I422ToRGBARow_NEON, I422ToRGBARow_C, 1, 4, 7) 74 YANY(I422ToRGBARow_Any_NEON, I422ToRGBARow_NEON, I422ToRGBARow_C, 1, 4, 7)
75 YANY(I422ToRGB24Row_Any_NEON, I422ToRGB24Row_NEON, I422ToRGB24Row_C, 1, 3, 7) 75 YANY(I422ToRGB24Row_Any_NEON, I422ToRGB24Row_NEON, I422ToRGB24Row_C, 1, 3, 7)
76 YANY(I422ToRAWRow_Any_NEON, I422ToRAWRow_NEON, I422ToRAWRow_C, 1, 3, 7) 76 YANY(I422ToRAWRow_Any_NEON, I422ToRAWRow_NEON, I422ToRAWRow_C, 1, 3, 7)
77 YANY(I422ToARGB4444Row_Any_NEON, I422ToARGB4444Row_NEON, I422ToARGB4444Row_C, 77 YANY(I422ToARGB4444Row_Any_NEON, I422ToARGB4444Row_NEON, I422ToARGB4444Row_C,
78 1, 2, 7) 78 1, 2, 7)
79 YANY(I422ToARGB1555Row_Any_NEON, I422ToARGB1555Row_NEON, I422ToARGB1555Row_C, 79 YANY(I422ToARGB1555Row_Any_NEON, I422ToARGB1555Row_NEON, I422ToARGB1555Row_C,
80 1, 2, 7) 80 1, 2, 7)
81 YANY(I422ToRGB565Row_Any_NEON, I422ToRGB565Row_NEON, I422ToRGB565Row_C, 1, 2, 7) 81 YANY(I422ToRGB565Row_Any_NEON, I422ToRGB565Row_NEON, I422ToRGB565Row_C, 1, 2, 7)
82 #endif // HAS_I422TOARGBROW_NEON
83 #ifdef HAS_I422TOYUY2ROW_NEON
82 YANY(I422ToYUY2Row_Any_NEON, I422ToYUY2Row_NEON, I422ToYUY2Row_C, 1, 2, 15) 84 YANY(I422ToYUY2Row_Any_NEON, I422ToYUY2Row_NEON, I422ToYUY2Row_C, 1, 2, 15)
85 #endif // HAS_I422TOYUY2ROW_NEON
86 #ifdef HAS_I422TOUYVYROW_NEON
83 YANY(I422ToUYVYRow_Any_NEON, I422ToUYVYRow_NEON, I422ToUYVYRow_C, 1, 2, 15) 87 YANY(I422ToUYVYRow_Any_NEON, I422ToUYVYRow_NEON, I422ToUYVYRow_C, 1, 2, 15)
84 #endif // HAS_I422TOARGBROW_NEON 88 #endif // HAS_I422TOUYVYROW_NEON
85 #undef YANY 89 #undef YANY
86 90
87 // Wrappers to handle odd width 91 // Wrappers to handle odd width
88 #define NV2NY(NAMEANY, NV12TORGB_SIMD, NV12TORGB_C, UV_SHIFT, BPP) \ 92 #define NV2NY(NAMEANY, NV12TORGB_SIMD, NV12TORGB_C, UV_SHIFT, BPP) \
89 void NAMEANY(const uint8* y_buf, \ 93 void NAMEANY(const uint8* y_buf, \
90 const uint8* uv_buf, \ 94 const uint8* uv_buf, \
91 uint8* rgb_buf, \ 95 uint8* rgb_buf, \
92 int width) { \ 96 int width) { \
93 int n = width & ~7; \ 97 int n = width & ~7; \
94 NV12TORGB_SIMD(y_buf, uv_buf, rgb_buf, n); \ 98 NV12TORGB_SIMD(y_buf, uv_buf, rgb_buf, n); \
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 YANY(ARGBToYRow_Any_NEON, ARGBToYRow_NEON, 4, 1, 8) 247 YANY(ARGBToYRow_Any_NEON, ARGBToYRow_NEON, 4, 1, 8)
244 YANY(ARGBToYJRow_Any_NEON, ARGBToYJRow_NEON, 4, 1, 8) 248 YANY(ARGBToYJRow_Any_NEON, ARGBToYJRow_NEON, 4, 1, 8)
245 YANY(BGRAToYRow_Any_NEON, BGRAToYRow_NEON, 4, 1, 8) 249 YANY(BGRAToYRow_Any_NEON, BGRAToYRow_NEON, 4, 1, 8)
246 YANY(ABGRToYRow_Any_NEON, ABGRToYRow_NEON, 4, 1, 8) 250 YANY(ABGRToYRow_Any_NEON, ABGRToYRow_NEON, 4, 1, 8)
247 YANY(RGBAToYRow_Any_NEON, RGBAToYRow_NEON, 4, 1, 8) 251 YANY(RGBAToYRow_Any_NEON, RGBAToYRow_NEON, 4, 1, 8)
248 YANY(RGB24ToYRow_Any_NEON, RGB24ToYRow_NEON, 3, 1, 8) 252 YANY(RGB24ToYRow_Any_NEON, RGB24ToYRow_NEON, 3, 1, 8)
249 YANY(RAWToYRow_Any_NEON, RAWToYRow_NEON, 3, 1, 8) 253 YANY(RAWToYRow_Any_NEON, RAWToYRow_NEON, 3, 1, 8)
250 YANY(RGB565ToYRow_Any_NEON, RGB565ToYRow_NEON, 2, 1, 8) 254 YANY(RGB565ToYRow_Any_NEON, RGB565ToYRow_NEON, 2, 1, 8)
251 YANY(ARGB1555ToYRow_Any_NEON, ARGB1555ToYRow_NEON, 2, 1, 8) 255 YANY(ARGB1555ToYRow_Any_NEON, ARGB1555ToYRow_NEON, 2, 1, 8)
252 YANY(ARGB4444ToYRow_Any_NEON, ARGB4444ToYRow_NEON, 2, 1, 8) 256 YANY(ARGB4444ToYRow_Any_NEON, ARGB4444ToYRow_NEON, 2, 1, 8)
257 #endif
258 #ifdef HAS_YUY2TOYROW_NEON
253 YANY(YUY2ToYRow_Any_NEON, YUY2ToYRow_NEON, 2, 1, 16) 259 YANY(YUY2ToYRow_Any_NEON, YUY2ToYRow_NEON, 2, 1, 16)
260 #endif
261 #ifdef HAS_UYVYTOYROW_NEON
254 YANY(UYVYToYRow_Any_NEON, UYVYToYRow_NEON, 2, 1, 16) 262 YANY(UYVYToYRow_Any_NEON, UYVYToYRow_NEON, 2, 1, 16)
263 #endif
264 #ifdef HAS_RGB24TOARGBROW_NEON
255 YANY(RGB24ToARGBRow_Any_NEON, RGB24ToARGBRow_NEON, 3, 4, 8) 265 YANY(RGB24ToARGBRow_Any_NEON, RGB24ToARGBRow_NEON, 3, 4, 8)
266 #endif
267 #ifdef HAS_RAWTOARGBROW_NEON
256 YANY(RAWToARGBRow_Any_NEON, RAWToARGBRow_NEON, 3, 4, 8) 268 YANY(RAWToARGBRow_Any_NEON, RAWToARGBRow_NEON, 3, 4, 8)
269 #endif
270 #ifdef HAS_RGB565TOARGBROW_NEON
257 YANY(RGB565ToARGBRow_Any_NEON, RGB565ToARGBRow_NEON, 2, 4, 8) 271 YANY(RGB565ToARGBRow_Any_NEON, RGB565ToARGBRow_NEON, 2, 4, 8)
272 #endif
273 #ifdef HAS_ARGB1555TOARGBROW_NEON
258 YANY(ARGB1555ToARGBRow_Any_NEON, ARGB1555ToARGBRow_NEON, 2, 4, 8) 274 YANY(ARGB1555ToARGBRow_Any_NEON, ARGB1555ToARGBRow_NEON, 2, 4, 8)
275 #endif
276 #ifdef HAS_ARGB4444TOARGBROW_NEON
259 YANY(ARGB4444ToARGBRow_Any_NEON, ARGB4444ToARGBRow_NEON, 2, 4, 8) 277 YANY(ARGB4444ToARGBRow_Any_NEON, ARGB4444ToARGBRow_NEON, 2, 4, 8)
260 #endif 278 #endif
261 #undef YANY 279 #undef YANY
262 280
263 #define YANY(NAMEANY, ARGBTOY_SIMD, ARGBTOY_C, SBPP, BPP, MASK) \ 281 #define YANY(NAMEANY, ARGBTOY_SIMD, ARGBTOY_C, SBPP, BPP, MASK) \
264 void NAMEANY(const uint8* src_argb, uint8* dst_y, int width) { \ 282 void NAMEANY(const uint8* src_argb, uint8* dst_y, int width) { \
265 int n = width & ~MASK; \ 283 int n = width & ~MASK; \
266 ARGBTOY_SIMD(src_argb, dst_y, n); \ 284 ARGBTOY_SIMD(src_argb, dst_y, n); \
267 ARGBTOY_C(src_argb + n * SBPP, \ 285 ARGBTOY_C(src_argb + n * SBPP, \
268 dst_y + n * BPP, width & MASK); \ 286 dst_y + n * BPP, width & MASK); \
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 UVANY(ARGBToUVRow_Any_NEON, ARGBToUVRow_NEON, ARGBToUVRow_C, 4, 15) 344 UVANY(ARGBToUVRow_Any_NEON, ARGBToUVRow_NEON, ARGBToUVRow_C, 4, 15)
327 UVANY(ARGBToUVJRow_Any_NEON, ARGBToUVJRow_NEON, ARGBToUVJRow_C, 4, 15) 345 UVANY(ARGBToUVJRow_Any_NEON, ARGBToUVJRow_NEON, ARGBToUVJRow_C, 4, 15)
328 UVANY(BGRAToUVRow_Any_NEON, BGRAToUVRow_NEON, BGRAToUVRow_C, 4, 15) 346 UVANY(BGRAToUVRow_Any_NEON, BGRAToUVRow_NEON, BGRAToUVRow_C, 4, 15)
329 UVANY(ABGRToUVRow_Any_NEON, ABGRToUVRow_NEON, ABGRToUVRow_C, 4, 15) 347 UVANY(ABGRToUVRow_Any_NEON, ABGRToUVRow_NEON, ABGRToUVRow_C, 4, 15)
330 UVANY(RGBAToUVRow_Any_NEON, RGBAToUVRow_NEON, RGBAToUVRow_C, 4, 15) 348 UVANY(RGBAToUVRow_Any_NEON, RGBAToUVRow_NEON, RGBAToUVRow_C, 4, 15)
331 UVANY(RGB24ToUVRow_Any_NEON, RGB24ToUVRow_NEON, RGB24ToUVRow_C, 3, 15) 349 UVANY(RGB24ToUVRow_Any_NEON, RGB24ToUVRow_NEON, RGB24ToUVRow_C, 3, 15)
332 UVANY(RAWToUVRow_Any_NEON, RAWToUVRow_NEON, RAWToUVRow_C, 3, 15) 350 UVANY(RAWToUVRow_Any_NEON, RAWToUVRow_NEON, RAWToUVRow_C, 3, 15)
333 UVANY(RGB565ToUVRow_Any_NEON, RGB565ToUVRow_NEON, RGB565ToUVRow_C, 2, 15) 351 UVANY(RGB565ToUVRow_Any_NEON, RGB565ToUVRow_NEON, RGB565ToUVRow_C, 2, 15)
334 UVANY(ARGB1555ToUVRow_Any_NEON, ARGB1555ToUVRow_NEON, ARGB1555ToUVRow_C, 2, 15) 352 UVANY(ARGB1555ToUVRow_Any_NEON, ARGB1555ToUVRow_NEON, ARGB1555ToUVRow_C, 2, 15)
335 UVANY(ARGB4444ToUVRow_Any_NEON, ARGB4444ToUVRow_NEON, ARGB4444ToUVRow_C, 2, 15) 353 UVANY(ARGB4444ToUVRow_Any_NEON, ARGB4444ToUVRow_NEON, ARGB4444ToUVRow_C, 2, 15)
354 #endif
355 #ifdef HAS_YUY2TOUVROW_NEON
336 UVANY(YUY2ToUVRow_Any_NEON, YUY2ToUVRow_NEON, YUY2ToUVRow_C, 2, 15) 356 UVANY(YUY2ToUVRow_Any_NEON, YUY2ToUVRow_NEON, YUY2ToUVRow_C, 2, 15)
357 #endif
358 #ifdef HAS_UYVYTOUVROW_NEON
337 UVANY(UYVYToUVRow_Any_NEON, UYVYToUVRow_NEON, UYVYToUVRow_C, 2, 15) 359 UVANY(UYVYToUVRow_Any_NEON, UYVYToUVRow_NEON, UYVYToUVRow_C, 2, 15)
338 #endif 360 #endif
339 #undef UVANY 361 #undef UVANY
340 362
341 #define UV422ANY(NAMEANY, ANYTOUV_SIMD, ANYTOUV_C, BPP, MASK, SHIFT) \ 363 #define UV422ANY(NAMEANY, ANYTOUV_SIMD, ANYTOUV_C, BPP, MASK, SHIFT) \
342 void NAMEANY(const uint8* src_uv, \ 364 void NAMEANY(const uint8* src_uv, \
343 uint8* dst_u, uint8* dst_v, int width) { \ 365 uint8* dst_u, uint8* dst_v, int width) { \
344 int n = width & ~MASK; \ 366 int n = width & ~MASK; \
345 ANYTOUV_SIMD(src_uv, dst_u, dst_v, n); \ 367 ANYTOUV_SIMD(src_uv, dst_u, dst_v, n); \
346 ANYTOUV_C(src_uv + n * BPP, \ 368 ANYTOUV_C(src_uv + n * BPP, \
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 #ifdef HAS_INTERPOLATEROW_MIPS_DSPR2 557 #ifdef HAS_INTERPOLATEROW_MIPS_DSPR2
536 NANY(InterpolateRow_Any_MIPS_DSPR2, InterpolateRow_MIPS_DSPR2, 558 NANY(InterpolateRow_Any_MIPS_DSPR2, InterpolateRow_MIPS_DSPR2,
537 InterpolateRow_C, 1, 1, 3) 559 InterpolateRow_C, 1, 1, 3)
538 #endif 560 #endif
539 #undef NANY 561 #undef NANY
540 562
541 #ifdef __cplusplus 563 #ifdef __cplusplus
542 } // extern "C" 564 } // extern "C"
543 } // namespace libyuv 565 } // namespace libyuv
544 #endif 566 #endif
OLDNEW
« no previous file with comments | « source/libvpx/third_party/libyuv/source/mjpeg_decoder.cc ('k') | source/libvpx/third_party/libyuv/source/row_neon64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698