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 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 #define HAS_I422TOARGBROW_DSPR2 | 367 #define HAS_I422TOARGBROW_DSPR2 |
368 #define HAS_INTERPOLATEROW_DSPR2 | 368 #define HAS_INTERPOLATEROW_DSPR2 |
369 #define HAS_MIRRORROW_DSPR2 | 369 #define HAS_MIRRORROW_DSPR2 |
370 #define HAS_MIRRORUVROW_DSPR2 | 370 #define HAS_MIRRORUVROW_DSPR2 |
371 #define HAS_SPLITUVROW_DSPR2 | 371 #define HAS_SPLITUVROW_DSPR2 |
372 #endif | 372 #endif |
373 #endif | 373 #endif |
374 | 374 |
375 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) | 375 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) |
376 #define SIMD_ALIGNED(var) __declspec(align(16)) var | 376 #define SIMD_ALIGNED(var) __declspec(align(16)) var |
377 #define SIMD_ALIGNED32(var) __declspec(align(64)) var | 377 #define SIMD_ALIGNED32(var) __declspec(align(32)) var |
378 typedef __declspec(align(16)) int16 vec16[8]; | 378 typedef __declspec(align(16)) int16 vec16[8]; |
379 typedef __declspec(align(16)) int32 vec32[4]; | 379 typedef __declspec(align(16)) int32 vec32[4]; |
380 typedef __declspec(align(16)) int8 vec8[16]; | 380 typedef __declspec(align(16)) int8 vec8[16]; |
381 typedef __declspec(align(16)) uint16 uvec16[8]; | 381 typedef __declspec(align(16)) uint16 uvec16[8]; |
382 typedef __declspec(align(16)) uint32 uvec32[4]; | 382 typedef __declspec(align(16)) uint32 uvec32[4]; |
383 typedef __declspec(align(16)) uint8 uvec8[16]; | 383 typedef __declspec(align(16)) uint8 uvec8[16]; |
384 typedef __declspec(align(32)) int16 lvec16[16]; | 384 typedef __declspec(align(32)) int16 lvec16[16]; |
385 typedef __declspec(align(32)) int32 lvec32[8]; | 385 typedef __declspec(align(32)) int32 lvec32[8]; |
386 typedef __declspec(align(32)) int8 lvec8[32]; | 386 typedef __declspec(align(32)) int8 lvec8[32]; |
387 typedef __declspec(align(32)) uint16 ulvec16[16]; | 387 typedef __declspec(align(32)) uint16 ulvec16[16]; |
388 typedef __declspec(align(32)) uint32 ulvec32[8]; | 388 typedef __declspec(align(32)) uint32 ulvec32[8]; |
389 typedef __declspec(align(32)) uint8 ulvec8[32]; | 389 typedef __declspec(align(32)) uint8 ulvec8[32]; |
390 #elif !defined(__pnacl__) && (defined(__GNUC__) || defined(__clang__)) | 390 #elif !defined(__pnacl__) && (defined(__GNUC__) || defined(__clang__)) |
391 // Caveat GCC 4.2 to 4.7 have a known issue using vectors with const. | 391 // Caveat GCC 4.2 to 4.7 have a known issue using vectors with const. |
392 #define SIMD_ALIGNED(var) var __attribute__((aligned(16))) | 392 #define SIMD_ALIGNED(var) var __attribute__((aligned(16))) |
393 #define SIMD_ALIGNED32(var) var __attribute__((aligned(64))) | 393 #define SIMD_ALIGNED32(var) var __attribute__((aligned(32))) |
394 typedef int16 __attribute__((vector_size(16))) vec16; | 394 typedef int16 __attribute__((vector_size(16))) vec16; |
395 typedef int32 __attribute__((vector_size(16))) vec32; | 395 typedef int32 __attribute__((vector_size(16))) vec32; |
396 typedef int8 __attribute__((vector_size(16))) vec8; | 396 typedef int8 __attribute__((vector_size(16))) vec8; |
397 typedef uint16 __attribute__((vector_size(16))) uvec16; | 397 typedef uint16 __attribute__((vector_size(16))) uvec16; |
398 typedef uint32 __attribute__((vector_size(16))) uvec32; | 398 typedef uint32 __attribute__((vector_size(16))) uvec32; |
399 typedef uint8 __attribute__((vector_size(16))) uvec8; | 399 typedef uint8 __attribute__((vector_size(16))) uvec8; |
400 typedef int16 __attribute__((vector_size(32))) lvec16; | 400 typedef int16 __attribute__((vector_size(32))) lvec16; |
401 typedef int32 __attribute__((vector_size(32))) lvec32; | 401 typedef int32 __attribute__((vector_size(32))) lvec32; |
402 typedef int8 __attribute__((vector_size(32))) lvec8; | 402 typedef int8 __attribute__((vector_size(32))) lvec8; |
403 typedef uint16 __attribute__((vector_size(32))) ulvec16; | 403 typedef uint16 __attribute__((vector_size(32))) ulvec16; |
(...skipping 11 matching lines...) Expand all Loading... |
415 typedef int16 lvec16[16]; | 415 typedef int16 lvec16[16]; |
416 typedef int32 lvec32[8]; | 416 typedef int32 lvec32[8]; |
417 typedef int8 lvec8[32]; | 417 typedef int8 lvec8[32]; |
418 typedef uint16 ulvec16[16]; | 418 typedef uint16 ulvec16[16]; |
419 typedef uint32 ulvec32[8]; | 419 typedef uint32 ulvec32[8]; |
420 typedef uint8 ulvec8[32]; | 420 typedef uint8 ulvec8[32]; |
421 #endif | 421 #endif |
422 | 422 |
423 #if defined(__aarch64__) | 423 #if defined(__aarch64__) |
424 // This struct is for Arm64 color conversion. | 424 // This struct is for Arm64 color conversion. |
425 struct YuvConstants { | 425 struct uvConstants { |
426 uvec16 kUVToRB; | 426 uvec16 kUVToRB; |
427 uvec16 kUVToRB2; | 427 uvec16 kUVToRB2; |
428 uvec16 kUVToG; | 428 uvec16 kUVToG; |
429 uvec16 kUVToG2; | 429 uvec16 kUVToG2; |
430 vec16 kUVBiasBGR; | 430 vec16 kUVBiasBGR; |
431 vec32 kYToRgb; | 431 vec32 kYToRgb; |
432 }; | 432 }; |
433 #elif defined(__arm__) | 433 #elif defined(__arm__) |
434 // This struct is for ArmV7 color conversion. | 434 // This struct is for ArmV7 color conversion. |
435 struct YuvConstants { | 435 struct YuvConstants { |
(...skipping 1494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1930 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 1930 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
1931 int width, | 1931 int width, |
1932 const uint8* luma, uint32 lumacoeff); | 1932 const uint8* luma, uint32 lumacoeff); |
1933 | 1933 |
1934 #ifdef __cplusplus | 1934 #ifdef __cplusplus |
1935 } // extern "C" | 1935 } // extern "C" |
1936 } // namespace libyuv | 1936 } // namespace libyuv |
1937 #endif | 1937 #endif |
1938 | 1938 |
1939 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT | 1939 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT |
OLD | NEW |