Int32 AlgLink_scdAlgChDelete(AlgLink_ScdObj * pObj) { AlgLink_ScdChObj *pChObj; UInt32 blockId, chId; Int32 status; for(chId=0; chId<ALG_LINK_SIMCOP_SCD_MAX_CH; chId++) { pChObj = &pObj->chObj[chId]; if(pChObj->enableScd==FALSE) continue; for(blockId=0; blockId<pObj->algPerChMemAllocPrm.numMemBlocks; blockId++) { status = Utils_memFree( pChObj->memBlockAddr[blockId], pObj->algPerChMemAllocPrm.memBlockSize[blockId] ); UTILS_assert(status==FVID2_SOK); } { FVID2_Frame *pFrame; UInt32 frameId; status = Utils_queDelete(&pChObj->freeQ); UTILS_assert(status==FVID2_SOK); /* free channel process buffer memory */ for(frameId=0; frameId<ALG_LINK_MAX_PROCESS_FRAMES; frameId++) { pFrame = &pChObj->processFrames[frameId]; status = Utils_memFree( pFrame->addr[0][0], pChObj->processFrameSize ); UTILS_assert(status==FVID2_SOK); } } } return FVID2_SOK; }
Int32 AlgLink_scdAlgChDelete(AlgLink_ScdObj * pObj) { AlgLink_ScdChObj *pChObj; UInt32 blockId, chId; Int32 status; for(chId=0; chId<ALG_LINK_SIMCOP_SCD_MAX_CH; chId++) { pChObj = &pObj->chObj[chId]; if(pChObj->enableScd==FALSE) continue; for(blockId=0; blockId<pObj->algPerChMemAllocPrm.numMemBlocks; blockId++) { status = Utils_memFree( pChObj->memBlockAddr[blockId], pObj->algPerChMemAllocPrm.memBlockSize[blockId] ); UTILS_assert(status==FVID2_SOK); } } return FVID2_SOK; }
Int32 System_freeBlankFrame() { UInt32 memSize; memSize = SYSTEM_BLANK_FRAME_WIDTH*SYSTEM_BLANK_FRAME_HEIGHT*SYSTEM_BLANK_FRAME_BYTES_PER_PIXEL; Utils_memFree(gSystem_objVpss.nonTiledBlankFrameAddr, memSize); return 0; }
Int32 AlgLink_scdAlgFreeMem(AlgLink_ScdObj * pObj) { UInt32 blockId; Int32 status; for(blockId=0; blockId<pObj->algMemAllocPrm.numMemBlocks; blockId++) { status = Utils_memFree( pObj->algMemAllocPrm.memBlockAddr[blockId], pObj->algMemAllocPrm.memBlockSize[blockId] ); UTILS_assert(status==FVID2_SOK); } return FVID2_SOK; }
Int32 Utils_memFrameFree(FVID2_Format * pFormat, FVID2_Frame * pFrame, UInt16 numFrames) { UInt32 size, cOffset; Int32 status; /* get frame size for given 'pFormat' */ status = Utils_memFrameGetSize(pFormat, &size, &cOffset); if (status == 0) { /* free the frame buffer memory */ /* for all 'numFrames' memory is allocated contigously during alloc, * so first frame memory pointer points to the complete memory block * for all frames */ Utils_memFree(pFrame->addr[0][0], size * numFrames); } return 0; }