//JPEG转YUV422 yuyv
BOOL DecodeFromJPEGBuffer(
JPEG_CORE_PROPERTIES *jcprops,
BYTE *lpJPEGBuffer,
DWORD dwJPEGBufferSize,
BYTE *lpRawBuffer,
DWORD *lpdwWidth,
DWORD *lpdwHeight)
{
BOOL bres;
IJLERR jerr;
//JPEG_CORE_PROPERTIES jcprops;
bres = TRUE;
jcprops->JPGFile = NULL;
jcprops->JPGBytes = lpJPEGBuffer;
jcprops->JPGSizeBytes = dwJPEGBufferSize;
jerr = ijlRead(jcprops, IJL_JBUFF_READPARAMS);
if(jerr != IJL_OK){
printf("ijlRead(IJL_JBUFF_READPARAMS) failed -- %s\n", ijlErrorStr(jerr));
bres = FALSE;
goto DECODE_ERROR;
}
if(jcprops->JPGChannels != 3 || jcprops->JPGSubsampling != IJL_422){
printf("not our format!\n");
bres = FALSE;
goto DECODE_ERROR;
}
jcprops->JPGColor = IJL_YCBCR;
jcprops->DIBWidth = jcprops->JPGWidth;
jcprops->DIBHeight = jcprops->JPGHeight;
jcprops->DIBChannels = 2;
jcprops->DIBBytes = lpRawBuffer;
jcprops->DIBPadBytes = 0;
jcprops->DIBColor = IJL_YCBCR;
jcprops->DIBSubsampling = IJL_422;
jerr = ijlRead(jcprops, IJL_JBUFF_READWHOLEIMAGE);
if(jerr != IJL_OK){
printf("ijlRead(IJL_JBUFF_READWHOLEIMAGE) failed - %s\n", ijlErrorStr(jerr));
bres = FALSE;
goto DECODE_ERROR;
}
DECODE_ERROR:
//ijlFree(&jcprops);
return bres;
}
ijl JPEG转Yuv422
最新推荐文章于 2024-04-20 01:01:35 发布