aboutsummaryrefslogtreecommitdiff
path: root/source/convert_from.cc
diff options
context:
space:
mode:
authorfbarchard@google.com <fbarchard@google.com@16f28f9a-4ce2-e073-06de-1de4eb20be90>2013-04-12 07:26:24 +0000
committerfbarchard@google.com <fbarchard@google.com@16f28f9a-4ce2-e073-06de-1de4eb20be90>2013-04-12 07:26:24 +0000
commitc297d103f199dc8c9565ea0f35bdb0832a9d10b8 (patch)
tree556acd1d4fdcccced311c086ae0867c1c1eccedd /source/convert_from.cc
parent3075ac418710acd583f9e7bc5bb886129456355c (diff)
downloadlibyuv-c297d103f199dc8c9565ea0f35bdb0832a9d10b8.tar.gz
I420ToARGB for Haswell.
BUG=216 TEST=I420ToARGB Review URL: https://webrtc-codereview.appspot.com/1314004 git-svn-id: http://libyuv.googlecode.com/svn/trunk@660 16f28f9a-4ce2-e073-06de-1de4eb20be90
Diffstat (limited to 'source/convert_from.cc')
-rw-r--r--source/convert_from.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/source/convert_from.cc b/source/convert_from.cc
index bb7c35b6..870a81c8 100644
--- a/source/convert_from.cc
+++ b/source/convert_from.cc
@@ -557,14 +557,24 @@ int I420ToARGB(const uint8* src_y, int src_stride_y,
}
}
}
-#elif defined(HAS_I422TOARGBROW_NEON)
+#endif
+#if defined(HAS_I422TOARGBROW_AVX2)
+ if (TestCpuFlag(kCpuHasAVX2) && width >= 16) {
+ I422ToARGBRow = I422ToARGBRow_Any_AVX2;
+ if (IS_ALIGNED(width, 16)) {
+ I422ToARGBRow = I422ToARGBRow_AVX2;
+ }
+ }
+#endif
+#if defined(HAS_I422TOARGBROW_NEON)
if (TestCpuFlag(kCpuHasNEON) && width >= 8) {
I422ToARGBRow = I422ToARGBRow_Any_NEON;
if (IS_ALIGNED(width, 8)) {
I422ToARGBRow = I422ToARGBRow_NEON;
}
}
-#elif defined(HAS_I422TOARGBROW_MIPS_DSPR2)
+#endif
+#if defined(HAS_I422TOARGBROW_MIPS_DSPR2)
if (TestCpuFlag(kCpuHasMIPS_DSPR2) && IS_ALIGNED(width, 4) &&
IS_ALIGNED(src_y, 4) && IS_ALIGNED(src_stride_y, 4) &&
IS_ALIGNED(src_u, 2) && IS_ALIGNED(src_stride_u, 2) &&