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 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
449 struct YuvConstants { | 449 struct YuvConstants { |
450 lvec8 kUVToB; | 450 lvec8 kUVToB; |
451 lvec8 kUVToG; | 451 lvec8 kUVToG; |
452 lvec8 kUVToR; | 452 lvec8 kUVToR; |
453 lvec16 kUVBiasB; | 453 lvec16 kUVBiasB; |
454 lvec16 kUVBiasG; | 454 lvec16 kUVBiasG; |
455 lvec16 kUVBiasR; | 455 lvec16 kUVBiasR; |
456 lvec16 kYToRgb; | 456 lvec16 kYToRgb; |
457 }; | 457 }; |
458 | 458 |
| 459 // Offsets into YuvConstants structure |
| 460 #define KUVTOB 0 |
| 461 #define KUVTOG 32 |
| 462 #define KUVTOR 64 |
| 463 #define KUVBIASB 96 |
| 464 #define KUVBIASG 128 |
| 465 #define KUVBIASR 160 |
| 466 #define KYTORGB 192 |
| 467 |
459 struct YuvConstantsNEON { | 468 struct YuvConstantsNEON { |
460 uvec8 kUVToRB; | 469 uvec8 kUVToRB; |
461 uvec8 kUVToG; | 470 uvec8 kUVToG; |
462 vec16 kUVBiasBGR; | 471 vec16 kUVBiasBGR; |
463 vec32 kYToRgb; | 472 vec32 kYToRgb; |
464 }; | 473 }; |
465 | 474 |
| 475 extern struct YuvConstants kYuvConstants; |
| 476 extern struct YuvConstants kYvuConstants; |
| 477 extern struct YuvConstants kYuvJConstants; |
| 478 extern struct YuvConstants kYuvHConstants; |
| 479 extern struct YuvConstantsNEON kYuvConstantsNEON; |
| 480 extern struct YuvConstantsNEON kYuvJConstantsNEON; |
| 481 extern struct YuvConstantsNEON kYuvHConstantsNEON; |
| 482 |
466 #if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__) | 483 #if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__) |
467 #define OMITFP | 484 #define OMITFP |
468 #else | 485 #else |
469 #define OMITFP __attribute__((optimize("omit-frame-pointer"))) | 486 #define OMITFP __attribute__((optimize("omit-frame-pointer"))) |
470 #endif | 487 #endif |
471 | 488 |
472 // NaCL macros for GCC x86 and x64. | 489 // NaCL macros for GCC x86 and x64. |
473 #if defined(__native_client__) | 490 #if defined(__native_client__) |
474 #define LABELALIGN ".p2align 5\n" | 491 #define LABELALIGN ".p2align 5\n" |
475 #else | 492 #else |
(...skipping 1641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2117 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 2134 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
2118 int width, | 2135 int width, |
2119 const uint8* luma, uint32 lumacoeff); | 2136 const uint8* luma, uint32 lumacoeff); |
2120 | 2137 |
2121 #ifdef __cplusplus | 2138 #ifdef __cplusplus |
2122 } // extern "C" | 2139 } // extern "C" |
2123 } // namespace libyuv | 2140 } // namespace libyuv |
2124 #endif | 2141 #endif |
2125 | 2142 |
2126 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT | 2143 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT |
OLD | NEW |