Changelog
2009-03-22:
   - Patch by Pridvorov Andrey to make softdevice work with mplayer-plugin.
2009-02-19:
   - decoding: Enable selection between av_read_packet() and av_read_frame() via
               OSD. To take effect, vdr has to be restarted.
   - still picture: Dependant on frame type (interlaced vs. progressive) show only
                    one half frame. This avoids still picture judder.
                    For demo an optional marker could be drawn when active.
2009-02-18:
   - build: Fix compiling with newer ffmpeg versions (r15634,r15799) (bug #14990).
2008-10-25:
   - build: Fix compiling with newer ffmpeg versions (by Jason Harvey).
2008-09-26:
   - Updated italian translations by Diego Pierotto.
2008-09-21:
   - build: Fix build failure with newer ffmpeg releases (bug #14494).
2008-09-12:
   - OSD: next fix in subtitle vs. OSD behaviour issues.
2008-09-10:
   - OSD: continued fix from 2008-01-26: now subtitle vs. menu OSD flickering.
   - ShmClient: Fix for bug #14302: vdr version dependent member in setupstore.
2008-07-27:
   - video: Fix for bug #13729 when displaying yuv 422 planar video source.
2008-07-20:
   - audio: Fix for bug #14039 based upon suggestion by 'earcar'.
   - video-dfb (TV-out): Make display field order depended on stream information.
       Default is Auto. If detected field order is wrong, it can be overwritten
       via OSD to "Top field first" or "Bottom field first".
2008-07-14:
   - video-xv: - Workaround for DPMS not getting reenabled.
               - Fix for reenable DPMS when quit from fullscreen mode.
   - configure: Improve detection of yaepg patched vdr.
2008-04-18: softdevice-0.5.0
   - Check configuration for ffmpeg < r11816.
   - Removed timestamps, email addrs and src line # comments from *.po.
2008-04-16:
   - Silence some warnings.
   - softdevice.c: Fix spelling & version check for trNOOP().
   - Suspend output on user inactivity (see README): patch by Marko Mkel
2008-04-15:
   - Fixed (changed) some italian chars.
   - Added local translations of yes/no.
   - Switched to vdr-1.5.x OSD translation.
   - Switched from av_read_packet() to av_read_frame().
2008-04-14:
   - Italian translation by Diego Pierotto.
2008-04-13:
   - audio: fix ac3 downmix request for ffmpeg >= r10199.
2008-04-10:
   - SoftOsd: Adjust constructor definition to implementation.
2008-02-26:
   - fix for ffmpeg >= r12194.
   - video-fb: via OSD selected screen aspect was not honored.
2008-02-20:
   - VideoFilter.c: fix some warnings and compile error with ffmpeg >= r11816
2008-01-26:
   - OSD: missing call to ClearOSD() of output device.
2008-01-19:
   - OSD: fix drawing (missing method SetAreas()).
2007-12-25:
   - license: included gpl notice "v2 or any later" to README.
   - border detect: fix rounding issue.
   - audio: \n\r -> \n substitution for ac3pt,
            some indentation cleanup (Xrun())
   - shm-out: ensure nonNULL vout->ctl in Stop(); by Axel Naumann
2007-12-24:
   - mpegdecoder: compile fix for ffmpeg svn >= r11071.
                  revert AVFMT_NOFILE trick for actual ffmpeg >= 11071.
                  recommended ffmpeg versions: A) < r11071 B) >= r11307
2007-10-13:
   - shm-out: applied patch from Matthias Schwarzott to make ShmClient work
              at 1st start of softdevice with "-vo shm:".
              allow xv startup aspect selection for shm out too.
2007-09-27:
   - audio: added open for number of channels device names CH1, CH2, CH3, .. .
   - mpeg2decoder: workaround for some ac3 decoding issues.
2007-09-23:
   - configure: fix framebuffer check.
2007-09-16:
   - border detect: whole black area was cut out. that's not correct when aspect
     ratio is greater than 16/9. limit cut out area to 16/9.
   - russian translation by neptunvasja
2007-08-29:
   - compile fix for vdr-1.5.9 based on Stone's patch.
2007-07-12:
   - video / dfb: moved some code from video.c to video-dfb.c as announced
                  and changed some constants to those I use in productive VDR.
2007-07-11:
   - compile fix for: ./configure --disable-shm
   - applied patch from Matthias Schwarzott for compile issues with
     newer ffmpeg versions
   - applied patch from Artur Skawina for memory alignment error
   - video-xv: fix OSD parially not drawn or cleared in pseudo mode:
               - a small stripe remains on the right side, when video changed
                 from 16:9 to 4:3
               - only modified OSD was shown when deinterlacer was toggled
                 on/off.
2007-05-10:
   - use libswscale if available.
   - remove left over code from the old video-fb.
   - remove pixel mask option from SoftOsd.[hc] and video*, which was only used
     by the old video-fb.
   - adapt MacVdrClient.c to the setupStore in shared memory.
   - remove softlog from setupStore. Pointers aren't valid in a shared memory
     block.
   - remove private variable setupStore from audio out methods. They can
     access the global variable.
   - move setupStore into a shared memory block. This allows ShmClient to
     have acces to the setupStore.
   - move CatchRemoteKey() into utils.c, else setup-softdevice.o would
     have to be linked into libsoftdevice-xv.so and -dfb.so
2007-04-12:
   - ShmClient: revertet previous change, as it breaks argument style
                of softdevice.
   - configure: fix typo (yaepg),
                rm .dependencies in case of changes,
                new opt: --disable-xinerama (by Matthias Schwarzott)
   - fix osdMode not initialized (by Matthias Schwarzott)
   - ShmClient: full screen start option (by Matthias Schwarzott)
2007-04-11: softdevice-0.4.0
   - xv-out: activate suspend/resume key (r/R) via configure (by Artur Skawina).
   - i18n: some german translations.
   - osd: moved aspect detection entry to "Cropping" sub menu.
2007-04-03:
   - add automatic border detection, based on a patch by Roland Praml.
   - altivec needs 16 byte alignment
   - compile fix for Darwin
   - make flag for shared linking a variable
   - add BGRA32 mode to SoftOsd
   - compile linux RTC syncing mode support only on Linux.
   - detect cpu endianness and define CPU_BIGENDIAN if necessary.
   - add video-quartz and audio-macos for Mac Os X support
2007-03-25:
   - fix types in GetTime().
   - pts values are stored in uint64_t
   - almost complete rewrite of video-fb. Supported are now 15,16,24 and 32 bit
     depth framebuffers. The osd is rendered with software alpha blending,
     and it is even faster :-)
2007-03-12:
   - compile fix for recent ffmpeg SVN
   - include ffmpeg headers as 'extern "C"'
   - enable and use as default the software mixer. The old behaviour (use the
     system's mixer) can be selected via -vo oss:mixer.
   - increase the stepsize of the software mixer.
   - don't scale audio if the volume is at maximum.
   - set edge_width/_height always to zero. Fixes picture shiftes with
     the ShmClient. This is not the optimal(/final) solution...
2007-03-04:
   - video-dfb: Make use of SetSourceRectangle() runtime selectable,
                changed *SetSourceLocation* to SetSourceRectangle.
2007-02-26:
   - softlog: sanitycheck for zero length filenames and fix use filename member
              when changeing append mode.
   - video-dfb: shifted most prints via softlog.
   - video sync: preparation for new changeable sync parameters.
2007-02-24:
   - Makefile: add --remove-destination , so that "make plugins" does not
     disturb a running vdr.
   - softlog: added indicator for priority I(nfo), E(rror), D(ebug), T(race).
   - video-vidix: shifted prints via softlog.
2007-02-13:
   - fix gettid compile error on some systems.
2007-02-11:
   - Some more options selectable via log menu.
2007-02-10:
   - Pause the playback of recordings when suspended (by Marko Mkel)
   - add configurable logging
   - report Xrun audio duration
2007-01-28:
   - don't lock NULL pictures in cVideo::GetLockLastPic().
   - implement avcodec_decode_audio2() interface to libavcodec.
   - set ic->bp.is_streamed to true, to avoid calls to unimlemented seek method.
   - add architecture "x86_64" to configure and report unsupported
     architectures.
   - add StealToBitmap() for OSD in grabbed image.
   - add OSD with alpha blending to grabbed images.
2007-01-27:
   - video-dfb: - Limit VIA-unichrome name compare to 19 chars.
                - Detect a patched DirectFB version for VIA CN700 support,
                  and set some parameters for video layer V3:
                    pixelformat YUY2, NO hardware decoding support .
2007-01-20:
   - Fixed video-dfb for VIA-unichrome with current DirectFB cvs. In directfbrc
     pixelformat=AiRGB must be specified.
2007-01-15:
   - introduce yuv420_to_rgb15() (mmx acceleration still missing).
   - properly start cShmRemote thread in ShmClient.
   - avoid "BadWindow" errors by using an errror handler. Also fix
     "BadWindow" errors which occur after the xscreensaver has once been
     active.
   - fix vidWin for non zero VidX1 and VidY1.
2006-12-17:
   - Silence some warnings with gcc 4.1.1.
   - Adjust MMX and C version of fast_memcpy() to the same return type.
   - Fix wrong colors in yuv420_to_yuy2() when all MMX is disabled.
2006-12-13:
   - don't undefine X cursur on keypresses, to prevent the fake shift key
     press from producing flickering of the mouse cursor.
   - fix possible segfault.
   - fix possible division by zero.
   - comment out fake key sending syslog message
   - add cOSSAudioOut::GetDelay() (supplied by Lubos Novak).
2006-12-03:
   - applied patch from Matthias Schwarzott for vdr uint64 change.
   - unify yuv420_to_rgbXX() and yv12_to_yuy2_line() functions to allow
     usage in CopyScalePicBuf()
   - change CopyPicBuf_YUV420P_to_YUY() to a general YUV420P to planar
     conversion method
   - introduce the possibility to scale the video window (for yaepg).
   - detection of and support for the yaepg-patch.
   - add open sound system support (contributed by Lubos Novak).
     GetDelay() is commented out, this means the A/V synchronization
     is broken.
   - add open sound system detection to configure
2006-11-26:
   - use brackets in WRITE_RGB16 macro, introduce WRITE_RGB15 (untested)
     and ARGB_TO_RGB.
   - introduce FillPicBuffer()
   - make it possible to use a color key other than 0x000000 for video-xv,
     video-shm and ShmClient
   - change the default color key of xv-out to 0x001a0f00LL
   - add support for X11 drivers without xv support
2006-11-22:
   - remove cShmVideo::Process() method, and instead signal PICT_SIG
     from cShmRemote to simulate a timeout.
   - fix ShmClient not forwarding to key presses to vdr on AMD64
     (patch by peterw2k@vdr-portal)
2006-11-20:
   - send fake key events to disable any screen saver (patch by
     peterw2k@vdr-portal)
2006-11-16:
   - fix wrong colors when using GRAB with the cle266 hardware decoder
     (patch by Laz)
   - better colorkey support in SoftOsd.c, with interface to video.c
   - fix a bug which causes bad resolution on upscaling
   - fix a bug which causes segfaults when upscaling to huge images
   - reintroduce the chessboard pattern for pseudo alpha blending
   - use WRITE_RGB macros from utils.h
2006-11-11:
   - !! removed support for vdr versions older than vdr-1.3.7 !!
2006-11-08:
   - change PIX_FMT_RGB32 to PIX_FMT_RGBA32 to support older ffmpeg versions
2006-11-07:
   - add yuv to rgb conversion routines for rgb32, rgb24, bgr24 and rgb16
   - audio-alsa: restore samplerate after a unsuccessfull change request
   - add scaling methods with yuv to rgb conversion
   - add packed pixel format support to ClearPicBuffer()
   - move AllocatePicBuffer(), DeallocatePicBuffer(), GetFormatBPP and
     GetChromaSubSample() out of cPicBufferManager
   - add packed pixel format to PicBuffer
   - add GetLockLastPic() to video.h
   - add GrabImage() support. Currently there is no OSD in the grabbed
     images.
   - some more debugging info in softdevice.c
   - add explanations to error messages in ShmClient.c
   - use SEM_UNDO on PICT_MUT semaphore
2006-11-05: softdevice-0.3.1
   - xv-out: limit used width & height to screen dimensions.
   - audio: select alsa h/w-mixer for volume control via command line.
2006-10-11:
   - hopfull final color jump fix for odd "cut columns from left" values.
   - fix horizontal picture placement when YUY2 is selected for xv-out.
2006-10-10:
   - fix segfaults when YUY2 pixelformat is used for xv-out and cut lines
     from top is non zero. This fixes wrong colors and misplaced OSD drawing
     too, when cut colums from left is non zero.
2006-10-09: softdevice-0.3.0
2006-10-03:
   - fix hang after long pause.
2006-10-01:
   - enable cropping for video-shm.
   - Remove some unneeded code and fix ctl->width/height setting.
2006-09-29:
   - video-shm: silence warnings.
   - video-xv: removed osdMutex.
   - video-dfb: removed osdMutex.
                clear non video area when OSD is active to avoid fade effects.
2006-09-22:
   - protect locking for old picture by a separate mutex.
   - fix possible lost picture update and dropped areaMutex.
2006-09-21:
   - introduce a mutex to protect calls to videoOut from SoftOsd
   - initialize parameters for the vout->GetOSDMode() call
2006-09-19:
   - fix "Error! Trying to unlock a nil picture... Ignoring" error message.
   - use current_OsdMode instead of setupStore.OsdMode
2006-09-18:
   - fix RefreshAll for NoVScaleCopyToBitmap()
   - add a very simple cpu type and host system detection to configure
   - fix changing from pseudo to software osd blending for video-xv
   - remove no longer needed test for broken gcc compiler from configure
   - combine shared memory checks into CheckShmIDs()
   - improve error messages in video-shm.c
2006-09-17:
   - replace "pshufw" with MMX commands to make scaling optimazations available
     to processors without MMX2
   - cleanup PicBuffer.c, release PicBuffers in destructor,...
   - add linux framebuffer detection to configure
   - disable libcle266mpegdec if no DirectFB is found
   - add altivec optimizations to some AlphaBlend() and
     yv12_to_yuy2_il_mmx2_line()
   - make utils.c compile on non MMX machines, cleanup some #ifdefs
   - fix compile issue with g++-4.1.1
   - add NoVScaleCopyToBitmap() for RGB modes
2006-09-16:
   - added -vo shm: to help option
   - added support new fields from libcle266mpegdec-0.4
   - video-dfb: removed check and support for DSBLIT_INTERLACED as DirectFB
                has buildin support for this now.
   - disable cle266 support if DirectFB is not patched for this
   - cle266: fix one aspect ratio info and configure (by Rolf Ahrenberg)
2006-09-12:
   - don't continue on argument errors
2006-09-11:
   - catch unrecognized options for dfb-out (reported by Rolf Ahrenberg)
2006-09-10:
   - fix "NVidia software alpha blending OSD" issue, which turned out
     to be a compiler problem with g++-4.1.1. (Many thanks to Prakash
     Punnoor, Matthias Schwarzott, Chris Elsworth and all the others
     who helped to fix this)
2006-09-09:
   - video-xv.c: silence some warnings
   - video-vidix: offer equalizer settings via OSD (brightness, hue,
                  saturation and contrast)
                  offer HW-deinetrlace via OSD when available
                  (by Roland Praml)
2006-09-08:
   - limit destination video offsets to even values
   - fix typo in asignment
   - fix xv-out with subplugins disabled
2006-09-04:
   - fix wrong colors when using ShmClient (reported by Matthias Schwarzott
     and derWolf@vdrportal)
   - disable debuging printouts
   - cleanup
   - set sPicBuffer completly to zero
2006-08-27:
   - adjust ffmpeg library order in configure
   - enable different pixel formats in video-xv
   - properly init ctl->key (reported by Matthias Schwarzott)
2006-08-05:
   - video-dfb: disable reported failed flags in SetParams()
2006-07-25:
   - no longer exit when a audio mode is not available, audio is only disabled.
   - clean up audio-alsa
   - init tmpOsdSurface and delete dirtyLines properly
   - try to use the XVideo default brightness, hue etc. values on first start
   - new option: "-vo xv:use-defaults", can be used to reset the values
     of brightness, hue etc. to the default values. (Based on a patch
     by Matthias Schwarzott)
2006-07-16:
   - only link against libXi if necessary ( do we need libXi at all?)
   - check explicitly for pkg-config in configure
   - configure: "--with-ffmpeg-path" overrides pkg-config
   - unconditionally set _NET_WM_FULLSCREEN Atom when going fullscreen (recent Metacity WM need it)
2006-07-12:
   - fix segfault in OSD refresher.
2006-07-11:
   - remove no longer defined FFMPEG_VERSION string
2006-07-10:
   - move alsa related stuff into a separate file, enable build without alsa
     support
   - remove uneeded include of "sys/mman.h" and "sys/ioctl.h" from video.c
   - set max_width and max_height for temporary PicBuffer
   - remove uneeded include of "linux/fb.h" from softdevice.c
   - fix possible endianness problems in SoftOsd.c
   - add support for yuy2 pixel format to alpha blend and copy pic buf code
   - change return value of AllocPicBuffer()
   - change the parameters of yv12_to_yuy2_il_mmx() so that it can also be used
     for not interlaced pictures
2006-06-25:
   - video pixelformat and stretchblit mode can be locked by output driver, so
     that changeing them is not offered via OSD.
   - video-dfb: - Adapted radeon real alphablend handling to current DirectFB-cvs.
                  It is now handled similary to via mode (with underlay).
                - In mgatv-out mode, video surface is now allways allocated with
                  attribute DSCAPS_INTERLACED to support interlaced stretchblit
                  of DirectFB-cvs.
                - Removed test #if directives introduced in first via hw-dec support.
                - Lock pixelformat and stretchblit mode in case via hw-decode
                  and mgatv mode.
2006-06-21:
   - video-dfb: changed pixel format for HW-decoding to I420. So accelerated and
     unaccelerated modes use the same pixel format.
2006-06-18:
   - ignore config.log on commit checks
   - removed hardcoded FBDEV name in Makefile and configure
2006-06-17:
   - cle266, video-dfb: added HW-decoder support
   - configure: check for libcle266mpegdec instead of cle266mpegdec
   - get frame buffer name at runtime:
     1. via enviroment variable FRAMEBUFFER
     2. try /dev/fb0 or /dev/fb/0
2006-06-16:
   - video-dfb: fix via aspect ratio handling
2006-06-15:
   - make configure a bit more verbose. A complete log is now saved in
     config.log.
   - fix delete <-> delete[] mismatch reported by Prakash Punnoor.
2006-06-09:
   - activate mmx version of yv12_to_yuy2_il_ () for dfb, xv and vidix.
   - name change libsubvdr-softdevice-METHOD.so.?? -> libsoftdevice-METHOD.so.?? .
   - removed option -L . is obsolete since we can get the path we are loaded from,
     at runtime (thanks to Petri Hintukainen).
2006-06-06:
   - mmx version of yv12_to_yuy2_il_c(): yv12_to_yuy2_il_mmx2(). not yet called.
2006-05-30:
   - set pic->format in AllocPicBuffer()
   - more debug messages
2006-05-29:
   - fix PICDEB
   - fix a few stupid errors in VideoFilter.c, initialise more
     variables in PicFilter.c
2006-05-27:
   - move postproc stuff into VideoFilter.[ch]
   - apply patch to use direct rendering
   - add tests for older ffmpeg versions to configure
   - add "--disable-mmx" and "--disable-mmx2" to configure
   - fix possible segfaults in SoftOsd when using a zoom faktor
2006-05-23:
   - fix VIA OSD transparency for newer DirectFB cvs versions
   - merged some defines which belong together
   - added 15:9 screen aspect
   - fix postprocessing not offered via OSD even detected by configure
   - reenable software alpha blending for video-shm
   - move AlphaBlend into utils.c, clean up MMX defines
2006-05-07:
   - video-dfb: preparation for DSBLIT_INTERLACED which results
     in better displaying of downscaled 16:9 on 4:3 TVs with matrox.
   - video-dfb: make YUY2 color info reordering dependant of
     interlaced vs. progressive video.
2006-05-01:
   - some fixes for DirectFB compile, configure & 64bit arch .
2006-04-30: softdevice-0.2.3
2006-04-29:
   - enable build of ShmClient and video-shm when possible.
   - disable interlaced vs. not-interlaced (progressive) reporting
     via syslog. it's changing in seconds intervall for some stations.
   - dfb: fix screen not blanked with audio only stream.
2006-04-27:
   - change volume handling to no longer change the alsa-mixer settings
   - fix black screen for some aspect ratios using ShmClient
2006-04-25:
   - fix ShmClient blank screen every 4s
2006-04-24:
   - xv + dfb: removed some unused code.
   - vidix + fb: adjusted to use videoInitialized.
   - call Initialize() after all video constructors.
   - dfb: OSD responsivness in paused mode.
2006-04-23:
   - added volume changing without changing the alsa-mixer control (to use it
     add -DNO_MIXER, currently experimental)
   - fix for vdr-1.3.48
   - remove duplicate remote code, call ProcessEvents() from the video thread
     and remove the RC thread
   - no longer link ShmClient to vdr objects
   - fix some includes
   - probably fix for processors not supporting mmx2
2006-04-21:
   - updated finnish translations (by Rolf Ahrenberg).
   - video-dfb: fix for crash at startup when software OSD blending was active.
   - video-xv: changed local flag initialized to videoInitialized of our super class.
2006-04-17:
   - cut away the left- and rightmost column of the osd
2006-04-14:
   - Expand top/bottom line and left/right coloumns (from vdr-portal).
   - Zoom feature, zoomed area may be shifted around.
   - yv12 -> yuy2 converter for field based chroma.
   - remember interlaced mode of current frame.
   - some preparations for some more XvImage formats (not yet selectable).
   - Restricted OSD alpha blend option to XV and VIDIX out.
   - started some documentation of our various OSD options.
   - applied patch for mono upmix from Lucian Muresan
2006-04-01:
   - applied Makefile patch from Antti Seppl
   - apply slightly modified patch by Thomas Gnter which fixes improper
     includes of vdr header files
   - fix compilation without Xinerama support
2006-03-31:
   - Xinerama support (detection and build requires to run configure).
   - reactivate use of source x/y offsets for Xv*PutImage(..) operations.
2006-03-21:
   - remove the image copy overhead from the ShmClient
   - catch errors on osd and xv image creation
   - support for non-shared memory xv
2006-03-12:
   - Fix StillPicture handling when no PES header is sent
     (for example streamdev-server-plugin)
   - redraw video layer on OSD close in software mode
   - use OsdWidth and OsdHeight for drawing osd layer
2006-03-11:
   - MMX version of AYUV_to_AYUV420P()
   - shortcut for AYUV no scale OSD modes
2006-03-10:
   - tune some parameters to avoid unecessary rescaling/redrawing of the OSD
2006-02-19:
   - some german translations
   - fix compilation of shm-client
   - fix compilation of video-shm
2006-02-18:
   - fix OSD drawn at wrong location in software OSD blending mode when
     cropping is active
2006-02-17:
   - fix bug #6409 (OSD not refreshed fast enough in software OSD blending mode
     when video is paused)
   - fix crash / deadlocks at startup in 16:9 mode in software OSD blending mode
2006-02-12: softdevice-0.2.2
2006-02-11:
   - some minor fixes:
       - OSD redrawing with dfb-out when switching from StretchBlit to BES mode
       - compiling with SoftOsd.c with gcc 2.95.3
2006-02-06:
   - don't start ShmClient in fullscreen mode by default
   - some more documentation
   - disable debuging information
   - fix linking of ShmClient with vdr-1.3.42
   - add usleep to ShmClient (to avoid busy loop in case there are no
     semaphores)
   - fix for vdr-1.3.42 compatibility
   - disable some trace messages
2006-02-03:
   - remove unused code, variables and parameters from video-xv
   - add more documentation to the readme
   - fix ShmClient pixel[] array initialisation
   - compile fix for video-shm.h
   - some fixes in the osd handling of video-shm
   - added NoVScaleCopyToBitmap() vor YUV mode
   - fix thread termination in cSoftOsd
   - make sure that strides are multiples of 16 in cSoftOsd
2006-02-03:
   - remove cSoftOsd and cOsd dependency from cVideoOut. Size and
     Mode changes are now handled by a thread from cSoftOsd.
   - introduce separate OSD layer in ShmClient/video-shm
2006-01-19:
   - now correct fix for CheckArea() not updating the aspect ratio
2006-01-17:
   - add video-shm and ShmClient, a simple server/client model for the
     softdevice. See the file README for details.
2006-01-15:
   - compile fix for vdr-1.2.6
   - fix for AMD64 builds (patch by Janne Huttunen, many thanks to him)
2006-01-10:
   - fix error message from DirectFB about wrong blitting area with new OSD
2006-01-09:
    - add missing sanity check in cSoftOsd::DrawConvertBitmap()
      (many thanks to Andre Neumann for reporting the problem)
2006-01-08:
    - fix segfault in cSoftOsd for lines longer than 1024
      (thanks to Andre Neumann for reporting the problem)
    - updated video-dfb for the new OSD. Double buffered displays should
work now as well and the OSD mode is set properly
2006-01-07:
    - completely rewritten OSD. Supports up- and down-scaleing in MMX
    - add sfence and emms to yv12_to_yuy2()
    - on resume try to open audio-out in non-blocking mode
2005-12-15:
    - use fast_memcpy in dfb out
2005-11-30:
    - g++-2.95 complaints about "::" in inline asm and wants ": :" instead.
2005-11-12: softdevice-0.2.1
    - speed up moving of cutmarks by a factor of about 100. I forgot to signal
      that new data is available in StillPicture() :-/
    - new packet mode: make some softdevice functions available to other
      plugins like softplay useing the new service interface
2005-11-06:
    - video-xv: some of X11 atoms could be set via OSD too. So using hardcoded
      hotkeys for brightness, contrast, hue and saturation is obsolete and
      may be removed soon.
    - video-dfb: (by Laurence Abbott) selecting field parity and triple buffering
      on via epia boards. That could be used for others too if primary head
      is connected to TV. Triple buffering is independently available as a
      separate option now.
        "-vo dfb:viatv"
        "-vo dfb:triple"
2005-11-04:
    - some more finnish translations (by Rolf Ahrenberg)
    - sync timer mode selectable via OSD
    - removed translations of empty lines (by Rolf Ahrenberg)
    - made sig timer the default one for new users
2005-11-02:
    - restructured OSD setup
2005-11-01:
    - some some german translations (with help from Andre Neumann)
    - hide main menu entry via OSD
2005-10-29:
    - french translations (by Nicolas Huillard)
    - packet playback: assume we get complete frames via packet interface.
                       This fixes playing divx via softplay.
    - fix frame dropping with IEEE1394 read.
2005-10-26:
    - fix cropmode handling via OSD
    - set some vars for aspect calculation to reasonable defaults
2005-10-25:
    - video-xv: fix aspectratio recalculation upon ConfigureNotify events
    - minor cleanup: moved static floats to member double (cVideoOut)
2005-10-14:
    - reverted change from 2005-01-12 as effect it not reproducable and delivers
      now wrong results for some streams.
2005-10-08: softdevice-0.2.0
2005-10-07:
    - dfb+vidix: fix colored shadow bug for some crop modes
    - configure: fix VIDIX_DIR path
2005-10-06:
    - configure: check if X11 is present
    - audio: AC3 pass through
2005-09-18:
    - Makefile: compatibility for build without configure
    - subplugin targets: changed prefix from libvdr to libsubvdr. so it doesn't
      interfere with vdr's "load all plugins" for plain help command.
2005-09-17:
    - configure: check if vidix compiles, optionally disable fb-out via
                 command line "--disable-fb" and/or subplugins via "--disable-subplugins"
2005-09-16:
    - introduce audio debug
    - return 0 in GetDelay if pcm is not running
2005-09-15:
    - modified previous OSD redraw handling (timed redraw after _all_ OSD bitmaps
      have been drawn)
    - video-dfb: keyrepeat handling + configure check for DIET_REPEAT
2005-09-11:
    - fix for segfaults with some OSD activity
    - introduced configure script: try ./configure --help
2005-09-06:
    - video-out (all methods): fix for missing actions upon aspect ratio change
    - audio-out: fix potentially div by zero.
2005-09-04: softdevice-0.1.3
    - dfb-out: applied dfb-key-repeat handling patch (by Marko Mkel)
2005-08-19:
    - change #ifdefs to contain closing brackets
        (stops my editor from complaining...)
    - fix possible segfault in ToYUV()
2005-08-17:
    - audio-out: changed retrieval of audio delay with newer alsa versions on
                 "default" device. should fix bug #2971 too.
2005-08-08:
    - dfb-out: enclose all dfb calls by try{}catch{} by Marko Mkel
2005-07-31:
    - remove Deactivate(), instead deactive at start of Stop()
    - stop playback in Clear() while clearing the packet buffer
    - introduce SOFTDEB, more checks agains NULL dereferences
    - call decoder->Clear in Clear
    - return NULL in getPPValue when compiled without postproc lib
      (suggested by Antonio)
2005-07-29:
    - some small changes on finnish translations by Rolf Ahrenberg
    - fix for segfaults in setup-softdevice.c by previous change
2005-07-27:
    - compile fix for newer ffmpeg versions (> 2005-07-17 22:24:35) by Antonio
    - fix for video-dfb.c change from 2005-07-16 by Rolf Ahrenberg
    - more OSD entries translateable by Rolf Ahrenberg
    - more finnish translations by Rolf Ahrenberg
    - limit cropping amount to 50 each
2005-07-24:
    - finnish translations by Rolf Ahrenberg
2005-07-23:
    - vidix-out:
      - some cosmetic cleanups
      - force OSD mode pseudo when YUY2 pixelformat is choosen
2005-07-22:
    - changed pause OSD handling in software drawing mode
    - work around for some *.avi files where frametime is zero
    - fix previously introduced compile fail without -DUSE_SUBPLUGINS
    - include patch from Claas Hilbrecht for "-vo dummy:"
    - some code reorg for subpluging loader
2005-07-20:
    - fix for live view at trick speed
    - stretchBlit mode for dfb-out is selectable via OSD
    - cropLeft/Right for xv-out and dfb-out
    - exclude cropTop/Bottom OSD from fb-out
    - adjusted vidix-out call of yv12_to_yuy2() to dfb-out
2005-07-17:
    - crop Top/Bottom for xv-out
    - introduce colour space conversion (by Malcom Caldwell)
    - make filters work with YUV422 color space
2005-07-16:
    - fix for cropBottom in dfb with YUY2 pixelformat
    - some preparations for configure in video-dfb.c
    - some preparations for configure in utils.c
2005-07-15:
    - by Vadim Catana:
      - fixed a couple of compiler warnings for gcc4 on x86-64
      - the video-vidix.c and video-dfb.c both contain code
        that converts pictures from YV12 format to YUY2. I moved
        this common code to a function in utils.c .
      - Some channels display white dots at the top and bottom of
        the screen due to WSS data encoded in the picture.
        This problem has been mentioned on vdr, linux-dvb and
        dxr3 mailinglists a few times. I added two new items in
        the softdevice menu that allow to cut off a number of lines
        from top and bottom of the picture. It is implemented now
        only for -vo vidix and dfb with i420/YV12 format and hardware
        alpha blending.
    - by Malcolm Caldwell: fix for vdr segfaulting
2005-07-03:
    - fix fullscreen mode for 64-bit architectures
    - improve response time for 60-sec skips
2005-06-30:
    - changed delay clamping low limit and printout "+" if we drop frames
    - dfb: report current frame duration
    - dfb: activated device specific delay handling
2005-06-28:
    - fix for loosing window dimensions upon switching from fullscreen mode to windowed mode
2005-06-26:
    - fix compile issue with recent gcc versions (patch by alexw)
2005-06-18:
    - provide error message on stderr when Xv plugin cannot connect to X server.
2005-06-12:
    - no new audio frame has been decoded when audio_size <= 0
       (reported by Antonio O.)
    - introduce fast_memcpy (gives 20-30% speed increase on copying)
    - switch xv-out to fast_memcpy
    - enable fast and default deblock postprocessing
    - make buffersizes choosable
2005-06-06:
    - fixed latest ffmpeg cvs compile issue
    - applied fix for noisy audio on some soundcards (by Antonio O.)
    - applied GetDeviceDescription() patch for video-dfb.c (by Lucian Muresan)
2005-06-05:
    - compile by default with "-g"
    - fix vidix segfault
2005-05-29:
    - changed screen aspect ratio selection (based on suggestion by Nicolas Huillard)
    - fix some segfaults on bad signal
    - fix possible segfault when called without arguments
      (thanks to Marko Mkel)
    - buffering is now complety signal triggered
    - made buffersizes variable
2005-05-22: softdevice-0.1.2
2005-05-20:
    - fix possible segfault in fb-mode when resolution is smaller than
      OSD default size
    - fix pplib deinterlacing
    - check libavcodec build of library against header
    - some more error messages
2005-05-18:
    - fix for aspect ratio calculation if sample_aspect_ratio.num == 0
    - README update for use of -L DIR usage
2005-05-17:
    - bugfix: don't blank screen in pause mode
2005-05-16:
    - blank screen after some time with no signal
2005-05-15:
    - offer selection of 14:9 mode
2005-05-08:
    - fix for pause-play transition of softplay, does improve same transiton
      of normal vdr recording playback too.
2005-05-06:
    - video-dfb: disabled deinterlacing option of dfb.
2005-05-01:
    - audio-out: some other preparations for ac3
                 selectiv set #channels to 2, to get 2ch downmix of 5.1
                 mute current mixer if volume is set to 0 and unmute if vol != 0
                 changed dsyslod to esyslog is case we exit()
    - syncing: switched to a sync timer which can be controlled by current
               selected output method
2005-04-30:
    - some preparations for ac3 out selection
    - xv-out & dfb-out: catch userX keys and map one of them to crop mode selection
2005-04-23:
    - dfb-out: commented out use of DFBCardCapabilities required for current DirectFB cvs.
2005-04-10:
    - dfb-out: triple buffering for mgatv,
               corrected x/y coordinates for OSD drawing (fix for subtitles plugin)
    - README: added contributor names mentioned in CHANGELOG
              added hint from Makefile about installing ffmpeg
2005-04-10: softdevice-0.1.1
    - xv-out: add "-vo xv:full" option to start up in fullsceen mode
    - dfb-out: added dfb version check for struct access
    - replace unneeded usleep<10000usec with >=10000usec
    - add SIG_TIMING option (default: disabled, enable in mpeg2decoder.c)
    - introduce meaningful return values in packet mode.
    - disable debugging output.
2005-04-09:
    - xv-out: new command line option max-area to use the maximum
              available area for decoded frames. " .. -vo xv:max-area .. "
2005-04-02:
    - video.c: fix possible segfault if pan_scan info is not present
2005-03-28:
    - dfb-out: chg. OSD drawing to update only modified areas.
               chg. videolayer to double buffered.
               report surface capabilities in a single line
2005-03-25:
    - respect replay mode
    - disable WaitForSync in video only mode (trickspeed mode)
    - removed unused code
2005-03-20:
    - video.c, Draw(): set rgb to zero (colorkey) if alpha is zero.
    - preperations for sync on video option
    - syncronize audio and video start
    - all pts values now in units of 0.1ms (needed for 44.1kHz audio streams)
    - add SpuDecoder
2005-03-19:
    - fix compile problems for vdr-1.2.x (OSD ok, but _no_ A/V :-( ).
2005-03-17:
    - add left/right channel only support
    - be more precise in GetSTC
    - use libavformat for PES stream parsing
2005-03-15:
    - get cvs version of dvd-plugin work in _non_ ac3 mode
 2005-03-11:
    - xv-out: fix OSD misplacement in downscaleing mode (pseudo mode)
    - fix OSD misplacement for software alpha when in crop mode (info menu)
 2005-03-10:
    - xv-out: support max available area (pre for hdtv spport)
    - audio-out: new dummy device (-ao dummy:)
                 audio device constructor gets pointer to setup-store like video-out
    - save options when called via main menu
 2005-03-08: softdevice-0.1.0
 2005-03-05:
    - mpeg2decoder: fix to initialize ppmode if pp based deinterlace selected
    - audio-out: fix audio stream selection
 2005-03-04: 0.1.0pre1
    - some i18n changes
 2005-03-03:
    - fb-out: fix for build option USE_SUBPLUGINS
              fix alpha mask misplacement
              fix locking during video and OSD drawing
 2005-03-02:
    - increased osd fallback timeout
    - removed syoff and sxoff from Draw(...)
 2005-02-27:
    - save "vo" and "ao" calling args in setup store.
    - new runtime arg "-L path_name". Default set in Makefile to: "./PLUGINS/lib"
    - USE_SUBPLUGINS is now default build option
    - dfb-out: fix for segfault on via unichrome with current DirectFB cvs.
 2005-02-25:
    - vidix-out: fix segfaults upon switch from software OSD back to pseudo mode.
                 match available fourcc against selected.
                 support for YUY2 added (without soft alpha [todo]).
    - all-out: unified constuctor parameter
               optionaly output method is loaded at runtime. by this, one can
               build and ship binaries with all methods enabled to target
               enviroments where not all libs are present.
    - removed obsolete OSD option "sync on" (I-frame/all frames).
 2005-02-18:
    - support for DIRECTCOLOR framebuffer ( most ATI cards, tested with Mach64)
    - fixed osd flickering in framebuffer mode vdr>1.3.7
    - software alpha blending implemented for Vidix (vdr>1.3.7)
    - software alpha blending done in software for Xv out and vdr>1.3.7
    - osd scaling for vdr and Xv >1.3.7
 2005-02-13:
    - a/v sync: auto adjusting back index instead of using fixed value 4
 2005-02-08:
    - dfb-out: fix for field parity in tv-out mode
    - xv-out: fix compile warnings on amd64 (reported by Konrad Naumann)
 2005-01-23:
    - added suspend video playback patch.
 2005-01-15:
    - fix OSD drawing when multiple areas are used (with text2skin plugin)
    - dfb out: reverted top-field first setting as it may crash
    - removed some unused code
    - subtract already spend time from delay before entering delay loop
      (found by Stefan Lucke)
    - audio pts calculation changed to use sample rate and number of channels
 2005-01-13:
    - compatibility fix for vdr-1.3.18
    - aspect ratio handling for 16:9 TV output
    - dfb-out TVout: set top field first and acpect scaleing for TV mode if not set
  2005-01-12:
    - fix aspect ratio calculation/recognition on some dvds
  2005-01-04: softdevice-0.0.8
  2005-01-02:
    -dfb-out: override pixelformat when mgatv is specified.
  2005-01-01:
   - dfb-out: fix for dfb-0.9.20 and 0.9.21 matrox crtc2 layer names
              fix for OSD not shown with vdr-1.2.x
  2004-12-31:
   - xv-out: Fix for our bug #2972. Black color key is
             now back to value 0x00000000. Savage card users have to
             file bug reports at X11 developers if their OSD is not shown
             or change colorkey setting to value 0x01000000 in file
             video-xv.c in call of "attributeStore.SetColorkey(0x00000000);" .
  2004-12-30:
   - xv-out: compile fix for gcc 3.4.3
             fix for vdr-1.2.x "_ZN9cVideoOut8OSDStartEv"
  2004-12-21: softdevice-0.0.8pre1
   - directFB:
      - some basic support for mga tv-out with directFB- this is selectable
        via option -vo dfb:mgatv .
      - VIA Unichrome handling added. works with recent cvs version of DFB
  2004-12-12:
   - Added reporting of AC3 stream info (with help from plugin femon).
   - Changed A/V sync point by 4 frames. Sync is now ok for streams with PTS
     value for each frame and for streams with PTS values for I-Frames only.
     Thus OSD option "A/V Sync" is obsolete.
  2004-11-14:
   - new A-V sync with linux RTC support
   - changed audio buffering
   - implemented serveral missing cDevice methods:
     TrickSpeed(),Clear(),Freeze()...
   - process smaller packets at one time to improve
     the response time
   - sleep in Poll if buffer is full
  2004-11-04: softdevice-0.0.7
   - audio-out: don't exit when we get EINTR upon write
  2004-10-30: softdevice-0.0.7pre4
  2004-10-29:
   - xv-out: changed fullscreen mode. works now with more wms (bug: #2265)
   - xv-out: fix possible race condition causing segfault during init (bug: #2699)
   - allow setting alsa device with command line parameter or in setup.conf
  2004-10-25:
   - compile fix for older vdr versions. tested with 1.2.1 .
   - bumped level to 0.0.7pre3 .
   - fix compile issues with X11 dpms headers. they are not usable for
     C++ code. see: http://freedesktop.org/bugzilla/show_bug.cgi?id=830 .
  2004-10-24:
   - fix for DFB-out OSD not shown while paused in YUY2 mode (bug: #002266)
  2004-10-23:
   - some fixes upon deinterlacing selection (bug: #002267)
   - added pseudo alpha OSD background upon an idea of Torgeir Veimo
  2004-10-18:
   - xv-out: allow disabling screensaver when in full screen mode (Torgeir Veimo)
   - mpeg2decoder: enable adjustable audio / video offset (Torgeir Veimo)
   - DFB: fix compare DFXL_NONE using equals (Torgeir Veimo)
  2004-08-09:
   - DFB+vidix: fix wrong colors in crop mode
   - fix: segfaults during decoding
  2004-08-08:
    - DFB: fix calling sequence to avoid sig 6
    - xv-out: added fullscreen patch (Torgeir Veimo)
              toggle is done via pressing 'f'
              (works at the moment _only_ with gnome window manager)
  2004-08-01:
    - fix: syncOnFrames not stored (Torgeir Veimo)
    - fix: audio - some cards don't have any master volume (Torgeir Veimo)
  2004-07-25: softdevice-0.0.7pre2
    - Use of additional deinterlace methods of ffmpeg. This may require
      recompilation of ffmpeg (see hints in Makefile) (Thanks to Herbert Attenberger)
    - New OSD option for A/V sync selection. This is related to sync change
      from 2004-06-02. Normal sync is to get the sync pts from I-Frames only.
      To sync on any PTS you have to change this (DVB-T fix).
    - DFB: changed remote react on keypress instead of release
    - DFB: when selecting YUY2 mode you'll get an alpha blende OSD (at least
           with Matrox cards).
  2004-07-23:
    - xv-out: while mouse in window, auto hide cursor (thanks to Torgeir Veimo)
  2004-07-18:
    - moved ffmpeg version and build level report
    - setup-OSD does not depend on XV_SUPPORT
  2004-07-12:
    - fix: DFB cropping for 16:9 mode
    - OSD: softdevice menu now reachable via main menu entry
           menu behaves different to others: changes are active immediate,
           ok-key makes them permanent, back-key restores previous state.
  2004-07-11 :
    - fix: compile problem when only one output method (DFB) is selected
    - DFB + vidix: selectable pixel format I420, YV12 via OSD
    - OSD: offer only those menu items which are useful for current output method
    - OSD: changed text from "Xv-Aspect" to "Xv startup aspect" and use "16:9 wide"
           and "4:3 normal" strings for selection instead of 0, 1 values
  2004-07-10 : softdevice-0.0.7pre1
    - use of ffmpegs deinterlacer, selectable via OSD. Thanks to Herbert Attenberger
    - DFB out added aspect ratio and AFD handling
    - activate cropping support, selectable via OSD (xv-out + vidix-out + dfb-out)
  2004-07-09 : softdevice-0.0.6post3
    - DFB out set display layer configuration according to reported capabilities
    - DFB out use only first available video layer
  2004-06-28 :
    - DFB out changed COLORKEY to 0,0,0 to get transparent OSD with matrox
    - DFB out has it's own remote
    - DFB out only set videolayer if it is NOT set previously
  2004-06-02 : softdevice-0.0.6post2
             - added some addtional libs for ffmpeg which may be required
             - changed VIDIX out to probe for driver
             - fix for syncing on some DVB-T streams
  2004-05-30 - fix xv video refresh for MapNotify event
  2004-05-24 - added aspect ratio handling for VIDIX out
  2004-05-23 - added help text for commandline help

  2004-05-22 : softdevice-0.0.6
    - fix compilation for LIBAVCODEC_BUILD <= 4686 (thanks to Luca Olivetti)
    - again fix savage colour key
    - revert OSD centering for FB + VIDIX out
      (it's a feature of vdr-1.3.7, OSD position is adjustable via OSD)

  2004-05-20 : softdevice-0.0.6pre3
    - fb output is now running with vdr-1.3.7 too
    - merged softdevice-0.0.5-fb-patch01
      (its intentionaly in the vdr-1.2.x section only)
    - fix OSD positioning fb-out + vidix-out for vdr-1.3.7

  2004-05-20 : softdevice-0.0.6pre2
    - xv output now works with vdr-1.3.7 too

  2004-05-19 : softdevice-0.0.6pre1
    - audio.c: dropped round() call
    - (f)printf() replaced by dsyslog()
        audio.c video-xv.c video.c
    - merged Vadim's
        vdr-softdevice-0.0.5-xv08.patch and
        vdr-softdevice-0.0.5-xv08-2.patch

  2004-04-xx : patch08
    - checked vidix method too. I had to select I420 instead of YV12 ;;-).
      (With YV12 I got swaped color components. Vidix driver reports only
      16 of my 32M G550 ;-) ).

  2004-04-28: patch07-02
    - fix: xv-color key for savage (workaround of X driver bug)
    - fix: compile problems with non CVS version of ffmpeg
    - new: xv: hack to control some atom values via keyboard.
               This bypasses VDR remote key control :-( .
               c/C  - contrast -/+
               h/H  - hue -/+
               b/B  - brightness -/+
               s/S  - saturation -/+
    - new: all output methods can be compiled in.
           method selectable at runtime via:
              '-vo xv:' or
              '-vo fb:' or
              '-vo dfb:' or
              '-vo vidix:'
           if there is only one method specified at compile time via Makefile
           this parameter is not required (tested only with xv and fb).

  2004-04-16 : xv output patch07
    - fix: force CheckAspect upon dimension change (since patch06)
    - report PAN/SCAN info if present

  2004-04-16 : xv output patch06
    - implemented StillPicture method
    - clean up some messages
    - AFD tag support

  2004-03-07 : xv output patch05
    - fixed rounding error for 16:9 output area (height 575 instead of 576).
    - OSD opaque black color translated to a different dark value so that it
      is different from the COLORKEY and no longer transparent.
    - xv output has now a commandline argument:
        -vo xv:aspect=[wide|normal]
        examples:
        ./vdr -P streamdev -P 'softdevice -vo xv:aspect=wide'
        ./vdr -P streamdev -P 'softdevice -vo xv:aspect=normal'
    - OSD not shown (for new users) during remote teaching phase
      (introduced by patch03).
    - changed last paramter of X..ShmPut..() to False and replaced XFlush()
      by XSync() (according to vlc this should save CPU time).
    - added volume control.
