Hi,
Based on IPNC_RDK3.5, I created my usecase as the following :
Host IPC bit out -> video IPC bit in -> dec link-> video frame out -> vpss frame in-> scalar link-> nsf link->vpss frame out->video frame in->H264 enc-> video ipc bit out->host ipc bit in
But when the first frame arrives, the link chain will stuck. The error message is :
[m3vpss ] 20066: Assertion @ Line: 1032 in links_m3vpss/sclr/sclrLink_drv.c: status == FVID2_SOK : failed !!!
I checked the vps driver in the hdvpss package and found the error is caused by parameter checking in the file vpsdrv_m2msc.c.
if (sFrmPrms->width < (cropCfg->cropWidth + cropCfg->cropStartX)) //by ldm
{
GT_0trace(VpsMdrvScTrace, GT_DEBUG,
"Source width is less than crop width + horizontal "
"Offset\n");
retVal = FVID2_EINVALID_PARAMS;
break;
}
Here sFrmPrms->width = 1080, cropCfg->cropWidth=1080, cropCfg->cropStartX=32, so the expression is TRUE.
If remove the paramter checking or force the cropStartX=0 during scalar link creating, the error is gone.
But as the picture shown above, the top and left of the output video of scalar link is not correct. I think there is no one create chain as above, i.e., to scale down the video from decode link.
The output is normal when I create the same usecase in DM8168. I comapared the mcfw between dvr_rdk and IPNC_RDK, there are too much difference.
Can anyone tell how to fix the bug? Even I used DEI link instead of scalar link to scale down , the result is same.