| 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 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 #define HAS_BGRATOUVROW_NEON | 297 #define HAS_BGRATOUVROW_NEON |
| 298 #define HAS_BGRATOYROW_NEON | 298 #define HAS_BGRATOYROW_NEON |
| 299 #define HAS_COPYROW_NEON | 299 #define HAS_COPYROW_NEON |
| 300 #define HAS_J400TOARGBROW_NEON | 300 #define HAS_J400TOARGBROW_NEON |
| 301 #define HAS_I411TOARGBROW_NEON | 301 #define HAS_I411TOARGBROW_NEON |
| 302 #define HAS_I422TOABGRROW_NEON | 302 #define HAS_I422TOABGRROW_NEON |
| 303 #define HAS_I422TOARGB1555ROW_NEON | 303 #define HAS_I422TOARGB1555ROW_NEON |
| 304 #define HAS_I422TOARGB4444ROW_NEON | 304 #define HAS_I422TOARGB4444ROW_NEON |
| 305 #define HAS_I422TOARGBROW_NEON | 305 #define HAS_I422TOARGBROW_NEON |
| 306 // TODO(fbarchard): Implement NEON version | 306 // TODO(fbarchard): Implement NEON version |
| 307 // #define HAS_I422TOARGBMATRIXROW_NEON | 307 #ifndef __aarch64__ |
| 308 #define HAS_I422TOARGBMATRIXROW_NEON |
| 309 #endif |
| 308 // #define HAS_I422TOABGRMATRIXROW_NEON | 310 // #define HAS_I422TOABGRMATRIXROW_NEON |
| 309 #define HAS_I422TOBGRAROW_NEON | 311 #define HAS_I422TOBGRAROW_NEON |
| 310 #define HAS_I422TORAWROW_NEON | 312 #define HAS_I422TORAWROW_NEON |
| 311 #define HAS_I422TORGB24ROW_NEON | 313 #define HAS_I422TORGB24ROW_NEON |
| 312 #define HAS_I422TORGB565ROW_NEON | 314 #define HAS_I422TORGB565ROW_NEON |
| 313 #define HAS_I422TORGBAROW_NEON | 315 #define HAS_I422TORGBAROW_NEON |
| 314 #define HAS_I422TOUYVYROW_NEON | 316 #define HAS_I422TOUYVYROW_NEON |
| 315 #define HAS_I422TOYUY2ROW_NEON | 317 #define HAS_I422TOYUY2ROW_NEON |
| 316 #define HAS_I444TOARGBROW_NEON | 318 #define HAS_I444TOARGBROW_NEON |
| 317 #define HAS_MERGEUVROW_NEON | 319 #define HAS_MERGEUVROW_NEON |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 struct YuvConstants { | 437 struct YuvConstants { |
| 436 lvec8 kUVToB; | 438 lvec8 kUVToB; |
| 437 lvec8 kUVToG; | 439 lvec8 kUVToG; |
| 438 lvec8 kUVToR; | 440 lvec8 kUVToR; |
| 439 lvec16 kUVBiasB; | 441 lvec16 kUVBiasB; |
| 440 lvec16 kUVBiasG; | 442 lvec16 kUVBiasG; |
| 441 lvec16 kUVBiasR; | 443 lvec16 kUVBiasR; |
| 442 lvec16 kYToRgb; | 444 lvec16 kYToRgb; |
| 443 }; | 445 }; |
| 444 | 446 |
| 447 struct YuvConstantsNEON { |
| 448 uvec8 kUVToRB; |
| 449 uvec8 kUVToG; |
| 450 vec16 kUVBiasBGR; |
| 451 vec32 kYToRgb; |
| 452 }; |
| 453 |
| 445 #if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__) | 454 #if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__) |
| 446 #define OMITFP | 455 #define OMITFP |
| 447 #else | 456 #else |
| 448 #define OMITFP __attribute__((optimize("omit-frame-pointer"))) | 457 #define OMITFP __attribute__((optimize("omit-frame-pointer"))) |
| 449 #endif | 458 #endif |
| 450 | 459 |
| 451 // NaCL macros for GCC x86 and x64. | 460 // NaCL macros for GCC x86 and x64. |
| 452 #if defined(__native_client__) | 461 #if defined(__native_client__) |
| 453 #define LABELALIGN ".p2align 5\n" | 462 #define LABELALIGN ".p2align 5\n" |
| 454 #else | 463 #else |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 534 int width); | 543 int width); |
| 535 void I422ToARGBRow_NEON(const uint8* src_y, | 544 void I422ToARGBRow_NEON(const uint8* src_y, |
| 536 const uint8* src_u, | 545 const uint8* src_u, |
| 537 const uint8* src_v, | 546 const uint8* src_v, |
| 538 uint8* dst_argb, | 547 uint8* dst_argb, |
| 539 int width); | 548 int width); |
| 540 void I422ToARGBMatrixRow_NEON(const uint8* src_y, | 549 void I422ToARGBMatrixRow_NEON(const uint8* src_y, |
| 541 const uint8* src_u, | 550 const uint8* src_u, |
| 542 const uint8* src_v, | 551 const uint8* src_v, |
| 543 uint8* dst_argb, | 552 uint8* dst_argb, |
| 544 struct YuvConstants* YuvConstants, | 553 struct YuvConstantsNEON* YuvConstants, |
| 545 int width); | 554 int width); |
| 546 void I422ToABGRMatrixRow_NEON(const uint8* src_y, | 555 void I422ToABGRMatrixRow_NEON(const uint8* src_y, |
| 547 const uint8* src_u, | 556 const uint8* src_u, |
| 548 const uint8* src_v, | 557 const uint8* src_v, |
| 549 uint8* dst_argb, | 558 uint8* dst_argb, |
| 550 struct YuvConstants* YuvConstants, | 559 struct YuvConstants* YuvConstants, |
| 551 int width); | 560 int width); |
| 552 void I411ToARGBRow_NEON(const uint8* src_y, | 561 void I411ToARGBRow_NEON(const uint8* src_y, |
| 553 const uint8* src_u, | 562 const uint8* src_u, |
| 554 const uint8* src_v, | 563 const uint8* src_v, |
| (...skipping 1452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2007 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 2016 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
| 2008 int width, | 2017 int width, |
| 2009 const uint8* luma, uint32 lumacoeff); | 2018 const uint8* luma, uint32 lumacoeff); |
| 2010 | 2019 |
| 2011 #ifdef __cplusplus | 2020 #ifdef __cplusplus |
| 2012 } // extern "C" | 2021 } // extern "C" |
| 2013 } // namespace libyuv | 2022 } // namespace libyuv |
| 2014 #endif | 2023 #endif |
| 2015 | 2024 |
| 2016 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT | 2025 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT |
| OLD | NEW |