请问下,能单独使用captureLink中缩放功能吗? 为何我的高清信号,使能scEnable 缩放到标清,图像变卡。一直打印“ CAPTURE: Overflow detected on VIP0,”log
但是关闭scEnable,图像就没有问题?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
请问下,能单独使用captureLink中缩放功能吗? 为何我的高清信号,使能scEnable 缩放到标清,图像变卡。一直打印“ CAPTURE: Overflow detected on VIP0,”log
但是关闭scEnable,图像就没有问题?
使用DM8127,RDK3.5 调试高清输入视频
GS2961输出16bit Y,UV分离数据,同步信号按照CEA-861 输出。
本人采集模式设置如下:
pCaptureInstPrm = &capturePrm.vipInst[0];
pCaptureInstPrm->vipInstId = SYSTEM_CAPTURE_INST_VIP0_PORTA;
pCaptureInstPrm->videoDecoderId = SYSTEM_DEVICE_VID_DEC_GS296_DRV;
pCaptureInstPrm->standard = SYSTEM_STD_1080P_24;
pCaptureInstPrm->frameCaptureMode = FALSE;
pCaptureInstPrm->fieldsMerged = TRUE;
pCaptureInstPrm->numOutput = 1;
pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422SP_UV;
pCaptureOutPrm = &pCaptureInstPrm->outParams[0];
pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV;
pCaptureOutPrm->scEnable = TRUE;
pCaptureOutPrm->scOutWidth = 720;
pCaptureOutPrm->scOutHeight = 576;
pCaptureOutPrm->outQueId = 0;
pCaptureOutPrm->subFrameEnable = FALSE;
pVipCreateArgs->videoCaptureMode =VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_HSYNC_VSYNC;
vipPortConfig->disConfig.fidDetectMode =VPS_VIP_FID_DETECT_MODE_PIN;
vipPortConfig->disConfig.actvidPol = VPS_VIP_POLARITY_HIGH;
vipPortConfig->disConfig.vsyncPol = VPS_VIP_POLARITY_HIGH;
vipPortConfig->disConfig.hsyncPol = VPS_VIP_POLARITY_HIGH;//VPS_VIP_POLARITY_LOW;
但是采集到图像如下图:
请问,哪里配置有问题,往协助查看下,已经卡了两天了。
中间加入sclrLink后,视频大概率无法播放。
chain:
captureLink(1080p/25)->sclrLink->displayLink(SD)
参数配置如下:
pCaptureInstPrm = &capturePrm.vipInst[0];
pCaptureInstPrm->vipInstId = SYSTEM_CAPTURE_INST_VIP0_PORTA;
pCaptureInstPrm->videoDecoderId = SYSTEM_DEVICE_VID_DEC_GS296_DRV;
pCaptureInstPrm->standard = SYSTEM_STD_1080P_24;
pCaptureInstPrm->frameCaptureMode = FALSE;
pCaptureInstPrm->fieldsMerged = FALSE;
pCaptureInstPrm->numOutput = 1;
pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422SP_UV;
pCaptureOutPrm = &pCaptureInstPrm->outParams[0];
pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV;
pCaptureOutPrm->scEnable = FALSE;
pCaptureOutPrm->scOutWidth = 720;
pCaptureOutPrm->scOutHeight = 576;
pCaptureOutPrm->outQueId = 0;
pCaptureOutPrm->subFrameEnable = FALSE;
capturePrm.numOutQue = 1;
SclrLink_CreateParams_Init(&sclrPrm);
sclrPrm.inQueParams.prevLinkId = gVcapModuleContext.captureId;
sclrPrm.inQueParams.prevLinkQueId = 0;
sclrPrm.outQueParams.nextLink = gVdisModuleContext.displayId[VDIS_DEV_SD];
sclrPrm.tilerEnable = FALSE;
sclrPrm.enableLineSkipSc = FALSE;
sclrPrm.inputFrameRate = 24;
sclrPrm.outputFrameRate = 24;
sclrPrm.scaleMode = DEI_SCALE_MODE_ABSOLUTE;
sclrPrm.scaleMode = DEI_SCALE_MODE_ABSOLUTE;
sclrPrm.outScaleFactor.absoluteResolution.outWidth = 720;
sclrPrm.outScaleFactor.absoluteResolution.outHeight = 576;
sclrPrm.outDataFormat = VF_YUV420SP_UV;
sclrPrm.pathId =SCLR_LINK_SEC0_SC3;
无法播放情况,现已跟踪到sclrLink_drv.c中SclrLink_drvSubmitData函数时,会一直等待Semaphore_pend(pObj->complete, BIOS_WAIT_FOREVER);
但是触发完成信号,在回调函数SclrLink_drvFvidCb,底层始终没有调用。这是为何?