Int32 AlgLink_scdAlgCreate(AlgLink_ScdObj * pObj) { Int32 status; SCD_CreatePrm *pAlgCreatePrm; pAlgCreatePrm = &pObj->algCreatePrm; AlgLink_scdAlgResetStatistics(pObj); pObj->processFrameCount = 0; pObj->totalTime = 0; pAlgCreatePrm->maxWidth = pObj->scdCreateParams.maxWidth; pAlgCreatePrm->maxHeight = pObj->scdCreateParams.maxHeight; pAlgCreatePrm->maxPitch = pObj->scdCreateParams.maxStride; Vps_printf(" %d: SCD: Opening algorithm ... !!!\n", Utils_getCurTimeInMsec() ); status = SCD_open(&pObj->algObj, pAlgCreatePrm); UTILS_assert(status==FVID2_SOK); Vps_printf(" %d: SCD: Opening algorithm ... DONE !!!\n", Utils_getCurTimeInMsec() ); AlgLink_scdAlgAllocMem(pObj); AlgLink_scdAlgChCreate(pObj); return FVID2_SOK; }
Int32 AlgLink_scdAlgCreate(AlgLink_ScdObj * pObj) { Int32 status; SCD_CreatePrm *pAlgCreatePrm; pAlgCreatePrm = &pObj->algCreatePrm; memset(pAlgCreatePrm, 0, sizeof(*pAlgCreatePrm)); AlgLink_scdAlgResetStatistics(pObj); pObj->processFrameCount = 0; pObj->totalTime = 0; pAlgCreatePrm->maxWidth = SystemUtils_align(pObj->scdCreateParams.maxStride, ALG_LINK_SIMCOP_SCD_WIDTH_ALIGN); pAlgCreatePrm->maxHeight = pObj->scdCreateParams.maxHeight; pAlgCreatePrm->maxPitch = pAlgCreatePrm->maxWidth; Vps_printf(" %d: SCD: Opening algorithm ... !!!\n", Utils_getCurTimeInMsec() ); status = SCD_open(&pObj->algObj, pAlgCreatePrm); UTILS_assert(status==FVID2_SOK); Vps_printf(" %d: SCD: Opening algorithm ... DONE !!!\n", Utils_getCurTimeInMsec() ); AlgLink_scdAlgAllocMem(pObj); AlgLink_scdAlgChCreate(pObj); status = Utils_dmaCreateCh(&pObj->dmaCh, UTILS_DMA_DEFAULT_EVENT_Q, 1, TRUE); UTILS_assert(status==FVID2_SOK); status = Utils_queCreate(&pObj->processQ, ALG_LINK_MAX_PROCESS_FRAMES*ALG_LINK_SIMCOP_SCD_MAX_CH, pObj->processQMem, UTILS_QUE_FLAG_BLOCK_QUE_GET ); UTILS_assert(status==FVID2_SOK); AlgLink_scdAlgProcessTskSendCmd(pObj, SYSTEM_CMD_START); return FVID2_SOK; }