Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6731 Discussions

Issue with converting from 16bit signed to 8bit unsigned while decompressing and reconstructing one multi frame image.

krushnaps
Beginner
363 Views

Hi,

I am using intel IPP library for decompressing one multi frame image. Internally I am using "ReconstructMCURowLS" method of the the class "jpegdec.cpp" for reconstructing the JPEG. Reconstruction is successful but while converting 16bit signed to 8bit unsigned, I am geting all the "pDst8u" 0xff instead of 0x00. And resulting all colours(near to black) becomes white.

Below is the code path which is getting executed......

{

......

......

.......

if(m_dst.precision <= 8)

{

dstStep = curr_comp->m_cc_step;

pDst8u = curr_comp->GetCCBufferPtr(thread_id);

}

.......

..........

............

........

status = ippiReconstructPredRow_JPEG_16s_C1(

ptr,pPrevRow,pCurrRow,m_dst.width,m_ss);

.........

............

..........

..........

........

status = ippiConvert_16s8u_C1R(pPrevRow,m_dst.width*sizeof(Ipp16s),pDst8u,dstStep,roi);

}

Here I am not getting the expected result i.e. status should be "zero".

I have doubt here, am I using the wrong method to convert from 16s to 8u? or something wrong is happening?

Can someone please help me in this topic?

Thanks and Regards

Krushna

0 Kudos
1 Reply
Chao_Y_Intel
Moderator
363 Views

Krushna,

What is the input value for calling ippiConvert_16s8u_C1R? the value is less 0 will be convert to 0, and the value larger than 255, and will be converted to 255.

Thanks,
Chao

0 Kudos
Reply