Post Go back to editing

ADV7842 - how to shift picture a few pixels down

Category: Hardware
Product Number: ADV7842

Hello,

I'm capturing the video from the LD player and the picture is a little bit shifted to the top and to the right that results in cutting a few pixels on the top and right edges. I would like to shift it down and to the left. What is the registry command to do that? Thanks.

PS. This issue is the same as thisRE: ADV7842 SDP Shift 



Added a link to the related issue.
[edited by: metaleonid at 1:57 AM (GMT -4) on 3 Apr 2023]
Parents
  • Hi,

    Could you please try with reference script which is available at ADV7842 Design Support Files - Documents - Video - EngineerZone (analog.com) & from the default reference configuration you may not get such pixel shift .

    Also try with some other sources instead of LD player.

    The position of the signal can be controlled be using below register and kindly configure these registers accordingly, For more details, Please refer section "OUTPUT SYNCHRONIZATION SIGNAL POSITIONING" at UG-214: ADV7842 Hardware User Guide

     How should we set START_VS and END_VS ?

         The picture gets shifted by a number of clocks equal to the hsync width. For example, the hsync width is 40 clock cycles for 720p, so the picture would get shifted by 40 pixel clocks.

         If you look at the CEA-861 specification, you will see that the 640x480p @ 59.94/60Hz has an hsync width of 96 clock cycles.

    The DE sync leading and trailing edges must therefore be shifted by 96 pixels towards the left, i.e.:

    • de_h_start[9:0] = 0x3A0 (-96 pixels of shift)

    • de_h_end[9:0] = 0x3A0 (-96 pixels of shift)

    This results in the following settings (the sequence of the writes is important and must be followed):

    44 8B 43; de_h_end shifted by -96 pixels

    44 8C A0; de_h_end shifted by -96 pixels

    44 8B 4F; de_h_start shifted by -96 pixels

    44 8D A0; de_h_start shifted by -96 pixels

    Thanks,

    Poornima

  • Thank you very much. I will try tomorrow and will let you know. 

Reply Children
  • Hi Poornima,

    Unfortunately, this series didn't do anything. I expected to shift the image, but it did't. I'd like to ask you how you arrived to the numbers. x3A0 is 1110100000 in binary which is 928 in decimal. What is the connection between 928 and -96? I'd like to play with it and try different numbers. 

    I'm attaching the screenshot of the video capture. Take a look how image is shifted to the right and to the top. All I need to do is to shift it back. Thank you.

  • Hi,

       Our chip will not introduce any shift with default settings so could you please configure according to same as like our reference script at 7725.ADV7842_Evaluation_Board_Documents.zip and let us know the result with default configuration.

      Also Please refer this thread and here expert given some suggestion about video image twisting at Video image twisting with ADV7619 to receive 4K HDMI video stream - Q&A - Video - EngineerZone (analog.com)

    Thanks,

    Poornima

  • Hi Poornima,

    I tried the script that you provided with the default settings but it didn't fix the issue at all. In fact the image is even further shifted to the right. Here're the screenshots. Can you please provide the solution / workaround how to shift the image back (in this case to the left and down). Thank you.

    PS. The S-Video image is horrible (the second one). For some reason the board produces the "net" artifacts. I don't have to use S-Video but just letting you know.

  • Hi Poornima,

    I just tried the capturing from the DVD player 1st outputting directly HDMI into my capture device. And in the 2nd capture I was using composite-in into ADV7842 board and then HDMI out to my capture device. As you see the image from the direct capture - it is not shifted. But using ADV7842 it is shifted to the top-right. I would like to play with the register settings for horizontal and vertical shift. But can you confirm if I correctly got it at the bottom of this message?

    Directly from DVD - not shifted.

    Composite into ADV7842 - shifted to the top-right

    Regarding the shift. If I want to shift 96 pixels to the left, I need to subtract 96 from 1024, right?

    1024 - 96 = 928 = 0x3A0

    44 8B 43; de_h_end shifted by -96 pixels

    44 8C A0; de_h_end shifted by -96 pixels

    Is this how it is computed?

    0x3A0 = 11 1010 0000

    0xA0 shall go to both 44 8C (d_h_end) and 44 8D (d_h_start)

    And the number 0x3 = 11 shall go to register 44 8B. 

    My understanding is that register 44 8B has two right-most bits for de_h_end [1:0] and bits 3rd and 4th are for d_h_start [3:2].

    Thus putting 0x3 in in [1:0] and then in [3:2] is same as putting 0xF into 44 4B [3:0]

    Is this right?

    Anyhow, the writing to these registers does not shift the image. Is there anything else? The progressive footage does not suffer from this problem. The image is not shifted. Only interlaced. But my sources are interlaced.