aboutsummaryrefslogtreecommitdiff
path: root/source/scale_argb.cc
diff options
context:
space:
mode:
authorFrank Barchard <fbarchard@google.com>2019-09-11 11:39:52 -0700
committerFrank Barchard <fbarchard@chromium.org>2019-09-11 21:06:21 +0000
commitc85a7b3ae3efb8b7e63aa86122c42843333ab91d (patch)
tree2d76dc6838076c5bc6c59419c4d0ae9da3d29ec3 /source/scale_argb.cc
parenteeccc19a99fec583ee927df665291ecdd5dc15af (diff)
downloadlibyuv-c85a7b3ae3efb8b7e63aa86122c42843333ab91d.tar.gz
MMI Optimized functions I422ToARGB for 1080p video
Improves playback performance for 1080p video on www.youku.com BUG=libyuv:841 Change-Id: Iabe7693fba276162af0290863f46e214ab86fb6c Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1790959 Reviewed-by: Miguel Casas <mcasas@chromium.org>
Diffstat (limited to 'source/scale_argb.cc')
-rw-r--r--source/scale_argb.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/scale_argb.cc b/source/scale_argb.cc
index beef380a..58aa5ebb 100644
--- a/source/scale_argb.cc
+++ b/source/scale_argb.cc
@@ -627,6 +627,14 @@ static void ScaleYUVToARGBBilinearUp(int src_width,
}
}
#endif
+#if defined(HAS_I422TOARGBROW_MMI)
+ if (TestCpuFlag(kCpuHasMMI)) {
+ I422ToARGBRow = I422ToARGBRow_Any_MMI;
+ if (IS_ALIGNED(src_width, 4)) {
+ I422ToARGBRow = I422ToARGBRow_MMI;
+ }
+ }
+#endif
void (*InterpolateRow)(uint8_t * dst_argb, const uint8_t* src_argb,
ptrdiff_t src_stride, int dst_width,