Post Go back to editing

ADV7842 - how to shift picture a few pixels down

Category: Hardware
Product Number: ADV7842


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 Reply Children
  •  Hi  ,

    Sorry I was asking for the script snippets (i.e. examples), something like this:

     94 98 00 ; H-DE
       94 99 06 ; 
       94 9A 00 ; 
       94 9B 06 ;

    Can you explain what values I should provide. I am newbie here and I need to understand what this means:

    "The position of the horizontal DE trailing edge is controlled by placing a twos complement number into the SDP_DE_H_END_ADJ[11:0] bits. The number is a twos complement value that allows both positive and negative edge movement. " 

    Can you provide a specific example for the above meaning?

    Can you also advise how to introduce negative shift? Is the sign defined by the leftmost digit? I.e. to shift one pixel to the right, it should be 0x1. To shift one pixel to the left, it should be 0x801?

    The default values do introduce shift if for CVBS/S-Video if the video is 480i - it is evident from the other posts as well.

    Thank you.

    PS. Update.

    I'm able to shift the picture horizontally by using the following command:

     94 98 00 ; H-DE
       94 99 10 ; 
       94 9A 00 ; 
       94 9B 10 ;

    There are 2 horizontal registers: SDP_DE_H_BEG_ADJ and SDP_DE_V_END_E_ADJ. But there are 4 vertical ones.

      can you please explain the difference between:


    What's the difference between E and O?

    Thank you.

  • Hi,

    Please find the below comment,

      The default values do introduce shift if for CVBS/S-Video if the video is 480i - It is evident from the other posts as well ?

           This comment we referred it from Expert at hs adjust and VBI adjust problem - Q&A - Video - EngineerZone ( .

           Also kindly note that, Sources maybe changing the pulse timing a bit & It depends on the source side (For example One source the video may shifted upwards and for other it shift to right or left) So we have to change the ADV7842 timings based on pixel shifting. If those timing registers are don't change then the Sink will get what the Source sends. 

           And ADV7842 does not modify the timing.  We have to change the sync widths and edge polarity on our own but the default scripts don't do this.

         In that evident post that you have shared, Expert Dave also mentioned like " I duplicated your test on 2 different monitors.  On the first monitor, 1-1e leads to a widescreened image from bezel to bezel and 1-1f leads to a 4:3 image located in the middle of the screen.  On the second monitor, both 1-1e and 1-1f lead to identically positioned and size images-- with no pixel offset of any kind between them ". Please refer the same in respective thread.



  • Hi  ,

    1. Modifying START_HS, END_HS, START_VS etc registers have absolutely no impact on the problem I described.

    2. I used 2 different LaserDisc players (LD_S2 and CLD-D703) and one DVD player as sources. All of them result in significant top right shift when using CVBS and SVideo 480i default scripts. I provided the screenshots of the problem. While different sources indeed result in different shifts, these shifts are marginal compared to the shift that ADV7842 board introduces. I was not using monitors. I was using HDMI video capture card with VirtualDub application. The HDMI capture card does not introduce the shift (I provided the screenshot of the direct HDMI capture from the DVD player and there was no shift).

    3. The same exact problem was described in this thread 12 years ago:  RE: ADV7842 SDP Shift 

    4. I understand that default script don't modify the needed registers to correct the shift. That is perfectly fine. I wasn't asking to justify that. I was merely asking if it's possible to provide a practical solution to the particular problem I was facing. I.e. how to modify the registers to correct the shift so that I could use it in my custom script. None was provided to me. I figured it out on my own from this old thread.  RE: ADV7842 SDP Shift . Also I don't understand why none of the subsequent questions regarding the various register values were answered.