mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-08 01:36:47 +08:00
vrshrn by 8 for neon. vector rounding shift right with narrowing from u16 to u8.
BUG=183 TEST=try bots Review URL: https://webrtc-codereview.appspot.com/1269007 git-svn-id: http://libyuv.googlecode.com/svn/trunk@628 16f28f9a-4ce2-e073-06de-1de4eb20be90
This commit is contained in:
parent
913656a35d
commit
6a352141ef
@ -1,6 +1,6 @@
|
||||
Name: libyuv
|
||||
URL: http://code.google.com/p/libyuv/
|
||||
Version: 627
|
||||
Version: 628
|
||||
License: BSD
|
||||
License File: LICENSE
|
||||
|
||||
|
||||
@ -11,6 +11,6 @@
|
||||
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
|
||||
#define INCLUDE_LIBYUV_VERSION_H_
|
||||
|
||||
#define LIBYUV_VERSION 627
|
||||
#define LIBYUV_VERSION 628
|
||||
|
||||
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
|
||||
|
||||
@ -2491,14 +2491,10 @@ void ARGBMultiplyRow_NEON(const uint8* src_argb0, const uint8* src_argb1,
|
||||
"vmull.u8 q1, d2, d3 \n" // multiply G
|
||||
"vmull.u8 q2, d4, d5 \n" // multiply R
|
||||
"vmull.u8 q3, d6, d7 \n" // multiply A
|
||||
"vrshr.u16 q0, q0, #8 \n" // low 8 bits B
|
||||
"vrshr.u16 q1, q1, #8 \n" // low 8 bits G
|
||||
"vrshr.u16 q2, q2, #8 \n" // low 8 bits R
|
||||
"vrshr.u16 q3, q3, #8 \n" // low 8 bits A
|
||||
"vmovn.u16 d0, q0 \n" // 16 bit to 8 bit B
|
||||
"vmovn.u16 d1, q1 \n" // 16 bit to 8 bit G
|
||||
"vmovn.u16 d2, q2 \n" // 16 bit to 8 bit R
|
||||
"vmovn.u16 d3, q3 \n" // 16 bit to 8 bit A
|
||||
"vrshrn.u16 d0, q0, #8 \n" // 16 bit to 8 bit B
|
||||
"vrshrn.u16 d1, q1, #8 \n" // 16 bit to 8 bit G
|
||||
"vrshrn.u16 d2, q2, #8 \n" // 16 bit to 8 bit R
|
||||
"vrshrn.u16 d3, q3, #8 \n" // 16 bit to 8 bit A
|
||||
"vst4.8 {d0, d1, d2, d3}, [%2]! \n" // store 8 ARGB pixels.
|
||||
"bgt 1b \n"
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user