平台是tvp5158+dm6467+ths8200,
现在默认的输出是VPIF输出 20bit Ycbcr 422 20bit。Ths8200输出Ycbcr分量。
如果我要输出VGA,且ths8200输入为视频数据内插同步信号(因为我没有设计HS及VS输入信号)。那么按照ti的dataset。VPIF的输出必须要为 SMPTE296M。
问题1 : SMPTE296M就是720P,也是为20bit Ycbcr,同步时钟依然为74.25M。是否是这样的?
顶层软件MCVIP是ti提供的demo,文档23页有这样一句话“MCVIP Output format will always be same Video port output format, i.e MCVIP driver does NOT do any data format conversion.“也就是说,我不能通过修改顶层软件得到SMPTE296M。我查找程序也没有找到可以修改的接口。
问题2:VPIF要得到SMPTE296M输出,只能修改内核了,可是有很多迷惑的地方.我修改的是
(drivers\media\video\davinci\Davinci_enc_mngr.c) static void davinci_enc_check_options(void)
中有这样一句strcpy(davinci_enc_default[0].mode, "1080I-30");我将此句改为strcpy(davinci_enc_default[0].mode, "720P-60"),请问这样做是否正确?我应该在哪里修改?最后内核启动也显示了720P的信息,但是ths8200依然没有输出。
问题3:关于ths8200,按照ti给出的配置文件(在附件里),配置成SXGA 108M 1280X1024@60hz输出。但不论VPIF输出给ths8200的是1080还是720。VS与HS信号始终不对。我配置的ths8200是内嵌同步时钟Generic SDTV模式。正常HS应该为64.1KHz,VS应该为60Hz。但是我的HS为49KHz,VS为46Hz。然后输出到显示器,显示器提示“超出显示范围”。
VS的波形有两个尖峰,很奇怪。如下图,这两个尖峰的距离大概为1ms,请问这是什么原因呢?
望不吝赐教,谢谢!
