Hello,
the softdevice team (Torgeir Veimo, Martin Wache and me, Stefan Lucke) is pleased to announce a new release of vdr's softdevice plugin.
General info: Softdevice plugin enables vdr to run on your desktop with so called budget cards. You'll get vdr output via framebuffer or X11-Xv or DirectFB or vidix to your screen. Decoding is done via ffmpeg.
Supported vdr versions: (1.2.x,) 1.3.x and 1.4.x
Plugin's homepage is located at: http://softdevice.berlios.de/
Special hint: For cle266 hardware decoding support via DirectFB, you'll need a fresh version from todays DirectFB's cvs. Further you'll need libcle266mpegdec which is available from: http://sourceforge.net/projects/cle266mpegdec/
Changelog since last release: 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 .
On Mon, Oct 09, 2006 at 01:25:18AM +0200, Stefan Lucke wrote:
Hello,
the softdevice team (Torgeir Veimo, Martin Wache and me, Stefan Lucke) is pleased to announce a new release of vdr's softdevice plugin.
General info: Softdevice plugin enables vdr to run on your desktop with so called budget cards. You'll get vdr output via framebuffer or X11-Xv or DirectFB or vidix to your screen. Decoding is done via ffmpeg.
Supported vdr versions: (1.2.x,) 1.3.x and 1.4.x
segfaults here (100% reproducible) with or without alpha blending (i.e. pseudo and software). the only difference is the backtrace (CopyPicBuf vs *AlphaBlend)
# ./vdr -D1 -c/opt/CONFIG-1/ -P"softdevice -vo xv:" [softdevice] processing args [softdevice] argv [0] = softdevice [softdevice] argv [1] = -vo vo_argv: xv: [setup-softdevice] alsa ac3Mode set to: 0 [setup-softdevice] alsa AC3 device set to: hw:0,1 [setup-softdevice] alsa device set to: default [setup-softdevice] A/V Offset set to (0) [setup-softdevice] Cropping 2 lines from bottom [setup-softdevice] Cropping 2 columns from left [setup-softdevice] cropping mode set to 0 (none) [setup-softdevice] cropping mode toggle key set to 0 (none) [setup-softdevice] Cropping 2 columns from right [setup-softdevice] Cropping 2 lines from top [setup-softdevice] deinterlace method set to 1 lavc [setup-softdevice] mainMenu: 1 [setup-softdevice] setting alpha blend mode to software [softdevice] picture mirroring set to 0 (off) [setup-softdevice] pixel format set to (YUY2) [setup-softdevice] shouldSuspend to: 0 [setup-softdevice] syncTimerMode: sig [softdevice] UseStretchBlitset to on [setup-softdevice] vidBrightness: 50 [setup-softdevice] vidContrast: 50 [setup-softdevice] vidHue: 0 [setup-softdevice] vidSaturation: 50 [setup-softdevice] startup aspect set to (4:3 normal) [softdevice] initializing Plugin [softdevice] Initializing Video Out [softdevice] ffmpeg build(3345152) [XvVideoOut]: osd_image shmid = 24051722 [XvVideoOut]: got osd_image: width 1600 height 1200, bytes per line 3200 [XvVideoOut]: max area size 2046 x 2046 [XvVideoOut]: using area size 736 x 576 [softdevice] Subplugin successfully opend [softdevice] Video Out seems to be OK [softdevice] Initializing Audio Out [softdevice] Audio out seems to be OK [softdevice] A/V devices initialized, now initializing MPEG2 Decoder DeinitXv [XvVideoOut]: max area size 2046 x 2046 [XvVideoOut]: using area size 736 x 576 vout_pic[2304]:CopyPicBufAlphaBlend_YUV420P_YUY2 width 736 height 576 Segmentation fault (core dumped)
with the following backtrace
#0 yv12_to_yuy2_il_mmx2_line (dest1=0xb4723a34 "\020\200\020\200\020\200\020\200\020", dest2=0xb4723ff4 "\020\200\020\200\020\200\020\200", chromaWidth=368, yc1=0xb6103ef8 '\020' <repeats 200 times>..., yc2=0xb61041d8 "\020\020\020\020", uc=0xb6103a9c "\200\200", vc=0xb61037ac "\200\200") at utils.c:133 133 movntq(mm6,*(dest2 + 8));
(gdb) where #0 yv12_to_yuy2_il_mmx2_line (dest1=0xb4723a34 "\020\200\020\200\020\200\020\200\020", dest2=0xb4723ff4 "\020\200\020\200\020\200\020\200", chromaWidth=368, yc1=0xb6103ef8 '\020' <repeats 200 times>..., yc2=0xb61041d8 "\020\020\020\020", uc=0xb6103a9c "\200\200", vc=0xb61037ac "\200\200") at utils.c:133 #1 0xb675503a in CopyPicBufAlphaBlend_YUV420P_YUY2 (dst=0x8383ce8, src=0xb61043c0, width=736, height=576, OsdPy=0xb65ca008 '\020' <repeats 200 times>..., OsdPu=0x8bc6338 '\200' <repeats 200 times>..., OsdPv=0x8be0148 '\200' <repeats 200 times>..., OsdPAlphaY=0xb6562008 "", OsdPAlphaUV=0x8bf9f58 "", OsdStride=736, cutTop=2, cutBottom=2, cutLeft=2, cutRight=2) at PicBuffer.c:570 #2 0xb6755591 in CopyPicBufAlphaBlend (dst=0x8383ce8, src=0xb61043c0, OsdPy=0xb65ca008 '\020' <repeats 200 times>..., OsdPu=0x8bc6338 '\200' <repeats 200 times>..., OsdPv=0x8be0148 '\200' <repeats 200 times>..., OsdPAlphaY=0xb6562008 "", OsdPAlphaUV=0x8bf9f58 "", OsdStride=736, cutTop=2, cutBottom=2, cutLeft=2, cutRight=2) at PicBuffer.c:700 #3 0xb6752874 in cXvVideoOut::YUV (this=0x8383680, buf=0xb61043c0) at video-xv.c:1820 #4 0xb674e1c9 in cVideoOut::DrawStill_420pl (this=0x8383680, buf=0xb61043c0) at video.c:468 #5 0xb674d79a in cVideoOut::Action (this=0x8383680) at video.c:133 #6 0x080ea83a in cThread::StartThread (Thread=0x8383adc) at thread.c:244 #7 0xb7f37c40 in start_thread () from /lib/tls/libpthread.so.0 #8 0xb7dbb0ee in clone () from /lib/tls/libc.so.6
note: the softdevice-cvs20060623 version I used before works perfectly fine in the same vdr/setup (although I h ad to #define the FFMPEG_VERSION to make it work)
any ideas?
TIA, Herbert
Plugin's homepage is located at: http://softdevice.berlios.de/
Special hint: For cle266 hardware decoding support via DirectFB, you'll need a fresh version from todays DirectFB's cvs. Further you'll need libcle266mpegdec which is available from: http://sourceforge.net/projects/cle266mpegdec/
Changelog since last release: 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:
- via enviroment variable FRAMEBUFFER
- 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 .
-- Stefan Lucke _______________________________________________ Softdevice-devel mailing list Softdevice-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/softdevice-devel