Commit b3446fc5 authored by fbarchard@google.com's avatar fbarchard@google.com

ARGBmultiply re-enabled with shifts and narrow as 2 steps.

BUG=183
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1121008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@584 16f28f9a-4ce2-e073-06de-1de4eb20be90
parent 83a63e65
Name: libyuv Name: libyuv
URL: http://code.google.com/p/libyuv/ URL: http://code.google.com/p/libyuv/
Version: 582 Version: 584
License: BSD License: BSD
License File: LICENSE License File: LICENSE
......
...@@ -249,7 +249,7 @@ extern "C" { ...@@ -249,7 +249,7 @@ extern "C" {
#define HAS_ARGBCOLORMATRIXROW_NEON #define HAS_ARGBCOLORMATRIXROW_NEON
#define HAS_ARGBGRAYROW_NEON #define HAS_ARGBGRAYROW_NEON
#define HAS_ARGBINTERPOLATEROW_NEON #define HAS_ARGBINTERPOLATEROW_NEON
// #define HAS_ARGBMULTIPLYROW_NEON #define HAS_ARGBMULTIPLYROW_NEON
#define HAS_ARGBQUANTIZEROW_NEON #define HAS_ARGBQUANTIZEROW_NEON
#define HAS_ARGBSEPIAROW_NEON #define HAS_ARGBSEPIAROW_NEON
#define HAS_ARGBSHADEROW_NEON #define HAS_ARGBSHADEROW_NEON
......
...@@ -11,6 +11,6 @@ ...@@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT #ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_ #define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 582 #define LIBYUV_VERSION 584
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
...@@ -2518,10 +2518,14 @@ void ARGBMultiplyRow_NEON(const uint8* src_argb0, const uint8* src_argb1, ...@@ -2518,10 +2518,14 @@ void ARGBMultiplyRow_NEON(const uint8* src_argb0, const uint8* src_argb1,
"vmull.u8 q1, d2, d3 \n" // multiply G "vmull.u8 q1, d2, d3 \n" // multiply G
"vmull.u8 q2, d4, d5 \n" // multiply R "vmull.u8 q2, d4, d5 \n" // multiply R
"vmull.u8 q3, d6, d7 \n" // multiply A "vmull.u8 q3, d6, d7 \n" // multiply A
"vqshrun.u16 d0, q0, #8 \n" // 16 bit to 8 bit B "vrshr.u16 q0, q0, #8 \n" // low 8 bits B
"vqshrun.u16 d1, q1, #8 \n" // 16 bit to 8 bit G "vrshr.u16 q1, q1, #8 \n" // low 8 bits G
"vqshrun.u16 d2, q2, #8 \n" // 16 bit to 8 bit R "vrshr.u16 q2, q2, #8 \n" // low 8 bits R
"vqshrun.u16 d3, q3, #8 \n" // 16 bit to 8 bit A "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
"vst4.8 {d0, d1, d2, d3}, [%2]! \n" // store 8 ARGB pixels. "vst4.8 {d0, d1, d2, d3}, [%2]! \n" // store 8 ARGB pixels.
"bgt 1b \n" "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