OpenCV 2.3.1 compiled with NDK6 crashes on Galaxy Tab 10.1

457 Views Asked by At

I have the following problem: The library libopencv_java.so compiled from OpenCV 2.3.1 with NDK6 works fine on Samsung Galaxy S, but not on Galaxy Tab. Build setup:

-MacOS X

-NDK6

-build with neon

The library seems to fail on double->integer conversions.

1

There are 1 best solutions below

4
On BEST ANSWER

It seems Galaxy Tab uses Nvidia Tegra 2 CPU. Recently there was a bug fixed in NDK that generated invalid code for Tegra 2 processors related to floating point instructions. Here is the quote from NDK r7c changelog:

This release of the NDK includes an important fix for Tegra2-based devices, and a few additional fixes and improvements:

Important bug fixes: Fixed GNU STL armeabi-v7a binaries to not crash on non-NEON devices. The files provided with NDK r7b were not configured properly, resulting in crashes on Tegra2-based devices and others when trying to use certain floating-point functions (e.g., cosf, sinf, expf).

So try recompiling OpenCV with at least NDK r7c.