Hi,
I used the VICP API function CPIS_YCbCrPack() to realize the YUV444P->YUV444I, however I found the output data is errored.
The result as follow:
And the pui8YComponent is the YUV444I output data, the pui8RComponent is the input Y data, pui8GComponent is the input Cb data, pui8BComponent is the input Cr data.
My code as follow:
PackBase.srcFormat[0] = CPIS_YUV_444P;
PackBase.srcBuf[0].ptr = pui8RIn;
PackBase.srcBuf[0].stride = i32Width;
PackBase.srcBuf[1].ptr = pui8GIn;
PackBase.srcBuf[1].stride = i32Width;
PackBase.srcBuf[2].ptr = pui8BIn;
PackBase.srcBuf[2].stride = i32Width;
PackBase.dstFormat[0] = CPIS_YUV_444ILE;
PackBase.dstBuf[0].ptr = pui8BGROut;
PackBase.dstBuf[0].stride = i32Width;
PackBase.procBlockSize.width = 16;
PackBase.procBlockSize.height = 16;
PackBase.roiSize.width = i32Width;
PackBase.roiSize.height = i32Height;
PackBase.numInput = i32Width*i32Height;
PackBase.numOutput = i32Width*i32Height;
PackParms.colorSpace = CPIS_444_8BIT_TO_444_8BIT;
PackParms.qShift = 0;
PackParms.sat_high = 255;
PackParms.sat_high_set = 255;
PackParms.sat_low = 0;
PackParms.sat_low_set = 0;
PackParms.scale = 1;
Could you give me some advices? Thanks.
Regards,
Tianxing