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_start problem

Hello,
I'm try using VICP in a codec run on the DSP using DM6446EVM.
I made initialization for thr VICP correctly without any problems, my problem is that after calling CPIS_start (because i'm using async mode) the application hanged and it never return after calling CPIS_start
This is my code trying to using the color space conversion function:

intSetup(CPIS_isr);
intEnable();
    vicpInit.cacheWbInv = (Cache_wbInv) cacheWb;
    vicpInit.staticDmaAlloc= 1;
    vicpInit.maxNumProcFunc= 1;
    vicpInit.memSize= CPIS_getMemSize(vicpInit.maxNumProcFunc);
    vicpInit.mem= memAlloc(vicpInit.memSize);
CPIS_init(&vicpInit);
    /* Initialize the call back function that the library will use to synchronize */
    CPIS_setWaitCB(&CPIS_wait_Fxn, NULL);
#ifdef _DEBUG_VICP
    IP_RUN_setDebugCB(&debugCB, &test);
#endif
        for (i=0;i<9;i++)
        Cparams.matrix[i] = (Int16)(rgb2yuvf[i]*32765.0);
        Cparams.qShift= 15;
 
        for (i=0;i<3;i++) {
        Cparams.preOffset[i]= preOfst0[i];
        Cparams.postOffset[i]= postOfst0[i];
        Cparams.signedInput[i]= signedInput0[i];
        Cparams.signedOutput[i]=signedOutput2[i];
    }
Cparams.colorDsMode = CPIS_DS_NONE;        
Cbase.srcFormat[0] = CPIS_RGB_P;
Cbase.srcBuf[0].ptr= (Uint8*)RPlane;
Cbase.srcBuf[1].ptr= (Uint8*)GPlane;
Cbase.srcBuf[2].ptr= (Uint8*)BPlane;
Cbase.srcBuf[0].stride= WIDTH; //720
Cbase.srcBuf[1].stride= WIDTH;
Cbase.srcBuf[2].stride= WIDTH;
Cbase.dstFormat[0] = CPIS_YUV_444P;
Cbase.dstBuf[0].ptr= (Uint8*)luma;
Cbase.dstBuf[0].stride= WIDTH;
Cbase.dstBuf[1].ptr= Cb;
Cbase.dstBuf[1].stride= WIDTH;
Cbase.dstBuf[2].ptr= Cr;
Cbase.dstBuf[2].stride= WIDTH;
Cbase.roiSize.width= WIDTH;
Cbase.roiSize.height= HEIGHT; //480
Cbase.procBlockSize.width= BLOCK_WIDTH; /16
Cbase.procBlockSize.height= BLOCK_HEIGHT;//16
        for(i=0;i<345600;i++){
            luma[i] = 0;Cb[i] = 0;Cr[i] = 0;}
            
        /* Clear the cache */
        cacheWbInvAll ();
        
        /*
            Call the module in asynchronous mode. This means only setup of
            hardware is done. Execution will have to be triggered by CPIS_start
        
i = CPIS_colorSpcConv(  // i checked it doesent return errors (doesn't return -1)
            &Chandle,
            &Cbase,
            &Cparams,
            CPIS_ASYNC
            );
    CPIS_start(Chandle); <<<<<< stuck here
        CPIS_wait(Chandle);
        CPIS_delete(Chandle);
    CPIS_deInit();
    intDisable();


Please help me
Regards