| OLD | NEW |
| 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 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 392 #define HAS_ARGBTOUV444ROW_MSA | 392 #define HAS_ARGBTOUV444ROW_MSA |
| 393 #define HAS_ARGBMULTIPLYROW_MSA | 393 #define HAS_ARGBMULTIPLYROW_MSA |
| 394 #define HAS_ARGBADDROW_MSA | 394 #define HAS_ARGBADDROW_MSA |
| 395 #define HAS_ARGBSUBTRACTROW_MSA | 395 #define HAS_ARGBSUBTRACTROW_MSA |
| 396 #define HAS_ARGBATTENUATEROW_MSA | 396 #define HAS_ARGBATTENUATEROW_MSA |
| 397 #define HAS_ARGBTORGB565DITHERROW_MSA | 397 #define HAS_ARGBTORGB565DITHERROW_MSA |
| 398 #define HAS_ARGBSHUFFLEROW_MSA | 398 #define HAS_ARGBSHUFFLEROW_MSA |
| 399 #define HAS_ARGBSHADEROW_MSA | 399 #define HAS_ARGBSHADEROW_MSA |
| 400 #define HAS_ARGBGRAYROW_MSA | 400 #define HAS_ARGBGRAYROW_MSA |
| 401 #define HAS_ARGBSEPIAROW_MSA | 401 #define HAS_ARGBSEPIAROW_MSA |
| 402 #define HAS_ARGB1555TOARGBROW_MSA |
| 403 #define HAS_RGB565TOARGBROW_MSA |
| 404 #define HAS_RGB24TOARGBROW_MSA |
| 405 #define HAS_RAWTOARGBROW_MSA |
| 406 #define HAS_ARGB1555TOYROW_MSA |
| 407 #define HAS_RGB565TOYROW_MSA |
| 408 #define HAS_RGB24TOYROW_MSA |
| 409 #define HAS_RAWTOYROW_MSA |
| 410 #define HAS_ARGB1555TOUVROW_MSA |
| 411 #define HAS_RGB565TOUVROW_MSA |
| 412 #define HAS_RGB24TOUVROW_MSA |
| 413 #define HAS_RAWTOUVROW_MSA |
| 402 #endif | 414 #endif |
| 403 | 415 |
| 404 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) | 416 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) |
| 405 #if defined(VISUALC_HAS_AVX2) | 417 #if defined(VISUALC_HAS_AVX2) |
| 406 #define SIMD_ALIGNED(var) __declspec(align(32)) var | 418 #define SIMD_ALIGNED(var) __declspec(align(32)) var |
| 407 #else | 419 #else |
| 408 #define SIMD_ALIGNED(var) __declspec(align(16)) var | 420 #define SIMD_ALIGNED(var) __declspec(align(16)) var |
| 409 #endif | 421 #endif |
| 410 typedef __declspec(align(16)) int16 vec16[8]; | 422 typedef __declspec(align(16)) int16 vec16[8]; |
| 411 typedef __declspec(align(16)) int32 vec32[4]; | 423 typedef __declspec(align(16)) int32 vec32[4]; |
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 774 void ARGB1555ToUVRow_NEON(const uint8* src_argb1555, | 786 void ARGB1555ToUVRow_NEON(const uint8* src_argb1555, |
| 775 int src_stride_argb1555, | 787 int src_stride_argb1555, |
| 776 uint8* dst_u, | 788 uint8* dst_u, |
| 777 uint8* dst_v, | 789 uint8* dst_v, |
| 778 int width); | 790 int width); |
| 779 void ARGB4444ToUVRow_NEON(const uint8* src_argb4444, | 791 void ARGB4444ToUVRow_NEON(const uint8* src_argb4444, |
| 780 int src_stride_argb4444, | 792 int src_stride_argb4444, |
| 781 uint8* dst_u, | 793 uint8* dst_u, |
| 782 uint8* dst_v, | 794 uint8* dst_v, |
| 783 int width); | 795 int width); |
| 796 void RGB24ToUVRow_MSA(const uint8* src_rgb24, |
| 797 int src_stride_rgb24, |
| 798 uint8* dst_u, |
| 799 uint8* dst_v, |
| 800 int width); |
| 801 void RAWToUVRow_MSA(const uint8* src_raw, |
| 802 int src_stride_raw, |
| 803 uint8* dst_u, |
| 804 uint8* dst_v, |
| 805 int width); |
| 806 void RGB565ToUVRow_MSA(const uint8* src_rgb565, |
| 807 int src_stride_rgb565, |
| 808 uint8* dst_u, |
| 809 uint8* dst_v, |
| 810 int width); |
| 811 void ARGB1555ToUVRow_MSA(const uint8* src_argb1555, |
| 812 int src_stride_argb1555, |
| 813 uint8* dst_u, |
| 814 uint8* dst_v, |
| 815 int width); |
| 784 void BGRAToYRow_NEON(const uint8* src_bgra, uint8* dst_y, int width); | 816 void BGRAToYRow_NEON(const uint8* src_bgra, uint8* dst_y, int width); |
| 785 void ABGRToYRow_NEON(const uint8* src_abgr, uint8* dst_y, int width); | 817 void ABGRToYRow_NEON(const uint8* src_abgr, uint8* dst_y, int width); |
| 786 void RGBAToYRow_NEON(const uint8* src_rgba, uint8* dst_y, int width); | 818 void RGBAToYRow_NEON(const uint8* src_rgba, uint8* dst_y, int width); |
| 787 void RGB24ToYRow_NEON(const uint8* src_rgb24, uint8* dst_y, int width); | 819 void RGB24ToYRow_NEON(const uint8* src_rgb24, uint8* dst_y, int width); |
| 788 void RAWToYRow_NEON(const uint8* src_raw, uint8* dst_y, int width); | 820 void RAWToYRow_NEON(const uint8* src_raw, uint8* dst_y, int width); |
| 789 void RGB565ToYRow_NEON(const uint8* src_rgb565, uint8* dst_y, int width); | 821 void RGB565ToYRow_NEON(const uint8* src_rgb565, uint8* dst_y, int width); |
| 790 void ARGB1555ToYRow_NEON(const uint8* src_argb1555, uint8* dst_y, int width); | 822 void ARGB1555ToYRow_NEON(const uint8* src_argb1555, uint8* dst_y, int width); |
| 791 void ARGB4444ToYRow_NEON(const uint8* src_argb4444, uint8* dst_y, int width); | 823 void ARGB4444ToYRow_NEON(const uint8* src_argb4444, uint8* dst_y, int width); |
| 824 void RGB24ToYRow_MSA(const uint8* src_rgb24, uint8* dst_y, int width); |
| 825 void RAWToYRow_MSA(const uint8* src_raw, uint8* dst_y, int width); |
| 826 void RGB565ToYRow_MSA(const uint8* src_rgb565, uint8* dst_y, int width); |
| 827 void ARGB1555ToYRow_MSA(const uint8* src_argb1555, uint8* dst_y, int width); |
| 792 void ARGBToYRow_C(const uint8* src_argb, uint8* dst_y, int width); | 828 void ARGBToYRow_C(const uint8* src_argb, uint8* dst_y, int width); |
| 793 void ARGBToYJRow_C(const uint8* src_argb, uint8* dst_y, int width); | 829 void ARGBToYJRow_C(const uint8* src_argb, uint8* dst_y, int width); |
| 794 void BGRAToYRow_C(const uint8* src_bgra, uint8* dst_y, int width); | 830 void BGRAToYRow_C(const uint8* src_bgra, uint8* dst_y, int width); |
| 795 void ABGRToYRow_C(const uint8* src_abgr, uint8* dst_y, int width); | 831 void ABGRToYRow_C(const uint8* src_abgr, uint8* dst_y, int width); |
| 796 void RGBAToYRow_C(const uint8* src_rgba, uint8* dst_y, int width); | 832 void RGBAToYRow_C(const uint8* src_rgba, uint8* dst_y, int width); |
| 797 void RGB24ToYRow_C(const uint8* src_rgb24, uint8* dst_y, int width); | 833 void RGB24ToYRow_C(const uint8* src_rgb24, uint8* dst_y, int width); |
| 798 void RAWToYRow_C(const uint8* src_raw, uint8* dst_y, int width); | 834 void RAWToYRow_C(const uint8* src_raw, uint8* dst_y, int width); |
| 799 void RGB565ToYRow_C(const uint8* src_rgb565, uint8* dst_y, int width); | 835 void RGB565ToYRow_C(const uint8* src_rgb565, uint8* dst_y, int width); |
| 800 void ARGB1555ToYRow_C(const uint8* src_argb1555, uint8* dst_y, int width); | 836 void ARGB1555ToYRow_C(const uint8* src_argb1555, uint8* dst_y, int width); |
| 801 void ARGB4444ToYRow_C(const uint8* src_argb4444, uint8* dst_y, int width); | 837 void ARGB4444ToYRow_C(const uint8* src_argb4444, uint8* dst_y, int width); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 814 void RGB24ToYRow_Any_NEON(const uint8* src_rgb24, uint8* dst_y, int width); | 850 void RGB24ToYRow_Any_NEON(const uint8* src_rgb24, uint8* dst_y, int width); |
| 815 void RAWToYRow_Any_NEON(const uint8* src_raw, uint8* dst_y, int width); | 851 void RAWToYRow_Any_NEON(const uint8* src_raw, uint8* dst_y, int width); |
| 816 void RGB565ToYRow_Any_NEON(const uint8* src_rgb565, uint8* dst_y, int width); | 852 void RGB565ToYRow_Any_NEON(const uint8* src_rgb565, uint8* dst_y, int width); |
| 817 void ARGB1555ToYRow_Any_NEON(const uint8* src_argb1555, | 853 void ARGB1555ToYRow_Any_NEON(const uint8* src_argb1555, |
| 818 uint8* dst_y, | 854 uint8* dst_y, |
| 819 int width); | 855 int width); |
| 820 void ARGB4444ToYRow_Any_NEON(const uint8* src_argb4444, | 856 void ARGB4444ToYRow_Any_NEON(const uint8* src_argb4444, |
| 821 uint8* dst_y, | 857 uint8* dst_y, |
| 822 int width); | 858 int width); |
| 823 void ARGBToYRow_Any_MSA(const uint8* src_argb, uint8* dst_y, int width); | 859 void ARGBToYRow_Any_MSA(const uint8* src_argb, uint8* dst_y, int width); |
| 860 void RGB24ToYRow_Any_MSA(const uint8* src_rgb24, uint8* dst_y, int width); |
| 861 void RAWToYRow_Any_MSA(const uint8* src_raw, uint8* dst_y, int width); |
| 862 void RGB565ToYRow_Any_MSA(const uint8* src_rgb565, uint8* dst_y, int width); |
| 863 void ARGB1555ToYRow_Any_MSA(const uint8* src_argb1555, uint8* dst_y, int width); |
| 824 | 864 |
| 825 void ARGBToUVRow_AVX2(const uint8* src_argb, | 865 void ARGBToUVRow_AVX2(const uint8* src_argb, |
| 826 int src_stride_argb, | 866 int src_stride_argb, |
| 827 uint8* dst_u, | 867 uint8* dst_u, |
| 828 uint8* dst_v, | 868 uint8* dst_v, |
| 829 int width); | 869 int width); |
| 830 void ARGBToUVJRow_AVX2(const uint8* src_argb, | 870 void ARGBToUVJRow_AVX2(const uint8* src_argb, |
| 831 int src_stride_argb, | 871 int src_stride_argb, |
| 832 uint8* dst_u, | 872 uint8* dst_u, |
| 833 uint8* dst_v, | 873 uint8* dst_v, |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 948 void ARGB1555ToUVRow_Any_NEON(const uint8* src_argb1555, | 988 void ARGB1555ToUVRow_Any_NEON(const uint8* src_argb1555, |
| 949 int src_stride_argb1555, | 989 int src_stride_argb1555, |
| 950 uint8* dst_u, | 990 uint8* dst_u, |
| 951 uint8* dst_v, | 991 uint8* dst_v, |
| 952 int width); | 992 int width); |
| 953 void ARGB4444ToUVRow_Any_NEON(const uint8* src_argb4444, | 993 void ARGB4444ToUVRow_Any_NEON(const uint8* src_argb4444, |
| 954 int src_stride_argb4444, | 994 int src_stride_argb4444, |
| 955 uint8* dst_u, | 995 uint8* dst_u, |
| 956 uint8* dst_v, | 996 uint8* dst_v, |
| 957 int width); | 997 int width); |
| 998 void RGB24ToUVRow_Any_MSA(const uint8* src_rgb24, |
| 999 int src_stride_rgb24, |
| 1000 uint8* dst_u, |
| 1001 uint8* dst_v, |
| 1002 int width); |
| 1003 void RAWToUVRow_Any_MSA(const uint8* src_raw, |
| 1004 int src_stride_raw, |
| 1005 uint8* dst_u, |
| 1006 uint8* dst_v, |
| 1007 int width); |
| 1008 void RGB565ToUVRow_Any_MSA(const uint8* src_rgb565, |
| 1009 int src_stride_rgb565, |
| 1010 uint8* dst_u, |
| 1011 uint8* dst_v, |
| 1012 int width); |
| 1013 void ARGB1555ToUVRow_Any_MSA(const uint8* src_argb1555, |
| 1014 int src_stride_argb1555, |
| 1015 uint8* dst_u, |
| 1016 uint8* dst_v, |
| 1017 int width); |
| 958 void ARGBToUVRow_C(const uint8* src_argb, | 1018 void ARGBToUVRow_C(const uint8* src_argb, |
| 959 int src_stride_argb, | 1019 int src_stride_argb, |
| 960 uint8* dst_u, | 1020 uint8* dst_u, |
| 961 uint8* dst_v, | 1021 uint8* dst_v, |
| 962 int width); | 1022 int width); |
| 963 void ARGBToUVJRow_C(const uint8* src_argb, | 1023 void ARGBToUVJRow_C(const uint8* src_argb, |
| 964 int src_stride_argb, | 1024 int src_stride_argb, |
| 965 uint8* dst_u, | 1025 uint8* dst_u, |
| 966 uint8* dst_v, | 1026 uint8* dst_v, |
| 967 int width); | 1027 int width); |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1235 int width); | 1295 int width); |
| 1236 void RGB565ToARGBRow_AVX2(const uint8* src_rgb565, uint8* dst_argb, int width); | 1296 void RGB565ToARGBRow_AVX2(const uint8* src_rgb565, uint8* dst_argb, int width); |
| 1237 void ARGB1555ToARGBRow_AVX2(const uint8* src_argb1555, | 1297 void ARGB1555ToARGBRow_AVX2(const uint8* src_argb1555, |
| 1238 uint8* dst_argb, | 1298 uint8* dst_argb, |
| 1239 int width); | 1299 int width); |
| 1240 void ARGB4444ToARGBRow_AVX2(const uint8* src_argb4444, | 1300 void ARGB4444ToARGBRow_AVX2(const uint8* src_argb4444, |
| 1241 uint8* dst_argb, | 1301 uint8* dst_argb, |
| 1242 int width); | 1302 int width); |
| 1243 | 1303 |
| 1244 void RGB24ToARGBRow_NEON(const uint8* src_rgb24, uint8* dst_argb, int width); | 1304 void RGB24ToARGBRow_NEON(const uint8* src_rgb24, uint8* dst_argb, int width); |
| 1305 void RGB24ToARGBRow_MSA(const uint8* src_rgb24, uint8* dst_argb, int width); |
| 1245 void RAWToARGBRow_NEON(const uint8* src_raw, uint8* dst_argb, int width); | 1306 void RAWToARGBRow_NEON(const uint8* src_raw, uint8* dst_argb, int width); |
| 1307 void RAWToARGBRow_MSA(const uint8* src_raw, uint8* dst_argb, int width); |
| 1246 void RAWToRGB24Row_NEON(const uint8* src_raw, uint8* dst_rgb24, int width); | 1308 void RAWToRGB24Row_NEON(const uint8* src_raw, uint8* dst_rgb24, int width); |
| 1247 void RGB565ToARGBRow_NEON(const uint8* src_rgb565, uint8* dst_argb, int width); | 1309 void RGB565ToARGBRow_NEON(const uint8* src_rgb565, uint8* dst_argb, int width); |
| 1310 void RGB565ToARGBRow_MSA(const uint8* src_rgb565, uint8* dst_argb, int width); |
| 1248 void ARGB1555ToARGBRow_NEON(const uint8* src_argb1555, | 1311 void ARGB1555ToARGBRow_NEON(const uint8* src_argb1555, |
| 1249 uint8* dst_argb, | 1312 uint8* dst_argb, |
| 1250 int width); | 1313 int width); |
| 1314 void ARGB1555ToARGBRow_MSA(const uint8* src_argb1555, |
| 1315 uint8* dst_argb, |
| 1316 int width); |
| 1251 void ARGB4444ToARGBRow_NEON(const uint8* src_argb4444, | 1317 void ARGB4444ToARGBRow_NEON(const uint8* src_argb4444, |
| 1252 uint8* dst_argb, | 1318 uint8* dst_argb, |
| 1253 int width); | 1319 int width); |
| 1254 void ARGB4444ToARGBRow_MSA(const uint8* src_argb4444, | 1320 void ARGB4444ToARGBRow_MSA(const uint8* src_argb4444, |
| 1255 uint8* dst_argb, | 1321 uint8* dst_argb, |
| 1256 int width); | 1322 int width); |
| 1257 void RGB24ToARGBRow_C(const uint8* src_rgb24, uint8* dst_argb, int width); | 1323 void RGB24ToARGBRow_C(const uint8* src_rgb24, uint8* dst_argb, int width); |
| 1258 void RAWToARGBRow_C(const uint8* src_raw, uint8* dst_argb, int width); | 1324 void RAWToARGBRow_C(const uint8* src_raw, uint8* dst_argb, int width); |
| 1259 void RAWToRGB24Row_C(const uint8* src_raw, uint8* dst_rgb24, int width); | 1325 void RAWToRGB24Row_C(const uint8* src_raw, uint8* dst_rgb24, int width); |
| 1260 void RGB565ToARGBRow_C(const uint8* src_rgb, uint8* dst_argb, int width); | 1326 void RGB565ToARGBRow_C(const uint8* src_rgb, uint8* dst_argb, int width); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 1281 void ARGB1555ToARGBRow_Any_AVX2(const uint8* src_argb1555, | 1347 void ARGB1555ToARGBRow_Any_AVX2(const uint8* src_argb1555, |
| 1282 uint8* dst_argb, | 1348 uint8* dst_argb, |
| 1283 int width); | 1349 int width); |
| 1284 void ARGB4444ToARGBRow_Any_AVX2(const uint8* src_argb4444, | 1350 void ARGB4444ToARGBRow_Any_AVX2(const uint8* src_argb4444, |
| 1285 uint8* dst_argb, | 1351 uint8* dst_argb, |
| 1286 int width); | 1352 int width); |
| 1287 | 1353 |
| 1288 void RGB24ToARGBRow_Any_NEON(const uint8* src_rgb24, | 1354 void RGB24ToARGBRow_Any_NEON(const uint8* src_rgb24, |
| 1289 uint8* dst_argb, | 1355 uint8* dst_argb, |
| 1290 int width); | 1356 int width); |
| 1357 void RGB24ToARGBRow_Any_MSA(const uint8* src_rgb24, uint8* dst_argb, int width); |
| 1291 void RAWToARGBRow_Any_NEON(const uint8* src_raw, uint8* dst_argb, int width); | 1358 void RAWToARGBRow_Any_NEON(const uint8* src_raw, uint8* dst_argb, int width); |
| 1359 void RAWToARGBRow_Any_MSA(const uint8* src_raw, uint8* dst_argb, int width); |
| 1292 void RAWToRGB24Row_Any_NEON(const uint8* src_raw, uint8* dst_rgb24, int width); | 1360 void RAWToRGB24Row_Any_NEON(const uint8* src_raw, uint8* dst_rgb24, int width); |
| 1293 void RGB565ToARGBRow_Any_NEON(const uint8* src_rgb565, | 1361 void RGB565ToARGBRow_Any_NEON(const uint8* src_rgb565, |
| 1294 uint8* dst_argb, | 1362 uint8* dst_argb, |
| 1295 int width); | 1363 int width); |
| 1364 void RGB565ToARGBRow_Any_MSA(const uint8* src_rgb565, |
| 1365 uint8* dst_argb, |
| 1366 int width); |
| 1296 void ARGB1555ToARGBRow_Any_NEON(const uint8* src_argb1555, | 1367 void ARGB1555ToARGBRow_Any_NEON(const uint8* src_argb1555, |
| 1297 uint8* dst_argb, | 1368 uint8* dst_argb, |
| 1298 int width); | 1369 int width); |
| 1370 void ARGB1555ToARGBRow_Any_MSA(const uint8* src_argb1555, |
| 1371 uint8* dst_argb, |
| 1372 int width); |
| 1299 void ARGB4444ToARGBRow_Any_NEON(const uint8* src_argb4444, | 1373 void ARGB4444ToARGBRow_Any_NEON(const uint8* src_argb4444, |
| 1300 uint8* dst_argb, | 1374 uint8* dst_argb, |
| 1301 int width); | 1375 int width); |
| 1302 void ARGB4444ToARGBRow_Any_MSA(const uint8* src_argb4444, | 1376 void ARGB4444ToARGBRow_Any_MSA(const uint8* src_argb4444, |
| 1303 uint8* dst_argb, | 1377 uint8* dst_argb, |
| 1304 int width); | 1378 int width); |
| 1305 | 1379 |
| 1306 void ARGBToRGB24Row_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); | 1380 void ARGBToRGB24Row_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); |
| 1307 void ARGBToRAWRow_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); | 1381 void ARGBToRAWRow_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width); |
| 1308 void ARGBToRGB565Row_SSE2(const uint8* src_argb, uint8* dst_rgb, int width); | 1382 void ARGBToRGB565Row_SSE2(const uint8* src_argb, uint8* dst_rgb, int width); |
| (...skipping 1382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2691 int width, | 2765 int width, |
| 2692 const uint8* luma, | 2766 const uint8* luma, |
| 2693 uint32 lumacoeff); | 2767 uint32 lumacoeff); |
| 2694 | 2768 |
| 2695 #ifdef __cplusplus | 2769 #ifdef __cplusplus |
| 2696 } // extern "C" | 2770 } // extern "C" |
| 2697 } // namespace libyuv | 2771 } // namespace libyuv |
| 2698 #endif | 2772 #endif |
| 2699 | 2773 |
| 2700 #endif // INCLUDE_LIBYUV_ROW_H_ | 2774 #endif // INCLUDE_LIBYUV_ROW_H_ |
| OLD | NEW |