Neon does 8 at a time, so a check is added for any function of I422ToBGRA that width is >= 8 and for fast path that it is a multiple of 8 not 16.
BUG=373
TESTED=untested
R=brucedawson@google.com
Review URL: https://webrtc-codereview.appspot.com/24059004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1126 16f28f9a-4ce2-e073-06de-1de4eb20be90
diff --git a/source/planar_functions.cc b/source/planar_functions.cc
index 661cad9..ebed839 100644
--- a/source/planar_functions.cc
+++ b/source/planar_functions.cc
@@ -794,9 +794,9 @@
src_stride_y = src_stride_u = src_stride_v = dst_stride_bgra = 0;
}
#if defined(HAS_I422TOBGRAROW_NEON)
- if (TestCpuFlag(kCpuHasNEON)) {
+ if (TestCpuFlag(kCpuHasNEON) && width >= 8) {
I422ToBGRARow = I422ToBGRARow_Any_NEON;
- if (IS_ALIGNED(width, 16)) {
+ if (IS_ALIGNED(width, 8)) {
I422ToBGRARow = I422ToBGRARow_NEON;
}
}