Commit 6a352141 authored by fbarchard@google.com's avatar fbarchard@google.com

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
parent 913656a3
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"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment