Skip to content
  • Rémi Denis-Courmont's avatar
    video_format_TransformBy: fix and preserve video offsets · 3013997d
    Rémi Denis-Courmont authored
    In general, the picture buffer contains, in memory order:
    - cropped top scan lines,
    - visible scan lines,
    - cropped bottom scan lines,
    - extra codec lines,
    - padding lines.
    
    This order needs to be preserved when flipping vertically or rotating
    180 degrees, since filters and displays rely on this. In particular,
    the picture plane structure so far has no provisions for non-zero
    offsets, so filters expect visible pixels at the top left of each
    pixels plane. Effectively, non-zero offsets only work for cropping
    after filtering. Lets assume that the number of cropped lines are
    identical at the top and bottom, and keep the X and Y offsets as are.
    
    This fixes green lines at the bottom on R180 and VFLIP.
    
    If support for non-centered cropping is ever required, I believe
    offsets will need to be added to plane_t. This would break many video
    filters though.
    3013997d