Community
cancel
Showing results for 
Search instead for 
Did you mean: 
krushnaps
Beginner
54 Views

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

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
Employee
54 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

Reply