Post Go back to editing

ADV7280A-M video jitter when using I2P

Category: Software
Product Number: ADV7280A

I am working with the ADV7280A-M Evaluation Board with an imx8mp, I used the ADV7280AM_Cust-VER.5.0.txt script to setup the CVBS FAST Switch I2P configuration.

With both PAL and NTSC standards the output video presents jitter when using the I2P block, is this behavior expected?

Question: It is possible to modify the I2P configuration using registers? Some of the registers to implement the I2P block are not listed in the User Guide documentation, can you give more information on the I2P register an how to configure it?

  • Hi,

    Digital noise reduction (DNR) is based on the assumption that high frequency signals with low amplitude are probably noise and that their removal, therefore, improves picture quality. But, by default this block will be enabled, So please make sure with the register 0x4D.

    ADV728x contains a chroma transient improvement (CTI) processor that sharpens the edge rate of chroma transitions, resulting in sharper vertical transitions. However, it operates only on edges above a certain threshold to ensure that noise is not emphasized. But by default this block will also be enabled. Also please make sure with these related registers like CTI_AB_EN, CTI_AB in register 0x4D.

    Luma and chroma related configuration is available in register 0x17, in reference script we have configured this 0x17 register as 41. Please refer figure25(YSFM and WYSFM Control Flowchart) and change the Y/C filter configuration according to your need.

    Generally, luma and chroma filters are used to set the bandwidth of the luma and chroma. 2D comb filters are used for Y-C separation.

    You can refer the below thread for Jitter problem when using I2P in ADV7280A-M.

     

    Thanks,
    Dharani S

  • Hi Dharani,

    I have modified the registers for DNR, CTI and Luma and Chroma filters with no visible changes in the jitter issue.

    • The Digital noise reduction (DNR) is enabled, I disable it but there is no changes on the jitter. Also I tried to vary the DNR Noise Threshold and the jitter is still visible.
    • Chroma transient improvement (CTI) is enabled, I disable it but there is no changes on the jitter. Also I tested the configurations for the CTI_AB for 0x00, 0x01, 0x10 and 0x11 and the jitter is still visible.
    • I tested some changes on the luma and chroma filters , for the chroma filter I tested both autoselection modes and for the luma filters I tested the auto modes and the NTSC filters but the jitter is still present.

    Question: Is there any configuration of this register that you can recommend to test?

    Question: Also I have notice that when the I2P block is on we are receiving 60fps, is this indicating the fields rate? Shouldn't it be 30fps as the I2P outputs progressive mode?

    We are currently researching in parallel a way to turn off the I2P block and convert from interlace to progressive in the i.MX8P, but we want to know if its possible to use the I2P and remove the jitter.

    Thanks,
    Kimberly Carvajal

  • Hi,

    Unfortunately, interlaced to progressive conversion artefacts are expected from ADV7280.

    The I2P block of the ADV728x works by storing a few lines of video. e.g. lines 1, 3, 5 on an odd field. It will then interpolate between these lines to generate the missing lines e.g. it will interpolate for lines 2 and 4.
    The I2P does contain a smoothing filter to minimize artefacts but some artefacts can still occur.

    Use a deinterlacer in your back-end processor rather than using the I2P block of the ADV7280. The backend processor will have to store an odd frame of video in a buffer, then store an even frame of video and then stitch these two frames together to generate a progressive field. This will minimize interlaced to progressive errors but will add a delay to your system.
    Be sure to introduce a line counter or similar software control to ensure that you do not get buffer overflows.

    When I2P is enabled, 30 fps interlaced input is converted into 60fps progressive video.
    To disable/enable I2P in ADV7280M, we need to configure the 0x55 register. Please refer Page99 in ADV728x hardware manual.

    Thanks,
    Dharani S

  • Hi Dharani,

    I have disabled the I2P block and now I am receiving image at 720x240 for NTSC with alternates fields. I am currently checking how to handle these interlace mode in the imx8mp.

    Additionally, I wonder if is possible to obtain the two fields (even and odd) in the same buffer from the ADV7280AM? If yes, could you indicate the register configuration or registers required for this action?

    Thanks,

    Kimberly Carvajal

  • Hi,

    Please note, by default the ADV7282a will output an odd field of video followed by an even field.
    These fields are separated by EAV/SAV codes and vertical blanking periods.
    These is no way that the ADV7280's operation can be modified so that two fields are output together in a long field.
     
    Try forcing the ADV7280-M into free-run mode and see if the issue goes away. In free-run mode the ADV7280-M will ignore the analog video input and will output a test pattern. Scripts to enter free-run mode are available.
    Could you try running a script that does not have the I2P deinterlacer enabled. You will get two fields out on the screen at the same time, but it will be interesting to see if the issue goes away.
     
    Turn off the I2P core in the ADV7280 and use an interlaced to progressive converter in the back-end processor. You will need to store fields of video in memory and stitch these together to generate progressive video. This will add significant latency to the video. Also, you will need to implement a control loop to ensure that the memory buffer does not get overloaded by the output from the ADV7280 (there are situations where ADV7280 will output fields that are too long/short). A line counter algorithm will do this well.
     
    Thanks,
    Dharani S