Int32 VcapVencVdecVdis_ipcBitsInit(VcapVencVdecVdis_res resolution[], Bool enableFWrite, Bool enableLayerWrite) { VENC_CALLBACK_S callback; Int i; VcapVencVdecVdis_resetAvgStatistics(); VcapVencVdecVdis_resetStatistics(); gVcapVencVdecVdis_ipcBitsCtrl.fObj.enableFWrite = enableFWrite; gVcapVencVdecVdis_ipcBitsCtrl.fObj.enableLayerWrite = enableLayerWrite; callback.newDataAvailableCb = VcapVencVdecVdis_ipcBitsInCbFxn; /* Register call back with encoder */ Venc_registerCallback(&callback, (Ptr)&gVcapVencVdecVdis_ipcBitsCtrl); VcapVencVdecVdis_FreeBitBufInit(); if (gVcapVencVdecVdis_ipcBitsCtrl.fObj.enableFWrite == TRUE){ VcapVencVdecVdis_ipcBitsInitFObj(); } VcapVencVdecVdis_ipcBitsInitDmaObj(); for (i=0; i<MCFW_IPCBITS_RESOLUTION_TYPES; i++) gVcapVencVdecVdis_ipcBitsCtrl.thrObj.resolution[i] = resolution[i]; VcapVencVdecVdis_ipcBitsInitThrObj(&gVcapVencVdecVdis_ipcBitsCtrl.thrObj); memset (&gVcapVencVdecVdis_ipcBitsCtrl.decInfo,0,sizeof(gVcapVencVdecVdis_ipcBitsCtrl.decInfo)); return OSA_SOK; }
Int32 VcapVencVdecVdis_ipcBitsInit(VcapVencVdecVdis_res resolution, Bool enableFWrite) { VENC_CALLBACK_S callback; Int32 status; VcapVencVdecVdis_resetStatistics(); gVcapVencVdecVdis_ipcBitsCtrl.fObj.enableFWrite = enableFWrite; callback.newDataAvailableCb = VcapVencVdecVdis_ipcBitsInCbFxn; /* Register call back with encoder */ Venc_registerCallback(&callback, (Ptr)&gVcapVencVdecVdis_ipcBitsCtrl); VcapVencVdecVdis_FreeBitBufInit(); if (gVcapVencVdecVdis_ipcBitsCtrl.fObj.enableFWrite == TRUE) { VcapVencVdecVdis_ipcBitsInitFObj(); } gVcapVencVdecVdis_ipcBitsCtrl.thrObj.resolution = resolution; OSA_dmaInit(); status = OSA_dmaOpen(&gVcapVencVdecVdis_ipcBitsCtrl.dmaHndl, OSA_DMA_MODE_NORMAL, 1); VcapVencVdecVdis_ipcBitsInitThrObj(&gVcapVencVdecVdis_ipcBitsCtrl.thrObj); return OSA_SOK; }