Closed GoogleCodeExporter closed 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
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
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
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
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
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
Original issue reported on code.google.com by
fbarch...@chromium.org
on 30 Oct 2012 at 4:27