| 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 |