diff --git a/demos/mcfw_api_demos/mcfw_demo/demo_vdec_vdis_bits_rd.c b/demos/mcfw_api_demos/mcfw_demo/demo_vdec_vdis_bits_rd.c index afd3854..def1a21 100755 --- a/demos/mcfw_api_demos/mcfw_demo/demo_vdec_vdis_bits_rd.c +++ b/demos/mcfw_api_demos/mcfw_demo/demo_vdec_vdis_bits_rd.c @@ -95,6 +95,7 @@ static void VdecVdis_bitsRdFillEmptyBuf(VCODEC_BITSBUF_S *pEmptyBuf) } #define VDEC_VDIS_FRAME_DURATION_MS (33) +UInt64 Avsync_getWallTime(); static Void VdecVdis_setFrameTimeStamp(VCODEC_BITSBUF_S *pEmptyBuf) { @@ -102,6 +103,7 @@ static Void VdecVdis_setFrameTimeStamp(VCODEC_BITSBUF_S *pEmptyBuf) gVdecVdis_config.frameCnt[pEmptyBuf->chnId] * VDEC_VDIS_FRAME_DURATION_MS; pEmptyBuf->lowerTimeStamp = (UInt32)(curTimeStamp & 0xFFFFFFFF); pEmptyBuf->upperTimeStamp = (UInt32)((curTimeStamp >> 32)& 0xFFFFFFFF); + pEmptyBuf->timestamp = Avsync_getWallTime(); if (0 == gVdecVdis_config.frameCnt[pEmptyBuf->chnId]) { UInt32 displayChId; @@ -148,7 +150,7 @@ static Void *VdecVdis_bitsRdSendFxn(Void * prm) OSA_semWait(&gVdecVdis_obj.thrStartSem,OSA_TIMEOUT_FOREVER); while (FALSE == gVdecVdis_obj.thrExit) { - OSA_waitMsecs(MCFW_IPCBITS_SENDFXN_PERIOD_MS); + OSA_waitMsecs(1); for (i = 0; i < gVdecVdis_config.numChannels; i++) { diff --git a/mcfw/src_linux/mcfw_api/ti_vdis.c b/mcfw/src_linux/mcfw_api/ti_vdis.c index af5e6a0..a0e0f61 100755 --- a/mcfw/src_linux/mcfw_api/ti_vdis.c +++ b/mcfw/src_linux/mcfw_api/ti_vdis.c @@ -801,7 +801,7 @@ Int32 Vdis_setMosaicParamsDefault(VDIS_DEV vdDevId, VDIS_MOSAIC_S *psVdMosaicPar /* Assign mosaic layout number and number of windows */ vdisLayoutPrm.numWin = psVdMosaicParam->numberOfWindows; vdisLayoutPrm.onlyCh2WinMapChanged = psVdMosaicParam->onlyCh2WinMapChanged; - vdisLayoutPrm.outputFPS = psVdMosaicParam->outputFPS; + vdisLayoutPrm.outputFPS = 60; /* Assign each windows coordinates, size and mapping */ for(winId=0; winIdavsyncEnable = TRUE; + queCfg->avsyncEnable = FALSE; } else { @@ -399,9 +399,9 @@ Void MultiCh_createVdecVdis() } ipcBitsOutHostPrm.baseCreateParams.outQueParams[0].nextLink= gVdecModuleContext.ipcBitsInRTOSId; - ipcBitsOutHostPrm.baseCreateParams.notifyNextLink = FALSE; + ipcBitsOutHostPrm.baseCreateParams.notifyNextLink = TRUE; ipcBitsOutHostPrm.baseCreateParams.notifyPrevLink = FALSE; - ipcBitsOutHostPrm.baseCreateParams.noNotifyMode = TRUE; + ipcBitsOutHostPrm.baseCreateParams.noNotifyMode = FALSE; ipcBitsOutHostPrm.baseCreateParams.numOutQue = 1; ipcBitsOutHostPrm.inQueInfo.numCh = gVdecModuleContext.vdecConfig.numChn; @@ -430,16 +430,16 @@ Void MultiCh_createVdecVdis() ipcBitsOutHostPrm.chMaxReqBufSize[i] = (ipcBitsOutHostPrm.inQueInfo.chInfo[i].width * ipcBitsOutHostPrm.inQueInfo.chInfo[i].height); ipcBitsOutHostPrm.totalBitStreamBufferSize [i] = - (ipcBitsOutHostPrm.chMaxReqBufSize[i] * BIT_BUF_LENGTH_LIMIT_FACTOR_HD); + (ipcBitsOutHostPrm.chMaxReqBufSize[i] * 1); } ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkId = gVdecModuleContext.ipcBitsOutHLOSId; ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcBitsInVideoPrm.baseCreateParams.outQueParams[0].nextLink = gVdecModuleContext.decId; - ipcBitsInVideoPrm.baseCreateParams.noNotifyMode = TRUE; + ipcBitsInVideoPrm.baseCreateParams.noNotifyMode = FALSE; ipcBitsInVideoPrm.baseCreateParams.notifyNextLink = TRUE; - ipcBitsInVideoPrm.baseCreateParams.notifyPrevLink = FALSE; + ipcBitsInVideoPrm.baseCreateParams.notifyPrevLink = TRUE; ipcBitsInVideoPrm.baseCreateParams.numOutQue = 1; for (i=0; i