你好,我们正在使用TVP5158与DM6437采集4cif格式的数据。在采集过程中遇到以下问题,请给予帮助。
在使用以下路径的工程采集4cif数据过程中C:\dvsdk_1_01_00_15\psp_1_00_02_00\pspdrivers\system\dm6437\bios\dm6437_evm\build\dm6437_evm_bios_sample_out.pjt。此工程的基本功能就是接收数据并将数据放置到开辟的几个存储区。但在实验过程中发现只有D1格式的数据额可以正确接收,并分别存储到不同的存储区。但不能正确接收4cif格式的数据。在使用过程中发现FVID调用过程中需要进入中断,最终读取数据的奇偶场信息。
Bool LLC_getCcdcField(Ptr regs)
{
Bool field;
if(NULL!=regs)
{
ccdcRegs = (CSL_CcdcRegs * )regs;
field=(Bool)CSL_FEXT(ccdcRegs->SYN_MODE,CCDC_SYN_MODE_FLDSTAT);
}
return(field);
}
在实验过程中能正确读取D1格式的field数据。4cif格式的field数据始终为0.我怀疑5158发送的4cif数据中eav和sav只显示field 等于0而导致程序不能正确接收4cif数据。
0x9D0000FF
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x10801080
0x800000FF
我想问一下:
1) 是不是在采集过程中可以通过6437的VPFE配置来解决这个问题?
2) 您能不能提供一下采集4cif格式的数据并将数据存储到不同存储区的例程?
