diff options
author | Frank Barchard <fbarchard@google.com> | 2021-10-15 12:12:02 -0700 |
---|---|---|
committer | libyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2021-10-15 19:46:02 +0000 |
commit | 55b97cb48f027d2af417ce1f895cefad2ed1ce23 (patch) | |
tree | b1091fee47160f8027abc07ceb0ef5701eb5af86 /source/row_neon64.cc | |
parent | 11cbf8f976a41ccb279dc67489832ea9f12d56d7 (diff) | |
download | libyuv-55b97cb48f027d2af417ce1f895cefad2ed1ce23.tar.gz |
BIT_EXACT for unattenuate and attenuate.
- reenable Intel SIMD unaffected by BIT_EXACT
- add bit exact version of ARGBAttenuate, which uses ARM version of formula.
- add bit exact version of ARGBUnatenuate, which mimics the AVX code.
Apply clang format to cleanup code.
Bug: libyuv:908, b/202888439
Change-Id: Ie842b1b3956b48f4190858e61c02998caedc2897
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3224702
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Diffstat (limited to 'source/row_neon64.cc')
-rw-r--r-- | source/row_neon64.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/source/row_neon64.cc b/source/row_neon64.cc index 919f7f22..034b3117 100644 --- a/source/row_neon64.cc +++ b/source/row_neon64.cc @@ -1373,10 +1373,10 @@ void ARGBToRGB24Row_NEON(const uint8_t* src_argb, int width) { asm volatile( "1: \n" - "ld4 {v0.16b,v1.16b,v2.16b,v3.16b}, [%0], #64\n" // load 16 ARGB - "subs %w2, %w2, #16 \n" // 16 pixels per loop. + "ld4 {v0.16b,v1.16b,v2.16b,v3.16b}, [%0], #64 \n" // load 16 ARGB + "subs %w2, %w2, #16 \n" // 16 pixels per loop. "prfm pldl1keep, [%0, 448] \n" - "st3 {v0.16b,v1.16b,v2.16b}, [%1], #48\n" // store 8 RGB24 + "st3 {v0.16b,v1.16b,v2.16b}, [%1], #48 \n" // store 8 RGB24 "b.gt 1b \n" : "+r"(src_argb), // %0 "+r"(dst_rgb24), // %1 @@ -1683,7 +1683,6 @@ void ARGBToARGB4444Row_NEON(const uint8_t* src_argb, : "cc", "memory", "v0", "v1", "v16", "v17", "v18", "v19", "v23"); } - void ARGBToAR64Row_NEON(const uint8_t* src_argb, uint16_t* dst_ar64, int width) { |