We have upgraded our software from using IJL15 to using IPP to decode mjpeg images coming from ip cameras. This is to be able to use the faster/better decoding functions that comes with IPP.
My problem is that when I compile the IPP samples image-codecs/jpegview with openmp support, I get erronious colors when decoding some images. Each time I decode the image with openmp support, I get different erronious colors. I attach two images, decoded with and without openmp support. It is exactly the same source data for both images.
The same problem exist in IPP 5.3 Update2, 5.3 Update 3 and also 6.0.0 Beta 2.
It is also the same if I compile with Intels C++ compiler 10.1 or withVisual Studio 2005. If I add openmp support, i get the strange color in the images.
This is a big problem for us, as we are about to release out next software version which uses IPP to decode JPEG images.
We also uses IPP to decode MPEG4 and H.264 video streams, but there everythins works as expected.
If you need any more information, please don't hesitate to contact me as we are very eager to have this problem solved.
thanks for your report. There was an issue with threading in IPP JPEG codec (both encoder and decoder) in IPP 5.3 version. But this issue should be fixed in the latest IPP 6.0 beta (there was an update for beta version).
Did you check that with UIC version of JPEG codec? In IPP 6.0 beta we provide a new API for image codecs, which we call Unified Image Codecs API (UIC). Please take a look on IPP 6.0 beta sample package to find it. In any case we will also investigate that problem, thank you again for the report.
Thank you for your quick response!
Unfortunately, we can not use UIC as it does not support jpeg data encoded with 411 sampling factor. This is what our cameras deliver and we can't do anything about that.
We would very much like this to work. As we are in progress of releasing a new version of our software based on IPP, we now are in a bit of a trouble. If this does not work, we will have to move back to IJL15 and that we dont want to do. But we can of course not have corrupt images...
Please look into this as fast as possible. If you need any more information regarding this problem, don't hesitate to contact me, as I will do everything I can to help you solv this.
I got your point on UIC, we definetely will extend its functionality in IPP 6.0 release time frame.
Regarding that issue, could you please provide piece of code (or simple test case to reproduce that issue, as we did not detect that during our testing, what makes me unhappy).
Also, could you please describe what OpenMP runtime you use, is that Microsoft OMP, or is that Intel libguide40.dll or libiomp5md.dll?
were you able to extract some test case for us? Did you try to update your IPP 6.0 beta and samples? In your report you talking about decoding but your attached archive contains JPEG images which were encoded with IPP JPEG codec. Please clarify for us where did youfound the issue at decoding or at encoding stage?
Sorry for the delay, but I've been on vacation and did not have time to investigate this problem any more before my vacation.
The problem is at decoding as I can see the strange colors on screen when decoding and displaying images. The same issue exists both on IPP 5.3.3 and 6.0 Beta. If I compile without openMP support (i.e with .NET 2005), the problem disappears. But of course, I loose multiprocessor support...
We could not wait for a solution and instead we are using UMC to decode JPEG images. There we get multiprocessor support and no problem with strange colors.
we were not able to reproduce threading issue other than we had in IPP 5.3. I want to notify you that IPP 5.3 update 4 is prepared and will be available soon. But anyway, I hope you can extract test case which reproduce that issue for us.