视频直接从文件中读出,
现在是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,没有效果。?
谢谢!!!