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.

Issue with DEI in interlaced bypass mode

I use DEI link in interlaced bypass mode to scale down a 1080i capture before encoding.

When I encode the original 1080i capture, all is fine (see first snapshot) , but when I encode the DEI downscaled frames, one field ends up with an offset (see snapshot 2).  You will have too zoom on second snapshot to see that one field is not display where it should.

Is there any patch to fix this issue.

Thanks for support

Yann

Here are the settings I set for the DEI link

    deiPrm.inQueParams.prevLinkId   = dupId;
    deiPrm.inQueParams.prevLinkQueId= 1;
    deiPrm.outQueParams[DEI_LINK_OUT_QUE_DEI_SC].nextLink = nsfId;
    deiPrm.enableOut[DEI_LINK_OUT_QUE_DEI_SC] = TRUE;
    deiPrm.inputFrameRate[DEI_LINK_OUT_QUE_DEI_SC] = 60;
    deiPrm.outputFrameRate[DEI_LINK_OUT_QUE_DEI_SC] = 60;
    deiPrm.enableDeiForceBypass  = TRUE;
    deiPrm.enableForceInterlacedInput = FALSE;
    deiPrm.interlacedBypassMode = TRUE;
    deiPrm.enableLineSkipSc = FALSE;
    deiPrm.inputDeiFrameRate = 60;
    deiPrm.outputDeiFrameRate = 60;
    deiPrm.enableInputFrameRateUpscale = FALSE;

    
    deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_DEI_SC][0].scaleMode = DEI_SCALE_MODE_ABSOLUTE;
    deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_DEI_SC][0].absoluteResolution.outWidth = 1440;
    deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_DEI_SC][0].absoluteResolution.outHeight = 540;

  • Note that Im using RDK 4.1

  • It looks like there is some weird unwanted video processing being done, even though the DEI is in bypass mode.

    Anything to suggest ?

  • DEIH register dump

    Phy Addr : 0x48100500 = 0x021c0780
    Phy Addr : 0x48100504 = 0x00010110
    Phy Addr : 0x48100508 = 0x00000000
    Phy Addr : 0x4810050c = 0x020c0804
    Phy Addr : 0x48100510 = 0x20302010
    Phy Addr : 0x48100514 = 0x140c0404
    Phy Addr : 0x48100518 = 0x50030804
    Phy Addr : 0x4810051c = 0x00001824
    Phy Addr : 0x48100520 = 0x20961808
    Phy Addr : 0x48100524 = 0x53100000
    Phy Addr : 0x48100528 = 0x00000020
    Phy Addr : 0x4810052c = 0x20961802
    Phy Addr : 0x48100530 = 0x00000002
    Phy Addr : 0x48100534 = 0x401e1010
    Phy Addr : 0x48100538 = 0x01000032
    Phy Addr : 0x4810053c = 0x18201219
    Phy Addr : 0x48100540 = 0x08040200
    Phy Addr : 0x48100544 = 0x1010100c
    Phy Addr : 0x48100548 = 0x10101010
    Phy Addr : 0x4810054c = 0x10101010
    Phy Addr : 0x48100550 = 0x0ac00200
    Phy Addr : 0x48100554 = 0x06020602
    Phy Addr : 0x48100558 = 0x00000404
    Phy Addr : 0x4810055c = 0x10101010
    Phy Addr : 0x48100560 = 0x10101010
    Phy Addr : 0x48100564 = 0x10101010
    Phy Addr : 0x48100568 = 0x10101010
    Phy Addr : 0x4810056c = 0x00000010
    Phy Addr : 0x48100570 = 0x2004080a
    Phy Addr : 0x48100574 = 0x00000000
    Phy Addr : 0x48100578 = 0x021b077f
    Phy Addr : 0x4810057c = 0x00000400
    Phy Addr : 0x48100580 = 0x0a050603
    Phy Addr : 0x48100584 = 0x06781430
    Phy Addr : 0x48100588 = 0x00040004
    Phy Addr : 0x4810058c = 0x00020002
    Phy Addr : 0x48100590 = 0x000a000a
    Phy Addr : 0x48100594 = 0x001e001e
    Phy Addr : 0x48100598 = 0x00000000
    Phy Addr : 0x4810059c = 0x00000000
    Phy Addr : 0x481005a0 = 0x00000000
    Phy Addr : 0x481005a4 = 0x00000000
    Phy Addr : 0x481005a8 = 0x00000000
    Phy Addr : 0x481005ac = 0x00000000
    Phy Addr : 0x481005b0 = 0x00000000
    Phy Addr : 0x481005b4 = 0x00000000
    Phy Addr : 0x481005b8 = 0x00000000
    Phy Addr : 0x481005bc = 0x00000000
    Phy Addr : 0x481005c0 = 0x00000000

  • Hi Lletiernn,

    Can you please share the input yuv so that I can check at my end?

    Regards,

    Murali

  • 0044.1080p_3.yuv.zip

    1920x1080 420 planar yuv

    Yann

  • Hi Yann,
    Sorry for delayed response. I analyzed the register dump, DEI is used in bypass mode only as per your setting. Also I am not expecting any more issues with DEI. Scalar is used in progressive to progressive mode? Are you giving fields separately to the DEI driver or given as progressive frame? Can you please share register dump of scalar also.
    Regards,Murali
  • Issue is coming from scaler.
    The parameters set in vpshal_sc.c scCalVertPolyphaseParams() are invalid for interlaced to interlaced mode. I also suspect wrong parameters for progressive to interlaced mode.

    I do not see the above issue when I use the progressive to progressive parameters, even though my video is interlaced to interlaced.

    Note that Im using interlaced with separate field.
  • Hi Yann,
    I recommend you to use progressive to progressive mode of scalar for separate field scaling also. Please let me know if you have any other concerns.
    Regards,Murali