watery01 / libyuv

Automatically exported from code.google.com/p/libyuv
0 stars 0 forks source link

10ms target for Neon #139

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
All _Opt conversions should be 10ms or better

Slowest conversion in r456 are:
39042 - [       OK ] libyuvTest.I444ToARGB_Opt (39042 ms)
28801 - [       OK ] libyuvTest.I411ToARGB_Opt (28801 ms)
18103 - [       OK ] libyuvTest.RGB565ToI420_Opt (18103 ms)
18073 - [       OK ] libyuvTest.ARGB1555ToI420_Opt (18073 ms)
16203 - [       OK ] libyuvTest.ARGB4444ToI420_Opt (16203 ms)
14349 - [       OK ] libyuvTest.RAWToI420_Opt (14349 ms)
14263 - [       OK ] libyuvTest.RGB24ToI420_Opt (14263 ms)
11319 - [       OK ] libyuvTest.RGBAToI420_Opt (11319 ms)
10814 - [       OK ] libyuvTest.ABGRToI420_Opt (10814 ms)
10808 - [       OK ] libyuvTest.BGRAToI420_Opt (10808 ms)
10211 - [       OK ] libyuvTest.I420ToARGB1555_Opt (10211 ms)
9127 - [       OK ] libyuvTest.ARGBToI422_Opt (9127 ms)
8737 - [       OK ] libyuvTest.I420ToARGB4444_Opt (8737 ms)
8722 - [       OK ] libyuvTest.I420ToI444_Opt (8722 ms)
8471 - [       OK ] libyuvTest.BayerBGGRToI420_Opt (8471 ms)
8425 - [       OK ] libyuvTest.BayerGBRGToI420_Opt (8425 ms)
8423 - [       OK ] libyuvTest.BayerRGGBToI420_Opt (8423 ms)
8361 - [       OK ] libyuvTest.RGB565ToARGB_Opt (8361 ms)
8302 - [       OK ] libyuvTest.BayerGRBGToI420_Opt (8302 ms)
8249 - [       OK ] libyuvTest.ARGB1555ToARGB_Opt (8249 ms)
7601 - [       OK ] libyuvTest.NV12ToRGB565_Opt (7601 ms)
7596 - [       OK ] libyuvTest.NV21ToRGB565_Opt (7596 ms)
6536 - [       OK ] libyuvTest.ARGB4444ToARGB_Opt (6536 ms)
5656 - [       OK ] libyuvTest.UYVYToARGB_Opt (5656 ms)
5445 - [       OK ] libyuvTest.ARGBToI420_Opt (5445 ms)

Original issue reported on code.google.com by fbarch...@chromium.org on 30 Oct 2012 at 4:27

GoogleCodeExporter commented 9 years ago
r465 improves I400, NV12, RGB565
38651 - [       OK ] libyuvTest.I444ToARGB_Opt (38651 ms)
28375 - [       OK ] libyuvTest.I411ToARGB_Opt (28375 ms)
18131 - [       OK ] libyuvTest.ARGB1555ToI420_Opt (18131 ms)
18008 - [       OK ] libyuvTest.RGB565ToI420_Opt (18008 ms)
16184 - [       OK ] libyuvTest.ARGB4444ToI420_Opt (16184 ms)
14254 - [       OK ] libyuvTest.RAWToI420_Opt (14254 ms)
14242 - [       OK ] libyuvTest.RGB24ToI420_Opt (14242 ms)
12106 - [       OK ] libyuvTest.ABGRToI420_Opt (12106 ms)
10789 - [       OK ] libyuvTest.BGRAToI420_Opt (10789 ms)
10787 - [       OK ] libyuvTest.RGBAToI420_Opt (10787 ms)
9112 - [       OK ] libyuvTest.ARGBToI422_Opt (9112 ms)
8727 - [       OK ] libyuvTest.I420ToI444_Opt (8727 ms)
8418 - [       OK ] libyuvTest.BayerBGGRToI420_Opt (8418 ms)
8353 - [       OK ] libyuvTest.RGB565ToARGB_Opt (8353 ms)
8327 - [       OK ] libyuvTest.BayerGBRGToI420_Opt (8327 ms)
8323 - [       OK ] libyuvTest.BayerRGGBToI420_Opt (8323 ms)
8270 - [       OK ] libyuvTest.ARGB1555ToARGB_Opt (8270 ms)
8210 - [       OK ] libyuvTest.BayerGRBGToI420_Opt (8210 ms)
6517 - [       OK ] libyuvTest.ARGB4444ToARGB_Opt (6517 ms)
5637 - [       OK ] libyuvTest.UYVYToARGB_Opt (5637 ms)
5493 - [       OK ] libyuvTest.ARGBToI420_Opt (5493 ms)

Original comment by fbarch...@chromium.org on 2 Nov 2012 at 6:31

GoogleCodeExporter commented 9 years ago
Slowest x86 functions
4773 - [       OK ] libyuvTest.I420ToI444_Opt (4773 ms)
2621 - [       OK ] libyuvTest.BayerBGGRToI420_Opt (2621 ms)
1609 - [       OK ] libyuvTest.I420ToARGB1555_Opt (1609 ms)
1518 - [       OK ] libyuvTest.I420ToRGB565_Opt (1518 ms)
1494 - [       OK ] libyuvTest.NV12ToRGB565_Opt (1494 ms)
1444 - [       OK ] libyuvTest.I420ToI411_Opt (1444 ms)
1288 - [       OK ] libyuvTest.I411ToI420_Opt (1288 ms)
1274 - [       OK ] libyuvTest.I420ToARGB4444_Opt (1274 ms)
1256 - [       OK ] libyuvTest.V210ToI420_Opt (1256 ms)

Original comment by fbarch...@chromium.org on 2 Nov 2012 at 6:39

GoogleCodeExporter commented 9 years ago
I444ToARGB_Opt, I411ToARGB_Opt, UYVYToARGB_Opt optimized into one step Neon 
conversion.

Slowest functions are conversion to I420
18650 - [       OK ] libyuvTest.ARGB1555ToI420_Opt (18650 ms)
18640 - [       OK ] libyuvTest.RGB565ToI420_Opt (18640 ms)
16605 - [       OK ] libyuvTest.ARGB4444ToI420_Opt (16605 ms)
15094 - [       OK ] libyuvTest.RAWToI420_Opt (15094 ms)
14778 - [       OK ] libyuvTest.RGB24ToI420_Opt (14778 ms)
10836 - [       OK ] libyuvTest.ABGRToI420_Opt (10836 ms)
10822 - [       OK ] libyuvTest.RGBAToI420_Opt (10822 ms)
10804 - [       OK ] libyuvTest.BGRAToI420_Opt (10804 ms)
9163 - [       OK ] libyuvTest.ARGBToI422_Opt (9163 ms)
8771 - [       OK ] libyuvTest.I420ToI444_Opt (8771 ms)
8715 - [       OK ] libyuvTest.BayerBGGRToI420_Opt (8715 ms)
8710 - [       OK ] libyuvTest.BayerRGGBToI420_Opt (8710 ms)
8678 - [       OK ] libyuvTest.BayerGBRGToI420_Opt (8678 ms)
8624 - [       OK ] libyuvTest.BayerGRBGToI420_Opt (8624 ms)
8358 - [       OK ] libyuvTest.RGB565ToARGB_Opt (8358 ms)
8347 - [       OK ] libyuvTest.ARGB1555ToARGB_Opt (8347 ms)
6517 - [       OK ] libyuvTest.ARGB4444ToARGB_Opt (6517 ms)
5431 - [       OK ] libyuvTest.ARGBToI420_Opt (5431 ms)
4475 - [       OK ] libyuvTest.NV12ToRGB565_Opt (4475 ms)
4467 - [       OK ] libyuvTest.NV21ToRGB565_Opt (4467 ms)

Original comment by fbarch...@chromium.org on 3 Nov 2012 at 3:10

GoogleCodeExporter commented 9 years ago
Added ARGBToNV12/21 and optimized for Neon
ARGBToNV21_Any (6346 ms)
ARGBToNV12_Any (5915 ms)
ARGBToNV21_Invert (5653 ms)
ARGBToNV21_Opt (5649 ms)
ARGBToNV21_Unaligned (5639 ms)
ARGBToNV12_Unaligned (5624 ms)
ARGBToNV12_Opt (5610 ms)
ARGBToNV12_Invert (5610 ms)
and SSSE3
ARGBToNV12_Any (895 ms)
ARGBToNV12_Unaligned (758 ms)
ARGBToNV12_Invert (715 ms)
ARGBToNV21_Any (707 ms)
ARGBToNV21_Unaligned (681 ms)
ARGBToNV21_Opt (672 ms)
ARGBToNV12_Opt (670 ms)
ARGBToNV21_Invert (660 ms)

Original comment by fbarch...@chromium.org on 3 Nov 2012 at 6:04

GoogleCodeExporter commented 9 years ago
3 remain too slow
18133 - [       OK ] libyuvTest.ARGB1555ToI420_Opt (18133 ms)
18056 - [       OK ] libyuvTest.RGB565ToI420_Opt (18056 ms)
16260 - [       OK ] libyuvTest.ARGB4444ToI420_Opt (16260 ms)
9858 - [       OK ] libyuvTest.ARGBToI444_Opt (9858 ms)
9231 - [       OK ] libyuvTest.ARGBToI422_Opt (9231 ms)
8768 - [       OK ] libyuvTest.I420ToI444_Opt (8768 ms)
8455 - [       OK ] libyuvTest.BayerBGGRToI420_Opt (8455 ms)
8394 - [       OK ] libyuvTest.RGB565ToARGB_Opt (8394 ms)
8383 - [       OK ] libyuvTest.BayerGBRGToI420_Opt (8383 ms)
8358 - [       OK ] libyuvTest.BayerRGGBToI420_Opt (8358 ms)
8297 - [       OK ] libyuvTest.ARGB1555ToARGB_Opt (8297 ms)
8276 - [       OK ] libyuvTest.BayerGRBGToI420_Opt (8276 ms)
6584 - [       OK ] libyuvTest.ARGB4444ToARGB_Opt (6584 ms)
6365 - [       OK ] libyuvTest.RGB24ToI420_Opt (6365 ms)
6352 - [       OK ] libyuvTest.RAWToI420_Opt (6352 ms)
5580 - [       OK ] libyuvTest.ARGBToNV12_Opt (5580 ms)
5572 - [       OK ] libyuvTest.ARGBToNV21_Opt (5572 ms)
5460 - [       OK ] libyuvTest.BGRAToI420_Opt (5460 ms)
5445 - [       OK ] libyuvTest.ARGBToI411_Opt (5445 ms)
5443 - [       OK ] libyuvTest.ARGBToI420_Opt (5443 ms)
5434 - [       OK ] libyuvTest.RGBAToI420_Opt (5434 ms)
5434 - [       OK ] libyuvTest.ABGRToI420_Opt (5434 ms)

Original comment by fbarch...@chromium.org on 4 Nov 2012 at 2:01

GoogleCodeExporter commented 9 years ago
Fixed in r474
9528 - [       OK ] libyuvTest.ARGBToUYVY_Opt (9528 ms)
9479 - [       OK ] libyuvTest.ARGBToI444_Opt (9479 ms)
9419 - [       OK ] libyuvTest.ARGBToYUY2_Opt (9419 ms)
8771 - [       OK ] libyuvTest.BayerBGGRToI420_Opt (8771 ms)
8752 - [       OK ] libyuvTest.BayerRGGBToI420_Opt (8752 ms)
8745 - [       OK ] libyuvTest.BayerGBRGToI420_Opt (8745 ms)
8726 - [       OK ] libyuvTest.BayerGRBGToI420_Opt (8726 ms)
8694 - [       OK ] libyuvTest.I420ToI444_Opt (8694 ms)
7888 - [       OK ] libyuvTest.ARGB1555ToI420_Opt (7888 ms)
7633 - [       OK ] libyuvTest.ARGB4444ToI420_Opt (7633 ms)
7478 - [       OK ] libyuvTest.RGB565ToI420_Opt (7478 ms)
7381 - [       OK ] libyuvTest.ARGBToI422_Opt (7381 ms)
6901 - [       OK ] libyuvTest.RAWToI420_Opt (6901 ms)
6875 - [       OK ] libyuvTest.RGB24ToI420_Opt (6875 ms)
5535 - [       OK ] libyuvTest.ARGBToNV21_Opt (5535 ms)
5511 - [       OK ] libyuvTest.ARGBToNV12_Opt (5511 ms)
5363 - [       OK ] libyuvTest.ARGBToI411_Opt (5363 ms)
5344 - [       OK ] libyuvTest.ABGRToI420_Opt (5344 ms)
5338 - [       OK ] libyuvTest.RGBAToI420_Opt (5338 ms)
5328 - [       OK ] libyuvTest.ARGBToI420_Opt (5328 ms)
5318 - [       OK ] libyuvTest.BGRAToI420_Opt (5318 ms)
4631 - [       OK ] libyuvTest.NV12ToRGB565_Opt (4631 ms)

Original comment by fbarch...@chromium.org on 6 Nov 2012 at 6:20