视频直接从文件中读出,
现在是pal制式输出,现象是视频超前(视频 : 音频= 6:5)
音视频同步相应代码如下
#define VDEC_VDIS_FRAME_DURATION_MS (33) static Void VdecVdis_setFrameTimeStamp(VCODEC_BITSBUF_S *pEmptyBuf) {UInt64 curTimeStamp =gVdecVdis_config.frameCnt[pEmptyBuf->chnId] * VDEC_VDIS_FRAME_DURATION_MS;pEmptyBuf->lowerTimeStamp = (UInt32)(curTimeStamp & 0xFFFFFFFF);pEmptyBuf->upperTimeStamp = (UInt32)((curTimeStamp >> 32)& 0xFFFFFFFF);pEmptyBuf->timestamp = (UInt32)Avsync_getWallTime();if (0 == gVdecVdis_config.frameCnt[pEmptyBuf->chnId]){UInt32 displayChId;Vdec_mapDec2DisplayChId(VDIS_DEV_HDMI,pEmptyBuf->chnId,&displayChId);Vdis_setFirstVidPTS(VDIS_DEV_HDMI,displayChId,curTimeStamp);Vdec_mapDec2DisplayChId(VDIS_DEV_HDCOMP,pEmptyBuf->chnId,&displayChId);Vdis_setFirstVidPTS(VDIS_DEV_HDCOMP,displayChId,curTimeStamp);Vdec_mapDec2DisplayChId(VDIS_DEV_SD,pEmptyBuf->chnId,&displayChId);Vdis_setFirstVidPTS(VDIS_DEV_SD,displayChId,curTimeStamp);}gVdecVdis_config.frameCnt[pEmptyBuf->chnId] += 1; }
在程序中 #define VDEC_VDIS_FRAME_DURATION_MS (33)
宏定义中 33什么意思?为什么把那个宏改成25,没有效果。?
谢谢!!!
Chris Meng:
你好,
你有尝试过#define VDEC_VDIS_FRAME_DURATION_MS (40)么?