Hi all,
前端视频AD芯片使用的TVP5158连接到DM8148的VIP0_PORTA接口,仅有一路视频源输入。
使用的是DVRRDK4.0的开发环境,link的连接方式为:capture--》sclr--》nsf--》ipcOutVpss--》ipcInVideo--》Encoder--》ipcBitOutVideo--》ipcBitInVideo--》rtp传输。根据4CH 采集编码解码显示的例子,修改了相关的采集的配置,我们的板子视频输入只有一路,所以我想使用tvp5158的non-interleaved模式,于是
将capture的配置设置为DEVICE_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC,且standard设置为SYSTEM_STD_D1。
但是结果没有视频传输出来,但是换成DEVICE_CAPT_VIDEO_CAPTURE_MODE_MULTI_CH_PIXEL_MUX_EMBEDDED_SYNC和SYSTEM_STD_MUX_4CH_D1就会有视频传输出来。不知道这是为什么
配置采集参数如下:
CaptureLink_CreateParams_Init(&capturePrm);
capturePrm.outQueParams[0].nextLink = gVcapModuleContext.sclrId[0];//+cbl 0813
capturePrm.numVipInst = 1;
capturePrm.tilerEnable = FALSE;
capturePrm.numBufsPerCh = NUM_CAPTURE_BUFFERS;
capturePrm.maxBlindAreasPerCh = 4;
capturePrm.enableSdCrop = FALSE;//+cbl 0815
pCaptureInstPrm = &capturePrm.vipInst[0];
pCaptureInstPrm->vipInstId = (SYSTEM_CAPTURE_INST_VIP0_PORTA+
vipInstId)%SYSTEM_CAPTURE_INST_MAX;
pCaptureInstPrm->videoDecoderId = SYSTEM_DEVICE_VID_DEC_TVP5158_DRV;
pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P;
pCaptureInstPrm->standard = SYSTEM_STD_D1;//SYSTEM_STD_MUX_4CH_D1;//
pCaptureInstPrm->numOutput = 1;
pCaptureOutPrm = &pCaptureInstPrm->outParams[0];
pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV422I_YUYV;
pCaptureOutPrm->scEnable = FALSE;
pCaptureOutPrm->scOutWidth = 0;
pCaptureOutPrm->scOutHeight = 0;
pCaptureOutPrm->outQueId = 0;
//for(i = 0; i < NUM_CAPTURE_DEVICES; i++)
{
vidDecVideoModeArgs[i].vipInstId = SYSTEM_CAPTURE_INST_VIP0_PORTA;
vidDecVideoModeArgs[i].deviceId = DEVICE_VID_DEC_TVP5158_DRV;
vidDecVideoModeArgs[i].numChInDevice = 1;//4;
vidDecVideoModeArgs[i].modeParams.videoIfMode = DEVICE_CAPT_VIDEO_IF_MODE_8BIT;
vidDecVideoModeArgs[i].modeParams.videoDataFormat = SYSTEM_DF_YUV422P;
vidDecVideoModeArgs[i].modeParams.standard = SYSTEM_STD_D1;//SYSTEM_STD_MUX_4CH_D1;//
vidDecVideoModeArgs[i].modeParams.videoCaptureMode = DEVICE_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC;
//DEVICE_CAPT_VIDEO_CAPTURE_MODE_MULTI_CH_PIXEL_MUX_EMBEDDED_SYNC;
vidDecVideoModeArgs[i].modeParams.videoSystem =
DEVICE_VIDEO_DECODER_VIDEO_SYSTEM_AUTO_DETECT;
vidDecVideoModeArgs[i].modeParams.videoCropEnable = FALSE;
vidDecVideoModeArgs[i].modeParams.videoAutoDetectTimeout = -1;
}
Vcap_configVideoDecoder(vidDecVideoModeArgs, 1);
另外,设置为SYSTEM_STD_D1后编码打印的分辨率怎么是352x288 这是cif的格式啊,不应该是720x576或者704x576吗?
这个也是一个疑问