This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于VICP中CPIS_colorSpcConv的使用

使用CPIS_colorSpcConv做YUV422I转RGB遇到颜色不对问题,麻烦帮忙看一下。

//VICP参数初始化

SpacConvBase->srcFormat[0] = CPIS_YUV_422ILE; //原数据格式

SpacConvBase->srcFormat[1] = CPIS_YUV_422ILE; //原数据格式

SpacConvBase->srcFormat[2] = CPIS_YUV_422ILE; //原数据格式

SpacConvBase->srcBuf[0].ptr = pSrc; //源数据地址

SpacConvBase->srcBuf[0].stride = width; //源数据

SpacConvBase->dstFormat[0] = CPIS_RGB_P;

SpacConvBase->dstFormat[1] = CPIS_RGB_P;

SpacConvBase->dstFormat[2] = CPIS_RGB_P;

SpacConvBase->dstBuf[0].ptr = pDst;

SpacConvBase->dstBuf[0].stride = width;

SpacConvBase->dstBuf[1].ptr = pDst + width*height;

SpacConvBase->dstBuf[1].stride = width;

SpacConvBase->dstBuf[2].ptr = pDst + 2*width*height;

SpacConvBase->dstBuf[2].stride = width;

SpacConvBase->roiSize.width = width;

SpacConvBase->roiSize.height = height;

SpacConvBase->procBlockSize.width = 32;

SpacConvBase->procBlockSize.height = 16;

SpacConvBase->numInput = (width * height);

SpacConvBase->numOutput = (width * height);

   for (i=0;i<9;i++)

       SpacConvParams->matrix[i]= (Int16)(yuv2rgbf[i]*32768.0);

SpacConvParams->qShift = 15;

SpacConvParams->preOffset[0] = 0;

SpacConvParams->preOffset[1] = -128;

SpacConvParams->preOffset[2] = -128;

SpacConvParams->postOffset[0] = 0;

SpacConvParams->postOffset[1] = 0;

SpacConvParams->postOffset[2] = 0;

SpacConvParams->signedInput[0] = 0;

SpacConvParams->signedInput[1] = 1;

SpacConvParams->signedInput[2] = 1;

SpacConvParams->signedOutput[0] = 0;

SpacConvParams->signedOutput[1] = 0;

SpacConvParams->signedOutput[2] = 0;

SpacConvParams->colorDsMode = CPIS_DS_NONE;

iStatus = CPIS_colorSpcConv(

SpacConvHandle,

SpacConvBase,

SpacConvParams,

ExecType

);

输入pSrc数据源第一个数据为Y1,这样输出图片颜色不对 ,尝试修改为U1也不对。