diff options
author | fbarchard@google.com <fbarchard@google.com@16f28f9a-4ce2-e073-06de-1de4eb20be90> | 2013-04-12 07:26:24 +0000 |
---|---|---|
committer | fbarchard@google.com <fbarchard@google.com@16f28f9a-4ce2-e073-06de-1de4eb20be90> | 2013-04-12 07:26:24 +0000 |
commit | c297d103f199dc8c9565ea0f35bdb0832a9d10b8 (patch) | |
tree | 556acd1d4fdcccced311c086ae0867c1c1eccedd /source/convert_from.cc | |
parent | 3075ac418710acd583f9e7bc5bb886129456355c (diff) | |
download | libyuv-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.cc | 14 |
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) && |