diff options
Diffstat (limited to 'plugins/softdevice')
| -rw-r--r-- | plugins/softdevice/patches/softdevice-0.5.0-ffmpeg-svn.diff | 177 | ||||
| -rwxr-xr-x | plugins/softdevice/plugin.sh | 73 |
2 files changed, 250 insertions, 0 deletions
diff --git a/plugins/softdevice/patches/softdevice-0.5.0-ffmpeg-svn.diff b/plugins/softdevice/patches/softdevice-0.5.0-ffmpeg-svn.diff new file mode 100644 index 0000000..7f65934 --- /dev/null +++ b/plugins/softdevice/patches/softdevice-0.5.0-ffmpeg-svn.diff @@ -0,0 +1,177 @@ +diff -ruN softdevice-0.5.0/PicBuffer.c softdevice-0.5.0-fixed/PicBuffer.c +--- softdevice-0.5.0/PicBuffer.c 2008-07-27 19:34:42.000000000 +0200 ++++ softdevice-0.5.0-fixed/PicBuffer.c 2009-03-23 18:55:55.000000000 +0100 +@@ -84,8 +84,13 @@ + memset(Pic->pixel[2],(color&0xFF), + (Pic->max_height>>1)*Pic->stride[2]); + break; ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32 : + case PIX_FMT_YUV422 : ++#else ++ case PIX_FMT_RGB32 : ++ case PIX_FMT_YUYV422 : ++#endif + { + uint32_t *tmp=(uint32_t *)Pic->pixel[0]; + int i=Pic->max_height* +@@ -109,7 +114,11 @@ + int pixel_size=GetFormatBPP(Pic->format); + + switch (Pic->format) { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32 : ++#else ++ case PIX_FMT_RGB32 : ++#endif + case PIX_FMT_RGB24 : + case PIX_FMT_BGR24 : + case PIX_FMT_RGB555 : +@@ -123,7 +132,11 @@ + memset(Pic->pixel[2],128, + (Pic->max_height>>1)*Pic->stride[2]); + break; ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_YUV422 : ++#else ++ case PIX_FMT_YUYV422 : ++#endif + { + uint32_t *tmp=(uint32_t *)Pic->pixel[0]; + for (int i=0; i<Pic->max_height* +@@ -140,7 +153,11 @@ + + yuv420_convert_fct GetYuv420ConvertFct(PixelFormat pix_fmt) { + switch (pix_fmt) { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32: ++#else ++ case PIX_FMT_RGB32: ++#endif + return &yuv420_to_rgb32; + case PIX_FMT_BGR24: + return &yuv420_to_bgr24; +@@ -150,7 +167,11 @@ + return &yuv420_to_rgb15; + case PIX_FMT_RGB565: + return &yuv420_to_rgb16; ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_YUV422: ++#else ++ case PIX_FMT_YUYV422: ++#endif + return &yuv420_to_yuy2; + default: + fprintf(stderr,"unsupported format in GetYuv420ConvertFct \n"); +@@ -252,10 +273,18 @@ + switch(fmt){ + case PIX_FMT_RGB555: + case PIX_FMT_RGB565: ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_YUV422: ++#else ++ case PIX_FMT_YUYV422: ++#endif + case PIX_FMT_RGB24: + case PIX_FMT_BGR24: ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32: ++#else ++ case PIX_FMT_RGB32: ++#endif + return false; + break; + default: +@@ -278,7 +307,11 @@ + switch(fmt){ + case PIX_FMT_RGB555: + case PIX_FMT_RGB565: ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_YUV422: ++#else ++ case PIX_FMT_YUYV422: ++#endif + //case PIX_FMT_UYVY422: // FIXME which ffmpeg version + pixel_size=2; + break; +@@ -286,7 +319,11 @@ + case PIX_FMT_BGR24: + pixel_size=3; + break; ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32: ++#else ++ case PIX_FMT_RGB32: ++#endif + pixel_size=4; + break; + default: +diff -ruN softdevice-0.5.0/video-fb.c softdevice-0.5.0-fixed/video-fb.c +--- softdevice-0.5.0/video-fb.c 2008-02-26 11:53:22.000000000 +0100 ++++ softdevice-0.5.0-fixed/video-fb.c 2009-03-23 18:57:58.000000000 +0100 +@@ -60,7 +60,11 @@ + Bpp=15; + else Bpp=fb_vinfo.bits_per_pixel; + switch (Bpp) { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case 32 : privBuf.format=PIX_FMT_RGBA32; ++#else ++ case 32 : privBuf.format=PIX_FMT_RGB32; ++#endif + break; + case 24 : privBuf.format=PIX_FMT_RGB24; + break; +diff -ruN softdevice-0.5.0/video-shm.c softdevice-0.5.0-fixed/video-shm.c +--- softdevice-0.5.0/video-shm.c 2007-10-13 13:17:48.000000000 +0200 ++++ softdevice-0.5.0-fixed/video-shm.c 2009-03-23 19:02:56.000000000 +0100 +@@ -235,7 +235,11 @@ + privBuf.stride[1]=ctl->stride1; + privBuf.stride[2]=ctl->stride2; + break; ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_YUV422: ++#else ++ case PIX_FMT_YUYV422: ++#endif + SHMDEB("new format YUV422\n"); + privBuf.pixel[0]=curr_pict+ctl->offset0; + privBuf.pixel[1]=privBuf.pixel[1]=NULL; +diff -ruN softdevice-0.5.0/video-xv.c softdevice-0.5.0-fixed/video-xv.c +--- softdevice-0.5.0/video-xv.c 2008-07-14 19:00:59.000000000 +0200 ++++ softdevice-0.5.0-fixed/video-xv.c 2009-03-23 19:01:48.000000000 +0100 +@@ -1034,7 +1034,11 @@ + osd_max_width, osd_max_height, + osd_image->bytes_per_line,osd_image->bits_per_pixel); + switch (osd_image->bits_per_pixel) { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case 32 : osdBuf.format=PIX_FMT_RGBA32; ++#else ++ case 32 : osdBuf.format=PIX_FMT_RGB32; ++#endif + break; + case 24 : osdBuf.format=PIX_FMT_RGB24; + break; +@@ -1240,7 +1244,11 @@ + attributeStore.Save(); + + switch (osdBuf.format) { ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + case PIX_FMT_RGBA32: ++#else ++ case PIX_FMT_RGB32: ++#endif + ARGB_TO_RGB(RGB32,&colorkey,COLOR_KEY); + break; + case PIX_FMT_RGB24: +@@ -1300,7 +1308,11 @@ + privBuf.stride[1] = 0; + privBuf.stride[2] = 0; + ++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(21<<8)+0) + privBuf.format = PIX_FMT_YUV422; ++#else ++ privBuf.format = PIX_FMT_YUYV422; ++#endif + break; + default: + break; diff --git a/plugins/softdevice/plugin.sh b/plugins/softdevice/plugin.sh new file mode 100755 index 0000000..683bf37 --- /dev/null +++ b/plugins/softdevice/plugin.sh @@ -0,0 +1,73 @@ +#!/bin/sh + +# x-vdr (Installations-Skript fuer einen VDR mit Debian als Basis) +# von Marc Wernecke - www.zulu-entertainment.de +# 23.03.2009 +# +# vdr-softdevice + +# defaults +source ./../../x-vdr.conf +source ./../../setup.conf +source ./../../functions + +WEB="http://www.zulu-entertainment.de/files/vdr-softdevice/vdr-softdevice-0.5.0-cvs20090323.tgz" +VERSION="softdevice-0.5.0" +LINK="softdevice" + +VAR=`basename $WEB` +DIR=`pwd` + +# plugin entfernen +function clean_plugin() { + cd $SOURCEDIR/VDR/PLUGINS/src + rm -rf $LINK* + rm -f $VDRLIBDIR/libvdr-$LINK* + rm -f $VDRLIBDIR/libsoftdevice-* + rm -f $VDRBINDIR/ShmClient + log "cleaning $LINK" +} + +# plugin installieren +function install_plugin() { + download_plugin + extract_plugin + cd $SOURCEDIR/VDR/PLUGINS/src + rm -f $LINK + ln -vfs $VERSION $LINK + patch_plugin + + ## plugin specials - start ## + configure_conf="--disable-subplugins" + + if [ -f $PREFIX/include/vidix/fourcc.h ] && [ -f $PREFIX/include/vidix/vidix.h ] && [ -f $PREFIX/include/vidix/vidixlib.h ]; then + configure_conf="$configure_conf --with-vidix-path $PREFIX" + fi + + if [ "$yaepg" = "on" ]; then + configure_conf="$configure_conf --enable-yaepg" + else + configure_conf="$configure_conf --disable-yaepg" + fi + + cd $SOURCEDIR/VDR/PLUGINS/src/$LINK + ./configure $configure_conf + ## plugin specials - ende ## +} + +# plugin commands +if [ $# \> 0 ]; then + cmd=$1 + cmd_plugin +else + install_plugin + log "install-plugin fuer $VERSION ist fertig" +fi + +# install ShmClient +if [ "$cmd" = "-m" ] || [ "$cmd" = "--make" ] || [ "$cmd" = "-r" ] || [ "$cmd" = "--remake" ]; then + cp -f $SOURCEDIR/VDR/PLUGINS/src/$LINK/ShmClient $VDRBINDIR + chmod 0755 $VDRBINDIR/ShmClient +fi + +exit 0 |
