Ask Your Question
1

OpenCV 2.4.3 Meets SSE4 Instruction blendvpd in Intel CPU E5200 whice causes "Illegal Instruction"

asked 2013-01-15 09:12:18 -0600

Nikola gravatar image

Hi When i try to run the sample code facedetect.c in VS2008 in Windows XP SP3 32-bit, I meet 0xC000001D: Illegal Instruction in Function detectMultiScale. I am using OpenCV 2.4.3. What is wrong, and what should I do to fix this issue?

Any advice is OK, thanks!!!

Regards Nikola

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
2

answered 2013-01-15 12:22:23 -0600

It looks like E5200 does not support SSE4 instruction set. You need to rebuild OpenCV library with disabled SSE4.

edit flag offensive delete link more

Comments

Thanks for your reply. I built OpenCV using CMake, and I can see ENABLE_SSE, ENABLE_SSE2 in configuration, but where to disable SSE4?

Nikola gravatar imageNikola ( 2013-01-15 18:31:53 -0600 )edit
1

ENABLE_SSE and ENABLE_SSE2 does not control compiler optimizations. It enables and disables pieces of optimized with SSE intrinsics or in-line assembler code. If you use Visual Studio for OpenCv build, open OpenCV project properties Select C++ -> Optimisations and select supported instruction set. I do not remember exact field name, but there is list of instruction sets: no optimizations, SSE, SEE2, etc. If you use GCC compiler, then it builds library with optimizations supported by your hardware by default.

Alexander Smorkalov gravatar imageAlexander Smorkalov ( 2013-01-15 23:30:05 -0600 )edit

Hi Alexander, thanks! And I found the solution in another thread http://answers.opencv.org/question/4694/0xc000001d-illegal-instruction-when-running/

Nikola gravatar imageNikola ( 2013-01-16 20:21:13 -0600 )edit

Question Tools

Stats

Asked: 2013-01-15 09:12:18 -0600

Seen: 859 times

Last updated: Jan 15 '13