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.

Flicker on video while masking on bottom of the video frame

Hi all,

We are using IPNC_RDK with multi-channel tri-stream usecase for DM8127 processor. Using that we are trying to mask on bottom of the video frame in camera link using EDMA. We have observed flicker on video. It seems that on some frame masking is done properly, on some frame last few lines at bottom, is not being masked properly and it will produce flicker on video.

We are using "DM81XX_EDMA3_memset()" API to mask on video.

I have attached two snap-shots. One is with complete mask and one is with incomplete mask. 

Kindly help me to resolve this problem.

Thanks and regards

Jay

snap-shot.tar.gz
  • Hi Jay, The VD interrupt is generated after 'vdInt' no of lines from the VSYNC pulse.Based on the value of 'vdInt' that is programmed it may not be guaranteed that complete frame is ouput from the Resizer when VD isr is invoked. In normal cases there is no issue as the frame processing like encoding happens from top to bottom and by the time processing reaches the end of the frame the complete frame will be ready. But in your case,you are immediately writing to the end of the frame where there can be rave condition:resizer may write last few lines after you have done memset. There are 2 solutions to this issue: Increase the value if 'vdInt' or delay the memset. regards, Anand
  • Hi Anand ,

    Thanks for your response. But from where we can change the value of 'vdInt' ?
    Kindly suggest.

    Thanks and regards,
    Jay

  • Hi Jay,

    Pl. reduce the value of 'ISS_VDINT_NUM_LINES_LESS' defined in ../ti_tools/iss_03_80_00_00/packages/ti/psp/iss/drivers/capture/src/issdrv_captureApi.c file further and check.

    regards,

    Anand 

  • Hi Jay,

    If you are running IPNC RDK ver 3.5 then you need to reduce the subtraction value at line # 2202 in  ../ti_tools/iss_03_50_00_00/packages/ti/psp/iss/drivers/capture/src/issdrv_captureApi.c file.

    isif_reg->VDINT0 = isif_reg->VDINT1 = isif_reg->VDINT2 = pObj->createArgs.scParams[0].inHeight - 5;

    regards,

    Anand

  • Hi Anand,


    I have tried both solutions, which you have suggested. The second suggestion is working fine for me.

    In first case I have increased the value of "vdInt". But its not working for me.
    I have attached the diff file for this.

    In second case I have delayed the memset with 5 millisecond sleep, and its working fine. There is no flicker effect on video.
    I have reduced this sleep to 2 milliseconds, and its also working well. 

    Thanks for your help.

    Regards,
    Jay