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 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 typedef int8 lvec8[32]; | 421 typedef int8 lvec8[32]; |
422 typedef uint16 ulvec16[16]; | 422 typedef uint16 ulvec16[16]; |
423 typedef uint32 ulvec32[8]; | 423 typedef uint32 ulvec32[8]; |
424 typedef uint8 ulvec8[32]; | 424 typedef uint8 ulvec8[32]; |
425 #endif | 425 #endif |
426 | 426 |
427 #if defined(__arm__) || defined(__aarch64__) | 427 #if defined(__arm__) || defined(__aarch64__) |
428 | 428 |
429 // This struct is for Arm color conversion. | 429 // This struct is for Arm color conversion. |
430 struct YuvConstants { | 430 struct YuvConstants { |
431 uvec8 kUVToRB; | 431 uvec8 kUVToRB; |
432 uvec8 kUVToG; | 432 uvec8 kUVToG; |
433 vec16 kUVBiasBGR; | 433 vec16 kUVBiasBGR; |
434 vec32 kYToRgb; | 434 vec32 kYToRgb; |
435 }; | 435 }; |
436 | 436 |
437 #else | 437 #else |
438 | 438 |
439 // This struct is for Intel color conversion. | 439 // This struct is for Intel color conversion. |
440 struct YuvConstants { | 440 struct YuvConstants { |
441 lvec8 kUVToB; | 441 lvec8 kUVToB; |
442 lvec8 kUVToG; | 442 lvec8 kUVToG; |
443 lvec8 kUVToR; | 443 lvec8 kUVToR; |
444 lvec16 kUVBiasB; | 444 lvec16 kUVBiasB; |
445 lvec16 kUVBiasG; | 445 lvec16 kUVBiasG; |
446 lvec16 kUVBiasR; | 446 lvec16 kUVBiasR; |
447 lvec16 kYToRgb; | 447 lvec16 kYToRgb; |
448 }; | 448 }; |
449 | 449 |
450 // Offsets into YuvConstants structure | 450 // Offsets into YuvConstants structure |
451 #define KUVTOB 0 | 451 #define KUVTOB 0 |
452 #define KUVTOG 32 | 452 #define KUVTOG 32 |
453 #define KUVTOR 64 | 453 #define KUVTOR 64 |
454 #define KUVBIASB 96 | 454 #define KUVBIASB 96 |
455 #define KUVBIASG 128 | 455 #define KUVBIASG 128 |
456 #define KUVBIASR 160 | 456 #define KUVBIASR 160 |
457 #define KYTORGB 192 | 457 #define KYTORGB 192 |
458 #endif | 458 #endif |
459 | 459 |
460 extern struct YuvConstants kYuvConstants; | 460 extern struct YuvConstants kYuvConstants; |
461 extern struct YuvConstants kYvuConstants; | |
462 extern struct YuvConstants kYuvJConstants; | 461 extern struct YuvConstants kYuvJConstants; |
463 extern struct YuvConstants kYuvHConstants; | 462 extern struct YuvConstants kYuvHConstants; |
464 | 463 |
465 #if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__) | 464 #if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__) |
466 #define OMITFP | 465 #define OMITFP |
467 #else | 466 #else |
468 #define OMITFP __attribute__((optimize("omit-frame-pointer"))) | 467 #define OMITFP __attribute__((optimize("omit-frame-pointer"))) |
469 #endif | 468 #endif |
470 | 469 |
471 // NaCL macros for GCC x86 and x64. | 470 // NaCL macros for GCC x86 and x64. |
(...skipping 1665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2137 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 2136 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
2138 int width, | 2137 int width, |
2139 const uint8* luma, uint32 lumacoeff); | 2138 const uint8* luma, uint32 lumacoeff); |
2140 | 2139 |
2141 #ifdef __cplusplus | 2140 #ifdef __cplusplus |
2142 } // extern "C" | 2141 } // extern "C" |
2143 } // namespace libyuv | 2142 } // namespace libyuv |
2144 #endif | 2143 #endif |
2145 | 2144 |
2146 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT | 2145 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT |
OLD | NEW |