我们将信号源直接通过gv7601环出能够显示图像和对应的分辨率大小,但是将信号源通过dm8107输出到gv7700,然后通过gv7601环出,有图像,但是识别不了分辨率的大小;
mcfw api里面的Vdis_setResolution这个函数 设置分辨率 都是使用下面的函数:
#define VDIS_TIMINGS_1080P_60 "148500,1920/88/148/44,1080/4/36/5,1"
#define VDIS_TIMINGS_1080P_50 "148500,1920/528/148/44,1080/4/36/5,1"
#define VDIS_TIMINGS_720P_60 "74250,1280/110/220/40,720/5/20/5,1"
#define VDIS_TIMINGS_XGA_60 "65000,1024/24/160/136,768/3/29/6,1"
#define VDIS_TIMINGS_SXGA_60 "108000,1280/48/248/112,1024/1/38/3,1"
#define VDIS_TIMINGS_480P "27027,720/16/60/62,480/9/30/6,1"
#define VDIS_TIMINGS_576P "27000,720/12/68/64,576/5/39/5,1"
#define VDIS_TIMINGS_QVGA "6400,320/16/70/31,240/5/12/6,1"
#define VDIS_TIMINGS_WQVGA_60 "9000,480/2/41/2,272/2/10/2,1"
case VDIS_DEV_DVO2:
Vdis_sysfsCmd(3,VDIS_SYSFSCMD_SETVENC, VDIS_SYSFS_DVO2, VDIS_OFF);
switch(resolution) {
case VSYS_STD_1080P_60:
Vdis_sysfsCmd(3,VDIS_SYSFSCMD_SETTIMINGS, VDIS_SYSFS_DVO2, VDIS_TIMINGS_1080P_60);
break;
case VSYS_STD_1080P_50:
Vdis_sysfsCmd(3,VDIS_SYSFSCMD_SETTIMINGS, VDIS_SYSFS_DVO2, VDIS_TIMINGS_1080P_50);
break;
case VSYS_STD_720P_60:
{
Vdis_sysfsCmd(3,VDIS_SYSFSCMD_SETTIMINGS, VDIS_SYSFS_DVO2, VDIS_TIMINGS_720P_60);
}
//Vdis_sysfsCmd(3,VDIS_SYSFSCMD_SETTIMINGS, VDIS_SYSFS_DVO2, VDIS_TIMINGS_720P_60);
break;
case VSYS_STD_XGA_60:
Vdis_sysfsCmd(3,VDIS_SYSFSCMD_SETTIMINGS, VDIS_SYSFS_DVO2, VDIS_TIMINGS_XGA_60);
break;
case VSYS_STD_SXGA_60:
Vdis_sysfsCmd(3,VDIS_SYSFSCMD_SETTIMINGS, VDIS_SYSFS_DVO2, VDIS_TIMINGS_SXGA_60);
break;
case VSYS_STD_480P: //chenwl add 2018-04-19
Vdis_sysfsCmd(3,VDIS_SYSFSCMD_SETTIMINGS, VDIS_SYSFS_DVO2, VDIS_TIMINGS_480P);
break;
default:
printf("\n Resolution not supported for DVO2!! \n");
break;
}
我们信号源是:720p输出;
720p分辨率的宏定义我们试过如下参数:
74250,1280/280/10/280,720/10/5/10,1
74250,1280/110/220/40,720/5/20/5,1
74250,1280/110/220/370,720/5/20/30,1
以上宏定义都能输出图像,且分辨率识别不了;
关于720p我们通过示波器测得行场的时钟频率:行:45K,场:60hz,都是标准的数值
74250,1280/280/10/280,720/10/5/10,1设置这个宏相比较而言会更接近真实的数据
请问这是什么原因?
这些宏应该设置成多少?