- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I'm currently running into problems while encoding some 16bit grayscale pictures to JPEG lossless using code from the JPEGView exampe.
My code is working for most of the pictures but some just abort with JPEG_ERR_INTERNAL when returning from EncodeHuffmanMCURowLS.
Picture information:
witdh = 2320
height = -2920
bits per pixel = 16 bit
number of planes = 1
Do you have any idea what is happening here? I think that every value should be valid as source pixel when encoding JPEG lossless.
I've attached the uncompressed pixeldata and a screenshot of the image.
I'm currently running into problems while encoding some 16bit grayscale pictures to JPEG lossless using code from the JPEGView exampe.
My code is working for most of the pictures but some just abort with JPEG_ERR_INTERNAL when returning from EncodeHuffmanMCURowLS.
Picture information:
witdh = 2320
height = -2920
bits per pixel = 16 bit
number of planes = 1
Do you have any idea what is happening here? I think that every value should be valid as source pixel when encoding JPEG lossless.
I've attached the uncompressed pixeldata and a screenshot of the image.
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - vepro_hoffmann
Any news? I don't think that IPP6.1 would fix this issue.
I can trace the problem into the UIC code right to the ippiEncodeHuffman function. The input seems valid to me.. and as I said before I can't think of any invalid input for huffman encoding in general.
I can trace the problem into the UIC code right to the ippiEncodeHuffman function. The input seems valid to me.. and as I said before I can't think of any invalid input for huffman encoding in general.
Hi, it seems some errors in our UIC jpeg codec in LOSSLESS mode. Try to do next fixes:
1) Inuic_jpeg_enc.h file change
int GetPredictor(void) { return m_pntTransform; } to int GetPredictor(void) { return m_predictor; }
2) in jpegenc.cpp change
buflen = (m_jpeg_mode == JPEG_LOSSLESS) ?IPP_MAX(ENC_DEFAULT_BUFLEN,m_numxMCU * m_jpeg_ncomp * 2) : ENC_DEFAULT_BUFLEN;
to
buflen = (m_jpeg_mode == JPEG_LOSSLESS) ?IPP_MAX(ENC_DEFAULT_BUFLEN,m_numxMCU * m_jpeg_ncomp * 2 * 2) :ENC_DEFAULT_BUFLEN;
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What IPP andipp-sample versionsyou are using?
ipp_sample ( look at support.txt file you can find ther smth. like Package ID: w_ipp-samples_p_6.1.0.038)
--Gennady
ipp_sample ( look at support.txt file you can find ther smth. like Package ID: w_ipp-samples_p_6.1.0.038)
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Gennady Fedorov (Intel)
What IPP andipp-sample versionsyou are using?
ipp_sample ( look at support.txt file you can find ther smth. like Package ID: w_ipp-samples_p_6.1.0.038)
--Gennady
ipp_sample ( look at support.txt file you can find ther smth. like Package ID: w_ipp-samples_p_6.1.0.038)
--Gennady
I was using IPP5.3 Update 4 and updated my code to w_ipp-uic_p_6.0.0.130 and w_ipp_ia32_p_6.0.2.074.
The problem stayed the same with the newer version.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any news? I don't think that IPP6.1 would fix this issue.
I can trace the problem into the UIC code right to the ippiEncodeHuffman function. The input seems valid to me.. and as I said before I can't think of any invalid input for huffman encoding in general.
I can trace the problem into the UIC code right to the ippiEncodeHuffman function. The input seems valid to me.. and as I said before I can't think of any invalid input for huffman encoding in general.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - vepro_hoffmann
Any news? I don't think that IPP6.1 would fix this issue.
I can trace the problem into the UIC code right to the ippiEncodeHuffman function. The input seems valid to me.. and as I said before I can't think of any invalid input for huffman encoding in general.
I can trace the problem into the UIC code right to the ippiEncodeHuffman function. The input seems valid to me.. and as I said before I can't think of any invalid input for huffman encoding in general.
Hi, it seems some errors in our UIC jpeg codec in LOSSLESS mode. Try to do next fixes:
1) Inuic_jpeg_enc.h file change
int GetPredictor(void) { return m_pntTransform; } to int GetPredictor(void) { return m_predictor; }
2) in jpegenc.cpp change
buflen = (m_jpeg_mode == JPEG_LOSSLESS) ?IPP_MAX(ENC_DEFAULT_BUFLEN,m_numxMCU * m_jpeg_ncomp * 2) : ENC_DEFAULT_BUFLEN;
to
buflen = (m_jpeg_mode == JPEG_LOSSLESS) ?IPP_MAX(ENC_DEFAULT_BUFLEN,m_numxMCU * m_jpeg_ncomp * 2 * 2) :ENC_DEFAULT_BUFLEN;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The second change did it. The buffersize was too small and that's why the encoding failed.
It's also the same problem as in IPP5.3 Update 4.
Thank you very much sryadno!
It's also the same problem as in IPP5.3 Update 4.
Thank you very much sryadno!
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page