static Void VcapVencVdecVdis_ipcBitsCopyBitBufDataMem2Mem(VCODEC_BITSBUF_S *dstBuf, VCODEC_BITSBUF_S *srcBuf) { OSA_DmaCopy1D copy1D; OSA_assert(srcBuf->filledBufSize < dstBuf->bufSize); if(gVcapVencVdecVdis_ipcBitsCtrl.dmaHndl.chId != -1) { copy1D.srcPhysAddr = (unsigned long)srcBuf->bufPhysAddr; copy1D.dstPhysAddr = (unsigned long)dstBuf->bufPhysAddr; copy1D.size = srcBuf->filledBufSize; OSA_dmaCopy1D(&gVcapVencVdecVdis_ipcBitsCtrl.dmaHndl,©1D,1); } else memcpy(dstBuf->bufVirtAddr,srcBuf->bufVirtAddr,srcBuf->filledBufSize); }
static Void VcapVencVdecVdis_ipcBitsCopyBitBufDataMem2Mem(VCODEC_BITSBUF_S *dstBuf, VCODEC_BITSBUF_S *srcBuf) { OSA_assert(srcBuf->filledBufSize < dstBuf->bufSize); if (FALSE == gVcapVencVdecVdis_ipcBitsCtrl.dmaObj.useDma) { memcpy(dstBuf->bufVirtAddr,srcBuf->bufVirtAddr,srcBuf->filledBufSize); } else { OSA_DmaCopy1D prm; prm.srcPhysAddr = (UInt32)srcBuf->bufPhysAddr; prm.dstPhysAddr = (UInt32)dstBuf->bufPhysAddr; prm.size = srcBuf->filledBufSize; OSA_dmaCopy1D(&gVcapVencVdecVdis_ipcBitsCtrl.dmaObj.dmaChHdnl, &prm, 1); } }