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.

Problem with dm8168 enc_link reject all the input video frames

Hi all:

I develop on dm8168 with dvrrdk 4.00 version,

and i create my link

captrue link---->scale link --->nsf link------>ipcoutm3----->ipcInms----->enc link---->....A8

 i found the enc link reject all input frames, no video encode is done,

as i connect nsf link with sw link and display link through on-chip HDMI, it shows OK

The signal is progrssive 1080P 25fps video signal,

  pCaptureInstPrm->inDataFormat       = SYSTEM_DF_YUV422P;

 pCaptureOutPrm->dataFormat          = SYSTEM_DF_YUV422I_YUYV;

when i remove scale link, enc link works well,

and i follow the encLink_common.c code, i found

/* frame skipped due to framework */
            if(pChObj->nextFid != pFrame->fid && pFrame->fid != FVID2_FID_FRAME)
                pChObj->inFrameRejectCount++;

pChObj->nextFid = 1,pFrame->fid=0 always,so enc skip, Is this caused by capture output data format,

how to resolve  this problem?

best regards

xavier

  • Hi Badri:

    the patch is from which dvrrdk version to another verrsion,

    i checked scaler link in dvrrdk4.0,

    there is some differences,

    the patch file context:

    diff --git a/mcfw/src_bios6/links_m3vpss/sclr/sclrLink_drv.c b/mcfw/src_bios6/links_m3vpss/sclr/sclrLink_drv.c
    index e2bcf1f..7861fe8 100755
    --- a/mcfw/src_bios6/links_m3vpss/sclr/sclrLink_drv.c
    +++ b/mcfw/src_bios6/links_m3vpss/sclr/sclrLink_drv.c
    @@ -322,6 +322,7 @@ Int32 SclrLink_drvCreateOutObj(SclrLink_Obj * pObj)
         pFormat->pitch[0]       = pChInfo->pitch[0];
         pFormat->pitch[1]       = pChInfo->pitch[1];
         pFormat->pitch[2]       = pChInfo->pitch[2];
    +    pFormat->scanFormat     = pChInfo->scanFormat;
         pFormat->bpp            = FVID2_BPP_BITS16;
         pFormat->reserved       = NULL;
     
    @@ -374,7 +375,6 @@ Int32 SclrLink_drvCreateOutObj(SclrLink_Obj * pObj)
             pOutChInfo = &pObj->info.queInfo[0].chInfo[chId];
     
             pFormat = &pObj->outObj.outFormat;
    -        pFormat->scanFormat     = pInChInfo->scanFormat;
             if (pObj->createArgs.tilerEnable)
             {
                 pOutChInfo->memType = VPS_VPDMA_MT_TILEDMEM;

    In my version dvrrdk 4.0

    +    pFormat->scanFormat     = pChInfo->scanFormat;  has been addde,

    -        pFormat->scanFormat     = pOutChInfo->scanFormat;

    best regards

    xavier

  • Patch should be applied on DVRRDK 4.1 . You can manually merge the changes. Make sure after applying patch encoder is getting created for PROGRESSIVE . This will be printed at encoder create time.

    Also ensure you have set capture Prm scanFormat correctly to progressive.