我们在使用capture然后HDMI显示,发现有大概100ms的延时,中间只是加了个dup和dei然后到显示,请问有什么好的方式,减少延时肉眼无法观察到,我有个疑问bypass模式需要软件干预吗,从程序里,看需要软件来干预,如果可以不需要,我认为应该很快的。请给我一些建议,谢谢!
Ternence_Hsu:
下面的链接可以参考一下 :
http://processors.wiki.ti.com/index.php/Latency_Measurement_on_Capture_Encode_Decode_Display_Demo
你现在的100ms 是怎么测试出来的 ?
qiankun li:
回复 Ternence_Hsu:
通过握拳,可以明显看出有延时,我注意到bp0和bp1,帧率只有35和29
30: DISPLAY: HDDAC(BP0) : 35 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) !!! [m3vpss ] 5430: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 1, HDDAC(BP0) 1, DVO2(BP1) 1, SDDAC(SEC1) 1 [m3vpss ] 5430: SYSTEM : FREE SPACE : System Heap = 1660296 B, Mbx = 10238 msgs) [m3vpss ] 5431: SYSTEM : FREE SPACE : SR0 Heap = 1140992 B (1 MB) [m3vpss ] 5431: SYSTEM : FREE SPACE : Frame Buffer = 896 B (0 MB) [m3vpss ] 5431: SYSTEM : FREE SPACE : Bitstream Buffer = 118144 B (0 MB) [m3vpss ] 5432: SYSTEM : FREE SPACE : Tiler Buffer = 0 B (0 MB) – TILER OFF [m3vpss ] 5432: DISPLAY: Start in progress !!! [m3vpss ] 5501: DISPLAY: Start Done !!! [m3vpss ] 5501: DISPLAY: DVO2(BP1) : 29 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) !!! [m3vpss ] 5501: SWMS: Start in Progress !!!
上面结果,我改变了,Vps_platform.c里video输入的时钟,没降低之前,bp0的帧率在57,bp1的帧率在100+,不能正常显示,所以我怀疑时钟分频的问题。为了提高帧率,我不改这个,只改变到dv02的,要怎么修改,谢谢能给我一些帮助。
/*set digital PLL*/ pllClk.outputVenc = VPS_SYSTEM_VPLL_OUTPUT_VENC_D; pllClk.outputClk = 148500u;//297000u mdf by lqk
retVal |= Vps_platformControl( &gPlatformCommonObj, IOCTL_VPS_VID_SYSTEM_SET_VIDEO_PLL, &pllClk, NULL);
Ternence_Hsu:
回复 qiankun li:
你好;
如果是 100ms 的延时,通过握拳是感觉不出来的,建议通过 秒表 进行测试延时, 你现在是想hdmi输出到60帧,降低延时 ?