anchor.diff:  
     frm.Free;
     bmp.Free;
  -
  -  readln;
   end.
  
positive.code:           //OpenGL/Direct3D to draw your video data.
            {$IFNDEF FPC}
            Move(videodecoder^.buffer^, bmp.Scanline[bmp.Height-1]^, videodecoder^.buffer_size);
            StretchBlt(frm.Canvas.Handle, 0, frm.Height, frm.Width, -frm.Height, bmp.Canvas.Handle,
              0, 0, bmp.Width, bmp.Height, SRCCOPY);
            {$ENDIF}
  
negative.code: 
  function seek_proc(sender: Pointer; pos: int64; whence: integer): int64; cdecl;
  begin
    result := fs.Seek(pos, TSeekOrigin(whence))
  end;
  
  begin
  