Closed GoogleCodeExporter closed 8 years ago
ARMv7 slowest conversions:
util/android/test_runner.py gtest -s libyuv_unittest -t 7200 --verbose
--release --gtest_filter=*ConvertTest* -a "--libyuv_width=1280
--libyuv_height=720 --libyuv_repeat=999 --libyuv_flags=-1" | grep ms | sed
's/\(.*(\)\([0-9]*\)\( ms)\)/\2 - \1\2\3/g' | sort -rn | sed 's/.*- \(.*\)/\1/g'
LibYUVConvertTest.I420AlphaToARGB_Premult (78211 ms)
LibYUVConvertTest.I420AlphaToABGR_Premult (78106 ms)
LibYUVConvertTest.I420AlphaToARGB_Any (77558 ms)
LibYUVConvertTest.I420AlphaToABGR_Invert (77419 ms)
LibYUVConvertTest.I420AlphaToARGB_Unaligned (77245 ms)
LibYUVConvertTest.I420AlphaToABGR_Opt (77227 ms)
LibYUVConvertTest.I420AlphaToABGR_Unaligned (77046 ms)
LibYUVConvertTest.I420AlphaToABGR_Any (76689 ms)
LibYUVConvertTest.I420AlphaToARGB_Invert (76672 ms)
LibYUVConvertTest.I420AlphaToARGB_Opt (76534 ms)
LibYUVConvertTest.ARGBToYUY2_Any (7811 ms)
LibYUVConvertTest.ARGBToYUY2_Opt (7804 ms)
LibYUVConvertTest.ARGBToYUY2_Unaligned (7759 ms)
LibYUVConvertTest.ARGBToUYVY_Unaligned (7744 ms)
LibYUVConvertTest.ARGBToUYVY_Any (7701 ms)
LibYUVConvertTest.ARGBToUYVY_Opt (7689 ms)
LibYUVConvertTest.I420ToI444_Invert (6602 ms)
LibYUVConvertTest.I420ToI444_Any (6578 ms)
LibYUVConvertTest.I420ToI444_Unaligned (6000 ms)
LibYUVConvertTest.I420ToI444_Opt (5996 ms)
LibYUVConvertTest.I420ToRGB565Dither_Any (4833 ms)
LibYUVConvertTest.ARGBToI444_Unaligned (4556 ms)
LibYUVConvertTest.ARGB1555ToI420_Any (4515 ms)
LibYUVConvertTest.I420ToRGB565Dither_Unaligned (4460 ms)
LibYUVConvertTest.I420ToRGB565Dither_Invert (4347 ms)
LibYUVConvertTest.I420ToRGB565Dither_Opt (4318 ms)
LibYUVConvertTest.H422ToARGB_Unaligned (4267 ms)
LibYUVConvertTest.RGB565ToI420_Any (4208 ms)
LibYUVConvertTest.ARGBToI444_Opt (4143 ms)
Original comment by fbarch...@google.com
on 3 Nov 2015 at 7:36
The following revision refers to this bug:
https://chromium.googlesource.com/libyuv/libyuv.git/+/c629cb3afedfbd8c88c92891b5b843db2ad9aba2
commit c629cb3afedfbd8c88c92891b5b843db2ad9aba2
Author: Frank Barchard <fbarchard@google.com>
Date: Wed Nov 04 01:01:48 2015
add command line cpu info to allow android neon test
in order to compare C and Neon code, a new command line flag is added.
historically environment variables controlled cpu features, but on
android apk it is easier to pass a command line option to disable cpu
optimizations.
R=harryjin@google.com
BUG=libyuv:516
Review URL: https://codereview.chromium.org/1407193009 .
[modify]
http://crrev.com/c629cb3afedfbd8c88c92891b5b843db2ad9aba2/unit_test/color_test.c
c
[modify]
http://crrev.com/c629cb3afedfbd8c88c92891b5b843db2ad9aba2/unit_test/compare_test
.cc
[modify]
http://crrev.com/c629cb3afedfbd8c88c92891b5b843db2ad9aba2/unit_test/convert_test
.cc
[modify]
http://crrev.com/c629cb3afedfbd8c88c92891b5b843db2ad9aba2/unit_test/cpu_test.cc
[modify]
http://crrev.com/c629cb3afedfbd8c88c92891b5b843db2ad9aba2/unit_test/planar_test.
cc
[modify]
http://crrev.com/c629cb3afedfbd8c88c92891b5b843db2ad9aba2/unit_test/rotate_argb_
test.cc
[modify]
http://crrev.com/c629cb3afedfbd8c88c92891b5b843db2ad9aba2/unit_test/rotate_test.
cc
[modify]
http://crrev.com/c629cb3afedfbd8c88c92891b5b843db2ad9aba2/unit_test/scale_argb_t
est.cc
[modify]
http://crrev.com/c629cb3afedfbd8c88c92891b5b843db2ad9aba2/unit_test/scale_test.c
c
[modify]
http://crrev.com/c629cb3afedfbd8c88c92891b5b843db2ad9aba2/unit_test/unit_test.cc
[modify]
http://crrev.com/c629cb3afedfbd8c88c92891b5b843db2ad9aba2/unit_test/unit_test.h
Original comment by bugdroid1@chromium.org
on 4 Nov 2015 at 1:02
The following revision refers to this bug:
https://chromium.googlesource.com/libyuv/libyuv.git/+/860cc0357a4b0d224be673c0ccfad192745a4192
commit 860cc0357a4b0d224be673c0ccfad192745a4192
Author: Frank Barchard <fbarchard@google.com>
Date: Wed Nov 04 03:21:36 2015
Neon versions of I420AlphaToARGB
Add alpha version of YUV to RGB to neon code for ARMv7 and aarch64.
For other YUV to RGB conversions, hoist alpha set to 255 out of loop.
TBR=harryjin@google.com
BUG=libyuv:516
Review URL: https://codereview.chromium.org/1413763017 .
[modify]
http://crrev.com/860cc0357a4b0d224be673c0ccfad192745a4192/include/libyuv/row.h
[modify]
http://crrev.com/860cc0357a4b0d224be673c0ccfad192745a4192/source/row_any.cc
[modify]
http://crrev.com/860cc0357a4b0d224be673c0ccfad192745a4192/source/row_neon.cc
[modify]
http://crrev.com/860cc0357a4b0d224be673c0ccfad192745a4192/source/row_neon64.cc
Original comment by bugdroid1@chromium.org
on 4 Nov 2015 at 3:22
fixed.
I420AlphaToARGB_Premult (2610 ms)
I420ToARGB_Any (2308 ms)
I420ToABGR_Any (2229 ms)
I420AlphaToABGR_Any (2164 ms)
I420ToABGR_ARGB_Any (2146 ms)
I420AlphaToARGB_Any (2145 ms)
I420ToARGB_RAW_Any (2143 ms)
I420ToARGB_Unaligned (2133 ms)
I420ToARGB_ABGR_Any (2127 ms)
I420ToARGB_RGB565_Any (2058 ms)
I420ToABGR_Unaligned (2013 ms)
I420ToABGR_ARGB_Unaligned (2012 ms)
I420ToARGB_ARGB1555_Any (2011 ms)
I420ToARGB_ARGB4444_Any (2005 ms)
I420ToARGB_Invert (2003 ms)
I420ToARGB_ABGR_Unaligned (1994 ms)
I420AlphaToABGR_Unaligned (1975 ms)
I420AlphaToARGB_Unaligned (1971 ms)
I420ToARGB_RAW_Unaligned (1931 ms)
I420ToARGB_Opt (1902 ms)
I420ToARGB_RGB565_Unaligned (1875 ms)
I420ToARGB_ARGB1555_Unaligned (1874 ms)
I420ToARGB_ARGB4444_Unaligned (1872 ms)
I420ToABGR_ARGB_Invert (1867 ms)
I420ToARGB_ABGR_Invert (1866 ms)
I420AlphaToABGR_Invert (1841 ms)
I420ToABGR_ARGB_Opt (1836 ms)
I420ToABGR_Invert (1836 ms)
I420AlphaToARGB_Opt (1826 ms)
I420AlphaToARGB_Invert (1826 ms)
I420AlphaToABGR_Opt (1824 ms)
I420ToARGB_ABGR_Opt (1822 ms)
I420ToABGR_Opt (1805 ms)
I420ToARGB_RAW_Invert (1750 ms)
I420ToARGB_RGB565_Invert (1739 ms)
I420ToARGB_ARGB1555_Invert (1733 ms)
I420ToARGB_ARGB4444_Invert (1732 ms)
I420ToARGB_RAW_Opt (1731 ms)
I420ToARGB_ARGB4444_Opt (1724 ms)
I420ToARGB_RGB565_Opt (1719 ms)
I420ToARGB_ARGB1555_Opt (1712 ms)
Original comment by fbarch...@chromium.org
on 5 Nov 2015 at 1:18
Original issue reported on code.google.com by
fbarch...@chromium.org
on 26 Oct 2015 at 10:15