我的开发板上有2个HDMI(记作HDMI1、HDMI2)和一个VGA,分别对应HDMI、DVO2、SD这三个显示设备。运行DVRRDK 4.0中的demo程序vdec_vdis,使用配置文件720x576_00_32CH.ini来解32路D1视频输出。但是只有在HDMI1上有16路图像4×4分屏显示,而HDMI2和VGA都是HDMI1上的第1路图像全屏显示。根据demo_vdec_vdis.c中的代码,
vdisParams.deviceParams[VDIS_DEV_HDMI].resolution = DEMO_HD_DISPLAY_DEFAULT_STD;
/* Since HDCOMP and DVO2 are tied together they must have same resolution */
vdisParams.deviceParams[VDIS_DEV_HDCOMP].resolution = DEMO_HD_DISPLAY_DEFAULT_STD;
vdisParams.deviceParams[VDIS_DEV_DVO2].resolution =
vdisParams.deviceParams[VDIS_DEV_HDCOMP].resolution;
vdisParams.deviceParams[VDIS_DEV_SD].resolution = VSYS_STD_NTSC;
Vdis_tiedVencInit(VDIS_DEV_HDCOMP, VDIS_DEV_DVO2, &vdisParams);
/* set for 3 displays */
i = 0;
Demo_swMsGenerateLayout(VDIS_DEV_HDMI, 0, vdecParams.numChn,
DEMO_LAYOUT_MODE_4CH_4CH,
&vdisParams.mosaicParams[i], forceLowCostScale,
gDemo_info.Type,
Vdis_getSwMsLayoutResolution(VDIS_DEV_HDMI));
vdisParams.mosaicParams[i].userSetDefaultSWMLayout = TRUE;
if(vdecParams.numChn < 16)
startChID = 0;
else
startChID = 16;
i = 1;
Demo_swMsGenerateLayout(VDIS_DEV_HDCOMP, startChID, vdecParams.numChn,
DEMO_LAYOUT_MODE_4CH_4CH,
&vdisParams.mosaicParams[i], forceLowCostScale,
gDemo_info.Type,
Vdis_getSwMsLayoutResolution(VDIS_DEV_HDCOMP));
vdisParams.mosaicParams[i].userSetDefaultSWMLayout = TRUE;
应该是我的HDMI2输出第17到32路图像4×4分屏显示。我将
Demo_swMsGenerateLayout(VDIS_DEV_HDCOMP, startChID, vdecParams.numChn,
DEMO_LAYOUT_MODE_4CH_4CH,
&vdisParams.mosaicParams[i], forceLowCostScale,
gDemo_info.Type,
Vdis_getSwMsLayoutResolution(VDIS_DEV_HDCOMP));
vdisParams.mosaicParams[i].userSetDefaultSWMLayout = TRUE;
这段中VDIS_DEV_HDCOMP改成VDIS_DEV_DVO2,或者将这段注释掉都没有任何改变,说明HDMI2我完全没有控制成功。
我没有找到问题所在,请帮忙看看,有可能是什么原因?