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

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

Issue 2520003004: Add MSA optimized ARGBToRGB565Row_MSA, ARGBToARGB1555Row_MSA, ARGBToARGB4444Row_MSA, ARGBToUV444Row… (Closed)
Patch Set: Clang format Created 4 years 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') | source/row_msa.cc » ('J')
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 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 387 #define HAS_ARGBTORGB24ROW_MSA
388 #define HAS_ARGBTORAWROW_MSA 388 #define HAS_ARGBTORAWROW_MSA
389 #define HAS_ARGBTORGB565ROW_MSA
390 #define HAS_ARGBTOARGB1555ROW_MSA
391 #define HAS_ARGBTOARGB4444ROW_MSA
392 #define HAS_ARGBTOUV444ROW_MSA
389 #endif 393 #endif
390 394
391 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) 395 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__)
392 #if defined(VISUALC_HAS_AVX2) 396 #if defined(VISUALC_HAS_AVX2)
393 #define SIMD_ALIGNED(var) __declspec(align(32)) var 397 #define SIMD_ALIGNED(var) __declspec(align(32)) var
394 #else 398 #else
395 #define SIMD_ALIGNED(var) __declspec(align(16)) var 399 #define SIMD_ALIGNED(var) __declspec(align(16)) var
396 #endif 400 #endif
397 typedef __declspec(align(16)) int16 vec16[8]; 401 typedef __declspec(align(16)) int16 vec16[8];
398 typedef __declspec(align(16)) int32 vec32[4]; 402 typedef __declspec(align(16)) int32 vec32[4];
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 void ARGBToYRow_MSA(const uint8* src_argb, uint8* dst_y, int width); 711 void ARGBToYRow_MSA(const uint8* src_argb, uint8* dst_y, int width);
708 void ARGBToUV444Row_NEON(const uint8* src_argb, 712 void ARGBToUV444Row_NEON(const uint8* src_argb,
709 uint8* dst_u, 713 uint8* dst_u,
710 uint8* dst_v, 714 uint8* dst_v,
711 int width); 715 int width);
712 void ARGBToUVRow_NEON(const uint8* src_argb, 716 void ARGBToUVRow_NEON(const uint8* src_argb,
713 int src_stride_argb, 717 int src_stride_argb,
714 uint8* dst_u, 718 uint8* dst_u,
715 uint8* dst_v, 719 uint8* dst_v,
716 int width); 720 int width);
721 void ARGBToUV444Row_MSA(const uint8* src_argb,
722 uint8* dst_u,
723 uint8* dst_v,
724 int width);
717 void ARGBToUVRow_MSA(const uint8* src_argb, 725 void ARGBToUVRow_MSA(const uint8* src_argb,
718 int src_stride_argb, 726 int src_stride_argb,
719 uint8* dst_u, 727 uint8* dst_u,
720 uint8* dst_v, 728 uint8* dst_v,
721 int width); 729 int width);
722 void ARGBToUVJRow_NEON(const uint8* src_argb, 730 void ARGBToUVJRow_NEON(const uint8* src_argb,
723 int src_stride_argb, 731 int src_stride_argb,
724 uint8* dst_u, 732 uint8* dst_u,
725 uint8* dst_v, 733 uint8* dst_v,
726 int width); 734 int width);
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
877 int width); 885 int width);
878 void ARGBToUV444Row_Any_NEON(const uint8* src_argb, 886 void ARGBToUV444Row_Any_NEON(const uint8* src_argb,
879 uint8* dst_u, 887 uint8* dst_u,
880 uint8* dst_v, 888 uint8* dst_v,
881 int width); 889 int width);
882 void ARGBToUVRow_Any_NEON(const uint8* src_argb, 890 void ARGBToUVRow_Any_NEON(const uint8* src_argb,
883 int src_stride_argb, 891 int src_stride_argb,
884 uint8* dst_u, 892 uint8* dst_u,
885 uint8* dst_v, 893 uint8* dst_v,
886 int width); 894 int width);
895 void ARGBToUV444Row_Any_MSA(const uint8* src_argb,
896 uint8* dst_u,
897 uint8* dst_v,
898 int width);
887 void ARGBToUVRow_Any_MSA(const uint8* src_argb, 899 void ARGBToUVRow_Any_MSA(const uint8* src_argb,
888 int src_stride_argb, 900 int src_stride_argb,
889 uint8* dst_u, 901 uint8* dst_u,
890 uint8* dst_v, 902 uint8* dst_v,
891 int width); 903 int width);
892 void ARGBToUVJRow_Any_NEON(const uint8* src_argb, 904 void ARGBToUVJRow_Any_NEON(const uint8* src_argb,
893 int src_stride_argb, 905 int src_stride_argb,
894 uint8* dst_u, 906 uint8* dst_u,
895 uint8* dst_v, 907 uint8* dst_v,
896 int width); 908 int width);
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after
1301 void ARGBToRAWRow_NEON(const uint8* src_argb, uint8* dst_rgb, int width); 1313 void ARGBToRAWRow_NEON(const uint8* src_argb, uint8* dst_rgb, int width);
1302 void ARGBToRGB565Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width); 1314 void ARGBToRGB565Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width);
1303 void ARGBToARGB1555Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width); 1315 void ARGBToARGB1555Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width);
1304 void ARGBToARGB4444Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width); 1316 void ARGBToARGB4444Row_NEON(const uint8* src_argb, uint8* dst_rgb, int width);
1305 void ARGBToRGB565DitherRow_NEON(const uint8* src_argb, 1317 void ARGBToRGB565DitherRow_NEON(const uint8* src_argb,
1306 uint8* dst_rgb, 1318 uint8* dst_rgb,
1307 const uint32 dither4, 1319 const uint32 dither4,
1308 int width); 1320 int width);
1309 void ARGBToRGB24Row_MSA(const uint8* src_argb, uint8* dst_rgb, int width); 1321 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); 1322 void ARGBToRAWRow_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
1323 void ARGBToRGB565Row_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
1324 void ARGBToARGB1555Row_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
1325 void ARGBToARGB4444Row_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
1311 1326
1312 void ARGBToRGBARow_C(const uint8* src_argb, uint8* dst_rgb, int width); 1327 void ARGBToRGBARow_C(const uint8* src_argb, uint8* dst_rgb, int width);
1313 void ARGBToRGB24Row_C(const uint8* src_argb, uint8* dst_rgb, int width); 1328 void ARGBToRGB24Row_C(const uint8* src_argb, uint8* dst_rgb, int width);
1314 void ARGBToRAWRow_C(const uint8* src_argb, uint8* dst_rgb, int width); 1329 void ARGBToRAWRow_C(const uint8* src_argb, uint8* dst_rgb, int width);
1315 void ARGBToRGB565Row_C(const uint8* src_argb, uint8* dst_rgb, int width); 1330 void ARGBToRGB565Row_C(const uint8* src_argb, uint8* dst_rgb, int width);
1316 void ARGBToARGB1555Row_C(const uint8* src_argb, uint8* dst_rgb, int width); 1331 void ARGBToARGB1555Row_C(const uint8* src_argb, uint8* dst_rgb, int width);
1317 void ARGBToARGB4444Row_C(const uint8* src_argb, uint8* dst_rgb, int width); 1332 void ARGBToARGB4444Row_C(const uint8* src_argb, uint8* dst_rgb, int width);
1318 1333
1319 void J400ToARGBRow_SSE2(const uint8* src_y, uint8* dst_argb, int width); 1334 void J400ToARGBRow_SSE2(const uint8* src_y, uint8* dst_argb, int width);
1320 void J400ToARGBRow_AVX2(const uint8* src_y, uint8* dst_argb, int width); 1335 void J400ToARGBRow_AVX2(const uint8* src_y, uint8* dst_argb, int width);
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
1891 int width); 1906 int width);
1892 void ARGBToARGB4444Row_Any_NEON(const uint8* src_argb, 1907 void ARGBToARGB4444Row_Any_NEON(const uint8* src_argb,
1893 uint8* dst_rgb, 1908 uint8* dst_rgb,
1894 int width); 1909 int width);
1895 void ARGBToRGB565DitherRow_Any_NEON(const uint8* src_argb, 1910 void ARGBToRGB565DitherRow_Any_NEON(const uint8* src_argb,
1896 uint8* dst_rgb, 1911 uint8* dst_rgb,
1897 const uint32 dither4, 1912 const uint32 dither4,
1898 int width); 1913 int width);
1899 void ARGBToRGB24Row_Any_MSA(const uint8* src_argb, uint8* dst_rgb, int width); 1914 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); 1915 void ARGBToRAWRow_Any_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
1916 void ARGBToRGB565Row_Any_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
1917 void ARGBToARGB1555Row_Any_MSA(const uint8* src_argb,
1918 uint8* dst_rgb,
1919 int width);
1920 void ARGBToARGB4444Row_Any_MSA(const uint8* src_argb,
1921 uint8* dst_rgb,
1922 int width);
1901 1923
1902 void I444ToARGBRow_Any_NEON(const uint8* src_y, 1924 void I444ToARGBRow_Any_NEON(const uint8* src_y,
1903 const uint8* src_u, 1925 const uint8* src_u,
1904 const uint8* src_v, 1926 const uint8* src_v,
1905 uint8* dst_argb, 1927 uint8* dst_argb,
1906 const struct YuvConstants* yuvconstants, 1928 const struct YuvConstants* yuvconstants,
1907 int width); 1929 int width);
1908 void I422ToARGBRow_Any_NEON(const uint8* src_y, 1930 void I422ToARGBRow_Any_NEON(const uint8* src_y,
1909 const uint8* src_u, 1931 const uint8* src_u,
1910 const uint8* src_v, 1932 const uint8* src_v,
(...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after
2610 int width, 2632 int width,
2611 const uint8* luma, 2633 const uint8* luma,
2612 uint32 lumacoeff); 2634 uint32 lumacoeff);
2613 2635
2614 #ifdef __cplusplus 2636 #ifdef __cplusplus
2615 } // extern "C" 2637 } // extern "C"
2616 } // namespace libyuv 2638 } // namespace libyuv
2617 #endif 2639 #endif
2618 2640
2619 #endif // INCLUDE_LIBYUV_ROW_H_ 2641 #endif // INCLUDE_LIBYUV_ROW_H_
OLDNEW
« no previous file with comments | « no previous file | source/convert_from_argb.cc » ('j') | source/row_msa.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698