Software Phase Locked Loop 'vga-sync-fields' Revision History
-------------------------------------------------------------

2009-06-14: Version 0.2.0

- ported intel gma version of the patch to ati radeon
- core algorithm now almost common code between the two
- fixed potential glitches in radeon code
- new algorithm for live mode sync of xineliboutput providing
  much smoother buffer control. CVS version of live mode sync
  as of 2009-06-14 was not quite sufficient for our purposes.
- some cosmetics in xv-intel.patch
- tools adapted accordingly

2009-06-06: Version 0.1.3

- now also supports interlaced resolutions at HDMI interface as provided
  by D945GSEJT or Pundit P1-P5945GC
- backported intelfb version 0.9.6 945GME support for SCART functionality
- field/frame timing log output now configurable per SF_Debug Xserver option:
  o odd numbers will output a status line every second
  o even numbers will only spawn a line if a given value is exceeded 
    either by drift or by sync point or by both

2009-05-30: Version 0.1.2

- the intel part of the patch did undergo a major rewrite for
  improved D945GSEJT support
- full compatibility to prior intel hardware maintained
- improved field timing debug support
- new scheduling option added
- tool drift_control945.c also updated to new soft PLL algorithm 

2009-05-16: Version 0.1.1 

- support for Intel D945GSEJT (Johnstown) included
- support for Asus Eee PC 701 included

2009-03-27: Version 0.1.0 

- removed code looking for lost VBLANK interrupts in radeon DRM.
  This issue has now been fixed by standard kernel (2.6.26).
- adopted bugfix http://bugs.freedesktop.org/attachment.cgi?id=20529
  which now supersedes temporary fix
- GIT DRM obsoleted. Now uses standard kernel (2.6.26 as of 
  debian lenny) DRM instead.
- introduced some new xorg.conf options for both intel and 
  radeon type of the FRC patch
- intel Xserver now starts even with disconnected monitor
- fixed a driver bug in radeon DRM which could cause a crash
- removed i810 DRM kernel patch. This chipset is currently not 
  supported
- now automatically raises Xserver sched prio for single 
  processor systems (affects both radeon + intel systems).
  You also can control this by newly introduced Xserver option.

2009-02-10: Version 0.0.11

- full functionality of Radeon based original patch now ported
  to recent Intel graphics hardware. This includes support
  for i945G chipsets as found on EEE PCs and D945GCLF[2] boards.
- exploits some special features of i945G chipsets like
  vertical phase registers and fine tuning of vertical scaling.
  This enables us to compensate for interference effects observed
  when driving modern digital displays through a SCART interface.
- patch against xineliboutput-1.0.3 to sync SCR to transponder 
  clock in live mode more defensively (thanks to Andreas Auras)
- patch against intelfb (kernel 2.6.26) to allow for PAL/SCART
  video timings. You now can use a regular SCART CRT as display 
  for linux console.
- fixed a bug in intelfb initialization which sporadically 
  setup video timing with weirdous values
- some minor corrections for radeon related parts of the patch

2009-02-09: Version 0.0.10

- removed unnecessary patch for Makefile.am in xserver-xorg-video-ati

2008-09-23: Version 0.0.9

- rebased everything to 
    linux-image-2.6.26
    xorg V7.4 (xserver V1.5)
    drm git
- rewrote i810 drm from scratch only supporting VBLANK.
  the original module is far too unstable and incomplete.
- support for i810 chipset is still experimental

2008-09-08: Version 0.0.8

- enhanced a standalone tool for testing the Soft-PLL without xine-lib
  and Xserver
- a fix in xineliboutput configuration (see README) greatly improved
  responsiveness of Soft-PLL to channel switches
- implemented a workaround for sporadically lost interrupts on
  Radeon type hardware
- added experimental DRM and tools support for i810. I just started
  the port from Radeon to i810. It's not yet documented and
  far from complete

2008-08-23: Version 0.0.7

- added a small patch for recent hg xine-lib (1.1.16) from 2008-08-20.
  Together with the patch the actual xine-lib gives good results
  for playback and live-TV.

2008-08-21: Version 0.0.6

- fixed a bug that erroneously could trigger recovery actions as if 
  stray updates would have been occurred
- since 40ms enhancement (see below) issues with DVB budget cards 
  are considered as fixed. You now also can watch live-TV with the
  patch. But the time to switch a channel still should be optimized.
  It sometimes takes too long for the Soft-PLL to lock.

2008-08-19: Version 0.0.5

- frame rate now adapted every 1/25 second instead of only once per 
  second as before. This should make rate adaptions invisible even
  if they change by large values
- implemented a simple graphic which should give you a better
  overview of how regularly frame updates are issued from your decoder.
  And how the Soft-PLL copes with these updates
- automatic sync of initial field polarity now has been removed. It's 
  now part of 40ms double buffer update improvement (see vers. 0.0.4)
- simplified/changed interface to DRM-module
- adapted all tools to new interface

2008-08-17: Version 0.0.4

- now widened time window for double buffer updates from 20ms to 40ms.
  This is done via drm-ioctl() since the chip doesn't provide
  a native interface for this.
- this greatly reduces Soft-PLLs sensitivity to any timing interference
- thus we now even can fully enable live-viewing with DVB drivers and
  a budget card. Though DVB driver timing problems are not yet solved.
- changed interface to DRM-module

2008-08-14: Version 0.0.3

- added a patch that enhances standard radeonfb kernel driver to use
  your TV-set as a computer monitor. See README for details
- added a tool which sweeps up and down the complete frame rate range
- explicitly tested a couple of boards with good results, see README
- fixed a minor bug during init of PLL

2008-08-11: Version 0.0.2

- removed a possible glitch when updating RADEON_CRTC_H_TOTAL_DISP
- increased precision to determine position of 'trim' scanline

2008-08-08: Version 0.0.1

- reworked everything from scratch
- improved interface to DRM-module
- first approach to implement a PLL in software to lock VGA frame rate
  to an external signal source (e.g. DVB stream frame rate)
- added a standalone utility to monitor/control Soft-PLL status
- added a low level tool to manually adjust Soft-PLL parameters
- fixed scaler bug in RADEONDisplayVideo() (Thanks to Roland Scheidegger)
- found a way how to detect initial field parity on Radeon cards
- added patches from various sources to fix bugs in current 
  CVS xf86-video-ati (Thanks to Andy Burns)
- added switching diagram for my favorite VGA-to-SCART adaptor 
  circuit and (hopefully) some other useful information
- first attempt to write INSTALL, MANUAL, README. These descriptions are
  far from complete (yet)
- successfully tested on various mainboards and ATI Radeon type graphics cards
  including RV100/Radeon 7000 and Asus Pundit ID-3 (RS300/Radeon 9100 IGP)

2008-07-09: Version 0.0.0

- Initial revision.

