watery01 / libyuv

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

I420ToRGB565 unittest fails #114

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
arm version fails
[  PASSED  ] 217 tests.
[  FAILED  ] 6 tests, listed below:
[  FAILED  ] libyuvTest.I420ToRGB565_OptVsC
[  FAILED  ] libyuvTest.I420ToRGB565Invert_OptVsC
[  FAILED  ] libyuvTest.I420ToARGB1555_OptVsC
[  FAILED  ] libyuvTest.I420ToARGB1555Invert_OptVsC
[  FAILED  ] libyuvTest.I420ToARGB4444_OptVsC
[  FAILED  ] libyuvTest.I420ToARGB4444Invert_OptVsC

Original issue reported on code.google.com by fbarch...@google.com on 5 Oct 2012 at 11:00

GoogleCodeExporter commented 9 years ago
in r396, NV12ToRGB565 is optimized using 2 steps:
NV12ToARGB_Neon
ARGBToRGB565_C

Which adds it to the list of failing unittests for Neon.
[==========] 230 tests from 1 test case ran. (107427 ms total)
[  PASSED  ] 222 tests.
[  FAILED  ] 8 tests, listed below:
[  FAILED  ] libyuvTest.I420ToRGB565_OptVsC
[  FAILED  ] libyuvTest.I420ToRGB565Invert_OptVsC
[  FAILED  ] libyuvTest.I420ToARGB1555_OptVsC
[  FAILED  ] libyuvTest.I420ToARGB1555Invert_OptVsC
[  FAILED  ] libyuvTest.I420ToARGB4444_OptVsC
[  FAILED  ] libyuvTest.I420ToARGB4444Invert_OptVsC
[  FAILED  ] libyuvTest.NV12ToRGB565_OptVsC
[  FAILED  ] libyuvTest.NV12ToRGB565Invert_OptVsC

But the one step conversions pass.
[       OK ] libyuvTest.I420ToRGB24_OptVsC (3177 ms)

Original comment by fbarch...@google.com on 9 Oct 2012 at 12:35

GoogleCodeExporter commented 9 years ago
The reason for failure is:
1. the unittest compares bytes, which isnt valid for 555/565/4444.
2. The NEON I420ToARGB doesnt exactly match the C version.

Recommend making Neon math exactly match C if possible.

Original comment by fbarch...@chromium.org on 17 Oct 2012 at 3:55

GoogleCodeExporter commented 9 years ago
Fixed in r430

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