TIwilliam hill官网
直播中

林立银

7年用户 176经验值
私信 关注
[问答]

DM8148单通道采集数据失败

CaptureLink_CreateParams_Init(&capturePrm);
capturePrm.outQueParams[0].nextLink =AVST_DisplaySclrLinkId;
capturePrm.numVipInst = 1;
capturePrm.tilerEnable = FALSE;
capturePrm.numBufsPerCh = NUM_CAPTURE_BUFFERS;
capturePrm.maxBlindAreasPerCh = 4;
pCaptureInstPrm = &capturePrm.vipInst[0];
pCaptureInstPrm->vipInstId = (SYSTEM_CAPTURE_INST_VIP0_PORTA+
vipInstId)%SYSTEM_CAPTURE_INST_MAX;
pCaptureInstPrm->videoDecoderId = 0; //SYSTEM_DEVICE_VID_DEC_TVP5158_DRV;
pCaptureInstPrm->inDataFormat = SYSTEM_DF_RGB24_888;//SYSTEM_DF_YUV422P;
pCaptureInstPrm->standard =SYSTEM_STD_1080P_30;
pCaptureInstPrm->numOutput = 1;
pCaptureOutPrm = &pCaptureInstPrm->outParams[0];
pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV;//SYSTEM_DF_YUV422I_YUYV;
pCaptureOutPrm->scEnable = FALSE;
pCaptureOutPrm->scOutWidth = 0;
pCaptureOutPrm->scOutHeight = 0;
pCaptureOutPrm->outQueId = 0;

pCaptureInstPrm->videoCaptureMode = SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_HSYNC_VSYNC;//SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC
pCaptureInstPrm->videoIfMode = SYSTEM_CAPT_VIDEO_IF_MODE_24BIT;//SYSTEM_CAPT_VIDEO_IF_MODE_16BIT;
pCaptureInstPrm->inScanFormat = SYSTEM_SF_PROGRESSIVE;
采集参数及格式如上,在CaptureLink_drvProcessData函数中添加打印frameList.numFrames的值一直是0.我的理解是采集link没能采集到数据。看了一下采集参数没发现什么毛病。

回帖(3)

乔婧

2018-6-23 06:07:39
你好,
你确认你的硬件HDMI转RGB888输出后是接在VIP0的portA上么?你哟测量过输入给DM8148的时钟/同步信号都是正确的么?
下面的设置
pCaptureInstPrm->vipInstId = (SYSTEM_CAPTURE_INST_VIP0_PORTA+vipInstId)%SYSTEM_CAPTURE_INST_MAX;
能否修改为:

pCaptureInstPrm->vipInstId          = SYSTEM_CAPTURE_INST_VIP0_PORTA;
举报

林立银

2018-6-23 06:13:25
引用: 物是人非aaa 发表于 2018-6-23 06:07
你好,
你确认你的硬件HDMI转RGB888输出后是接在VIP0的portA上么?你哟测量过输入给DM8148的时钟/同步信号都是正确的么?
下面的设置

谢谢您的指点。 测量的同步时钟时对的。我看了一下参数,
采集参数pCaptureInstPrm->vipInstId = (SYSTEM_CAPTURE_INST_VIP0_PORTA+vipInstId)%SYSTEM_CAPTURE_INST_MAX;

采集参数pCaptureInstPrm->vipInstId          = SYSTEM_CAPTURE_INST_VIP0_PORTA;
是完全等价的。
至于您说的"硬件HDMI转RGB888输出后是接在VIP0的portA上",没看懂。您能说的再详细一点吗?谢谢。
举报

林立银

2018-6-23 06:22:27
引用: 物是人非aaa 发表于 2018-6-23 06:07
你好,
你确认你的硬件HDMI转RGB888输出后是接在VIP0的portA上么?你哟测量过输入给DM8148的时钟/同步信号都是正确的么?
下面的设置

vipInstId = 0;
gVcapModuleContext.captureId = SYSTEM_LINK_ID_CAPTURE;

gVdisModuleContext.displayId[0] = SYSTEM_LINK_ID_DISPLAY_0; /* ON AND OFF CHIP HDMI */
gVdisModuleContext.displayId[1] = SYSTEM_LINK_ID_DISPLAY_2; /* SDTV */

CaptureLink_CreateParams_Init(&capturePrm);
capturePrm.outQueParams[0].nextLink =AVST_DisplaySclrLinkId;
capturePrm.numVipInst = 1;
capturePrm.tilerEnable = FALSE;
capturePrm.numBufsPerCh = NUM_CAPTURE_BUFFERS;
capturePrm.maxBlindAreasPerCh = 4;
pCaptureInstPrm = &capturePrm.vipInst[0];
pCaptureInstPrm->vipInstId = SYSTEM_CAPTURE_INST_VIP0_PORTA;

pCaptureInstPrm->videoDecoderId = DEVICE_VID_DEC_TVP7002_DRV; //=0;
pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P;//SYSTEM_DF_RGB24_888;//
pCaptureInstPrm->standard =SYSTEM_STD_1080P_30;
pCaptureInstPrm->numOutput = 1;
pCaptureOutPrm = &pCaptureInstPrm->outParams[0];
pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV;//SYSTEM_DF_YUV422I_YUYV;
pCaptureOutPrm->scEnable = FALSE;
pCaptureOutPrm->scOutWidth = 0;
pCaptureOutPrm->scOutHeight = 0;
pCaptureOutPrm->outQueId = 0;

pCaptureInstPrm->videoCaptureMode = SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_HSYNC_VSYNC;//SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC
pCaptureInstPrm->videoIfMode = SYSTEM_CAPT_VIDEO_IF_MODE_24BIT;//SYSTEM_CAPT_VIDEO_IF_MODE_16BIT;
pCaptureInstPrm->inScanFormat = SYSTEM_SF_PROGRESSIVE;
您好,刚才回复的有点问题。SiI1161采集本身就有问题。现在换成tvp7002了,这是重新配置的参数。这个测试是有时钟信号的。在CaptureLink_drvProcessData函数里面打印frameList.numFrames一直是0.这是不是代表没有采集到数据。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分