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

Side by Side Diff: include/libyuv/row.h

Issue 2487913004: Add MSA optimized ARGBToRGB24Row_MSA and ARGBToRAWRow_MSA functions (Closed)
Patch Set: Added missed code Created 4 years, 1 month 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 | « no previous file | source/convert_from_argb.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 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 #define HAS_YUY2TOUV422ROW_MSA 377 #define HAS_YUY2TOUV422ROW_MSA
378 #define HAS_YUY2TOUVROW_MSA 378 #define HAS_YUY2TOUVROW_MSA
379 #define HAS_YUY2TOYROW_MSA 379 #define HAS_YUY2TOYROW_MSA
380 #define HAS_ARGB4444TOARGBROW_MSA 380 #define HAS_ARGB4444TOARGBROW_MSA
381 #define HAS_ARGBTOYROW_MSA 381 #define HAS_ARGBTOYROW_MSA
382 #define HAS_ARGBTOUVROW_MSA 382 #define HAS_ARGBTOUVROW_MSA
383 #define HAS_I422TOARGBROW_MSA 383 #define HAS_I422TOARGBROW_MSA
384 #define HAS_I422TORGBAROW_MSA 384 #define HAS_I422TORGBAROW_MSA
385 #define HAS_I422ALPHATOARGBROW_MSA 385 #define HAS_I422ALPHATOARGBROW_MSA
386 #define HAS_I422TORGB24ROW_MSA 386 #define HAS_I422TORGB24ROW_MSA
387 #define HAS_ARGBTORGB24ROW_MSA
388 #define HAS_ARGBTORAWROW_MSA
387 #endif 389 #endif
388 390
389 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) 391 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__)
390 #if defined(VISUALC_HAS_AVX2) 392 #if defined(VISUALC_HAS_AVX2)
391 #define SIMD_ALIGNED(var) __declspec(align(32)) var 393 #define SIMD_ALIGNED(var) __declspec(align(32)) var
392 #else 394 #else
393 #define SIMD_ALIGNED(var) __declspec(align(16)) var 395 #define SIMD_ALIGNED(var) __declspec(align(16)) var
394 #endif 396 #endif
395 typedef __declspec(align(16)) int16 vec16[8]; 397 typedef __declspec(align(16)) int16 vec16[8];
396 typedef __declspec(align(16)) int32 vec32[4]; 398 typedef __declspec(align(16)) int32 vec32[4];
(...skipping 900 matching lines...) Expand 10 before | Expand all | Expand 10 after
1297 1299
1298 void ARGBToRGB24Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width); 1300 void ARGBToRGB24Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width);
1299 void ARGBToRAWRow_NEON(const uint8* src_argb, uint8* dst_rgb, int width); 1301 void ARGBToRAWRow_NEON(const uint8* src_argb, uint8* dst_rgb, int width);
1300 void ARGBToRGB565Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width); 1302 void ARGBToRGB565Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width);
1301 void ARGBToARGB1555Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width); 1303 void ARGBToARGB1555Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width);
1302 void ARGBToARGB4444Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width); 1304 void ARGBToARGB4444Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width);
1303 void ARGBToRGB565DitherRow_NEON(const uint8* src_argb, 1305 void ARGBToRGB565DitherRow_NEON(const uint8* src_argb,
1304 uint8* dst_rgb, 1306 uint8* dst_rgb,
1305 const uint32 dither4, 1307 const uint32 dither4,
1306 int width); 1308 int width);
1309 void ARGBToRGB24Row_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
1310 void ARGBToRAWRow_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
1307 1311
1308 void ARGBToRGBARow_C(const uint8* src_argb, uint8* dst_rgb, int width); 1312 void ARGBToRGBARow_C(const uint8* src_argb, uint8* dst_rgb, int width);
1309 void ARGBToRGB24Row_C(const uint8* src_argb, uint8* dst_rgb, int width); 1313 void ARGBToRGB24Row_C(const uint8* src_argb, uint8* dst_rgb, int width);
1310 void ARGBToRAWRow_C(const uint8* src_argb, uint8* dst_rgb, int width); 1314 void ARGBToRAWRow_C(const uint8* src_argb, uint8* dst_rgb, int width);
1311 void ARGBToRGB565Row_C(const uint8* src_argb, uint8* dst_rgb, int width); 1315 void ARGBToRGB565Row_C(const uint8* src_argb, uint8* dst_rgb, int width);
1312 void ARGBToARGB1555Row_C(const uint8* src_argb, uint8* dst_rgb, int width); 1316 void ARGBToARGB1555Row_C(const uint8* src_argb, uint8* dst_rgb, int width);
1313 void ARGBToARGB4444Row_C(const uint8* src_argb, uint8* dst_rgb, int width); 1317 void ARGBToARGB4444Row_C(const uint8* src_argb, uint8* dst_rgb, int width);
1314 1318
1315 void J400ToARGBRow_SSE2(const uint8* src_y, uint8* dst_argb, int width); 1319 void J400ToARGBRow_SSE2(const uint8* src_y, uint8* dst_argb, int width);
1316 void J400ToARGBRow_AVX2(const uint8* src_y, uint8* dst_argb, int width); 1320 void J400ToARGBRow_AVX2(const uint8* src_y, uint8* dst_argb, int width);
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
1885 void ARGBToARGB1555Row_Any_NEON(const uint8* src_argb, 1889 void ARGBToARGB1555Row_Any_NEON(const uint8* src_argb,
1886 uint8* dst_rgb, 1890 uint8* dst_rgb,
1887 int width); 1891 int width);
1888 void ARGBToARGB4444Row_Any_NEON(const uint8* src_argb, 1892 void ARGBToARGB4444Row_Any_NEON(const uint8* src_argb,
1889 uint8* dst_rgb, 1893 uint8* dst_rgb,
1890 int width); 1894 int width);
1891 void ARGBToRGB565DitherRow_Any_NEON(const uint8* src_argb, 1895 void ARGBToRGB565DitherRow_Any_NEON(const uint8* src_argb,
1892 uint8* dst_rgb, 1896 uint8* dst_rgb,
1893 const uint32 dither4, 1897 const uint32 dither4,
1894 int width); 1898 int width);
1899 void ARGBToRGB24Row_Any_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
1900 void ARGBToRAWRow_Any_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
1895 1901
1896 void I444ToARGBRow_Any_NEON(const uint8* src_y, 1902 void I444ToARGBRow_Any_NEON(const uint8* src_y,
1897 const uint8* src_u, 1903 const uint8* src_u,
1898 const uint8* src_v, 1904 const uint8* src_v,
1899 uint8* dst_argb, 1905 uint8* dst_argb,
1900 const struct YuvConstants* yuvconstants, 1906 const struct YuvConstants* yuvconstants,
1901 int width); 1907 int width);
1902 void I422ToARGBRow_Any_NEON(const uint8* src_y, 1908 void I422ToARGBRow_Any_NEON(const uint8* src_y,
1903 const uint8* src_u, 1909 const uint8* src_u,
1904 const uint8* src_v, 1910 const uint8* src_v,
(...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after
2604 int width, 2610 int width,
2605 const uint8* luma, 2611 const uint8* luma,
2606 uint32 lumacoeff); 2612 uint32 lumacoeff);
2607 2613
2608 #ifdef __cplusplus 2614 #ifdef __cplusplus
2609 } // extern "C" 2615 } // extern "C"
2610 } // namespace libyuv 2616 } // namespace libyuv
2611 #endif 2617 #endif
2612 2618
2613 #endif // INCLUDE_LIBYUV_ROW_H_ 2619 #endif // INCLUDE_LIBYUV_ROW_H_
OLDNEW
« no previous file with comments | « no previous file | source/convert_from_argb.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698