Changes of Revision 20
[-] | Changed | MPlayer.spec |
x 1
2 # norootforbuild 3 +%if 0%{?sles_version} 4 %define suseversion %(echo "SUSE Linux Enterprise `echo -e "scale=1\\n%{sles_version}" | bc` (%_build_cpu)" || Unknown) 5 +%else 6 +%define suseversion %(echo "openSUSE Linux `echo -e "scale=1\\n%{suse_version}/100" | bc 2>/dev/null || echo UNKNOWN` (%_build_cpu)") 7 +%endif 8 + 9 +%define revision 27637 10 11 Name: MPlayer 12 -License: GPL 13 +License: GNU General Public License version 2 (GPL v2) 14 Group: Productivity/Multimedia/Video/Players 15 -Version: 1.0rc2 16 -Release: 1.pm.1 17 +Version: 1.0rc2_r%{revision} 18 +Release: 3.pm.3 19 Summary: Multimedia Player 20 Summary(de): Multimedia-Abspielprogramm 21 -Source0: http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc2.tar.bz2 22 -Source1: http://www1.mplayerhq.hu/MPlayer/Skin/Blue-1.7.tar.bz2 23 -Patch1: MPlayer-1.0rc1-desktopfile.patch 24 -Patch2: MPlayer-0.90pre9-tempfile-unrarlib.diff 25 +# Source0: http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-%{version}.tar.bz2 26 +# svn://svn.mplayerhq.hu/mplayer/trunk 27 +Source0: MPlayer-%{version}.tar.bz2 28 +Source1: http://www1.mplayerhq.hu/MPlayer/skins/Blue-1.7.tar.bz2 29 Patch3: MPlayer-decl.patch 30 -Patch4: MPlayer-1.0pre7-gcc4-altivec.patch 31 -Patch6: asm-fixes.diff 32 +#Patch6: asm-fixes.diff 33 Patch7: MPlayer-1.0rc1-warn.patch 34 Patch8: MPlayer-comparison.patch 35 Patch18: MPlayer-pci_linux_gnu_source.patch 36 -Patch20: demux_audio_fix_20080129.diff 37 -Patch21: demux_mov_fix_20080129.diff 38 -Patch22: stream_cddb_fix_20080120.diff 39 -Patch23: url_fix_20080120.diff 40 -Patch24: MPlayer_Movie_Protect.patch 41 +# http://lists.freebsd.org/pipermail/freebsd-amd64/2005-May/004942.html 42 +Patch22: MPlayer-amd64-detection.patch 43 +Patch23: MPlayer-svn_version.patch 44 +# http://bugzilla.mplayerhq.hu/show_bug.cgi?id=1267 45 +# fixes infinite loop while trying to parse the 'udta' tag of 46 +# a number of different MP4 files 47 +Patch24: bug490-demux_lavf.patch 48 +Patch25: mplayer_demux_real.patch 49 +Patch26: MPlayer-x26465.patch 50 URL: http://www.mplayerhq.hu 51 BuildRoot: %{_tmppath}/%{name}-%{version}-build 52 -Prefix: %{_prefix} 53 54 -%ifarch %ix86 || x86_64 55 -BuildRequires: w32codec-all live 56 -%endif 57 - 58 -BuildRequires: lame libtheora-devel libsmbclient-devel SDL-devel ladspa aalib-devel esound-devel gtk2-devel 59 -BuildRequires: glib2-devel dvb lzo-devel libdca libpng-devel libogg-devel libvorbis-devel libdv 60 -BuildRequires: DirectFB arts-devel lirc bc cdparanoia xvid-devel lzo lzo-devel fribidi-devel speex-devel 61 -BuildRequires: faac libmpeg2-devel twolame-devel gettext-devel 62 -BuildRequires: libx264-devel >= 0.0svn20061031 63 -BuildRequires: libjack0 libjack-devel 64 -# suse since 9.2 include giflib and libjpeg is splitted 65 -%if %suse_version >= 920 66 -BuildRequires: giflib giflib-devel libjpeg-devel 67 -%else 68 -BuildRequires: libungif libjpeg pkgconfig 69 -%endif 70 -# 10.1 stuff: 71 -# 10.1 builds libsmbclient against kerberos. 72 -# we need devs because the v4l configure checks look for v4l devices. 73 -# libdv got split 74 -# caca got added 75 -%if %suse_version > 1000 && %suse_version < 1100 76 -BuildRequires: krb5-devel openldap2-devel libgssapi devs libdv-devel libcaca-devel 77 -%else 78 -BuildRequires: krb5-devel openldap2-devel libgssapi libdv-devel libcaca-devel 79 +%ifarch %ix86 80 +BuildRequires: w32codec-all 81 %endif 82 -# 10.2 stuff 83 -# DirectFB has a split devel package 84 -%if %suse_version > 1010 85 -BuildRequires: DirectFB-devel 86 +BuildRequires: libmp3lame-devel libogg-devel libtheora-devel libsmbclient-devel SDL-devel ladspa aalib-devel esound-devel gtk2-devel 87 +BuildRequires: glib2-devel dvb lzo-devel libdca-devel libpng-devel libdv libxvidcore-devel gcc-c++ 88 +BuildRequires: DirectFB-devel lirc bc cdparanoia lzo lzo-devel fribidi-devel speex-devel 89 +BuildRequires: libfaac-devel libmpeg2-devel twolame-devel gettext-devel amrnb-devel amrwb-devel pkgconfig 90 +BuildRequires: libenca-devel libvstream-client-devel libdvdnav4 libdvdnav-devel 91 +BuildRequires: libx264-devel >= 0.0svn20080917 live libjack-devel giflib giflib-devel libjpeg-devel 92 +BuildRequires: krb5-devel openldap2-devel libgssapi libdv-devel libcaca-devel libpulse-devel 93 +# FIXME get rid of fam-devel when its fixed in libschroedinger-devel 94 +BuildRequires: fam-devel 95 + 96 +# Toni builds dirac from 10.3 on upwards 97 +%if %{suse_version} >= 1030 98 +BuildRequires: libdirac-devel libschroedinger-devel 99 %endif 100 101 +Provides: mplayer = %{version}-%{release} 102 +Provides: mplayer-gui = %{version}-%{release} 103 +Provides: %{name}-gui = %{version}-%{release} 104 +Provides: gmplayer = %{version}-%{release} 105 +Provides: mencoder = %{version}-%{release} 106 +Conflicts: MPlayer-unstable 107 +Conflicts: mplayer-unstable 108 + 109 %description 110 MPlayer plays most MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, 111 -RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files, 112 +RealMedia, Matroska, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files, 113 supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, 114 SVCD, DVD, 3ivx, DivX 3/4/5 and even WMV movies.. 115 116 +Authors: 117 +-------- 118 + MPlayer team <mplayer-users@mplayerhq.hu> 119 + 120 %description -l de 121 MPlayer spielt die meisten MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, 122 -QT/MOV/MP4, RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, 123 +QT/MOV/MP4, RealMedia, Matroska, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, 124 PVA-Dateien, unterstuetzt von vielen nativen, XAnim, und Win32 DLL-Codecs ab. 125 Mit MPlayer koennen sie VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5 und sogar WMV-Filme 126 anschauen. 127 128 +Authoren: 129 +--------- 130 + Das MPlayer Team <mplayer-users@mplayerhq.hu> 131 132 +%debug_package 133 %prep 134 -%setup -q 135 -%patch1 136 -%patch2 -p1 137 +%setup -q -a 1 138 %patch3 139 -%patch4 140 #%patch6 141 %patch7 142 %patch8 -p1 143 %patch18 144 -%patch20 145 -%patch21 146 %patch22 147 -%patch23 148 %patch24 149 +%patch25 150 +%patch26 151 +# only apply if packaging an SVN snapshot: 152 +%if 0%{?revision:1} 153 +%patch23 154 +%endif 155 156 %build 157 +%if 0%{?revision:1} 158 +%__sed -i 's|@@SVN_REVISION@@|%{revision}|g;s|@@SUSE_VERSION@@|%{suseversion}|g' ./version.sh 159 +%else 160 +%__awk '{gsub ("%{version}-","%{version}-%{suseversion}-"); print $0}' <version.sh >version.sh.patched 161 +%__mv version.sh.patched version.sh 162 +%endif 163 164 -tar xjf %{SOURCE1} 165 - 166 -awk '{gsub ("%{version}-","%{version}-%{suseversion}-"); print $0}' version.sh > version.sh~ 167 -cp version.sh~ version.sh 168 - 169 -sed "s%%-O4%%$RPM_OPT_FLAGS -O4%%g" configure >configure~ 170 -cat configure~ > configure 171 +%__sed -i 's|-O4|%{optflags}|g' configure 172 173 -./configure --prefix=%{_prefix} \ 174 - --confdir=%{_sysconfdir}/mplayer \ 175 - --datadir=%{_datadir}/mplayer \ 176 - --libdir=%{_libdir} \ 177 - --mandir=%{_mandir} \ 178 -%ifarch %ix86 179 +./configure \ 180 + --prefix="%{_prefix}" \ 181 + --confdir="%{_sysconfdir}/mplayer" \ 182 + --datadir="%{_datadir}/mplayer" \ 183 + --libdir="%{_libdir}" \ 184 + --with-extralibdir="%{_libdir}" \ 185 + --mandir="%{_mandir}" \ 186 +%ifarch %ix86 x86_64 187 --enable-runtime-cpudetection \ 188 %endif 189 --enable-bl --enable-fbdev --enable-zr \ 190
191 --enable-xvmc --with-xvmclib=XvMCW \ 192 --enable-largefiles --enable-smb --enable-joystick \ 193 --enable-radio --enable-radio-capture \ 194 -%if %suse_version <= 1010 195 - --disable-ssse3 \ 196 -%endif 197 - --realcodecsdir=%_libdir/RealPlayer10/codecs 198 + --enable-dvdnav \ 199 + --disable-nemesi \ 200 + --disable-wii \ 201 |
||
[+] | Deleted | MPlayer-0.90pre9-tempfile-unrarlib.diff ^ |
@@ -1,34 +0,0 @@ ---- MPlayer-1.0rc1/unrarlib.c -+++ MPlayer-1.0rc1/unrarlib.c -@@ -2686,9 +2686,18 @@ - FILE *fp; - char date[] = __DATE__; - char time[] = __TIME__; -+ char *homedir; - - debug_start_time = GetTickCount(); /* get start time */ -- strcpy(log_file_name, file_name); /* save file name */ -+/* strcpy(log_file_name, file_name); */ /* save file name */ -+ homedir=getenv("HOME"); -+ if(homedir) -+ { -+ snprintf(log_file_name, sizeof(log_file_name)-1, file_name, homedir ); -+ } else { -+ sprintf(log_file_name, file_name, "."); -+ } -+ log_file_name[sizeof(log_file_name)-1]='\0'; - - if((fp = fopen(log_file_name, CREATETEXT)) != NULL) - { ---- MPlayer-1.0rc1/unrarlib.h -+++ MPlayer-1.0rc1/unrarlib.h -@@ -76,7 +76,8 @@ - #define _DEBUG_LOG_FILE "C:\\temp\\debug_unrar.txt" /* log file path */ - #else - #define _UNIX /* Linux or Unix with GCC */ --#define _DEBUG_LOG_FILE "/tmp/debug_unrar.txt" /* log file path */ -+ /* CAUTION: Do not remove this format string here. It's needed. */ -+#define _DEBUG_LOG_FILE "%s/debug_unrar.txt" /* log file path */ - /*#define NON_INTEL_BYTE_ORDER*/ /* GCC on motorola systems */ - - #endif | ||
[+] | Deleted | MPlayer-1.0pre7-gcc4-altivec.patch ^ |
@@ -1,101 +0,0 @@ ---- configure -+++ configure -@@ -1306,6 +1306,9 @@ - *) ;; - esac - fi -+ if test -n "`$_cpuinfo | grep Power4`"; then -+ _altivec=yes -+ fi - fi - - if test -n "$_mcpu"; then ---- liba52/resample_altivec.c -+++ liba52/resample_altivec.c -@@ -18,7 +18,7 @@ - } - - static int a52_resample_STEREO_to_2_altivec(float * _f, int16_t * s16){ --#if 0 -+ if ((intptr_t) _f & 15 || (intptr_t) s16 & 15) { - int i; - int32_t * f = (int32_t *) _f; - for (i = 0; i < 256; i++) { -@@ -26,7 +26,7 @@ - s16[2*i+1] = convert (f[i+256]); - } - return 2*256; --#else -+ } else { - int i = 0; - int32_t * f = (int32_t *) _f; - register vector signed int f0, f4, f256, f260; -@@ -52,7 +52,7 @@ - s16 += 16; - } - return(2*256); --#endif -+ } - } - - static void* a52_resample_altivec(int flags, int ch){ ---- libavcodec/ppc/fdct_altivec.c -+++ libavcodec/ppc/fdct_altivec.c -@@ -32,6 +32,11 @@ - #define vu16(v) ((vector unsigned short)(v)) - #define vu32(v) ((vector unsigned int)(v)) - -+#define vs16l(v) (*(vector signed short *)&(v)) -+#define vs32l(v) (*(vector signed int *)&(v)) -+#define vu8l(v) (*(vector unsigned char *)&(v)) -+#define vu16l(v) (*(vector unsigned short *)&(v)) -+#define vu32l(v) (*(vector unsigned int *)&(v)) - - #define C1 0.98078525066375732421875000 /* cos(1*PI/16) */ - #define C2 0.92387950420379638671875000 /* cos(2*PI/16) */ ---- libswscale/yuv2rgb.c -+++ libswscale/yuv2rgb.c -@@ -37,6 +37,9 @@ - - #include "config.h" - #include "rgb2rgb.h" -+#ifdef HAVE_ALTIVEC_H -+#include <altivec.h> -+#endif - #include "swscale.h" - #include "swscale_internal.h" - -@@ -652,7 +652,7 @@ - #ifdef HAVE_ALTIVEC - if (c->flags & SWS_CPU_CAPS_ALTIVEC) - { -- SwsFunc t = yuv2rgb_init_altivec(c); -+ extern SwsFunc yuv2rgb_init_altivec(SwsContext *); - if (t) return t; - } - #endif ---- libswscale/yuv2rgb_altivec.c -+++ libswscale/yuv2rgb_altivec.c -@@ -90,6 +90,9 @@ - #include <malloc.h> - #endif - #include "rgb2rgb.h" -+#ifdef HAVE_ALTIVEC_H -+#include <altivec.h> -+#endif - #include "swscale.h" - #include "swscale_internal.h" - ---- libvo/vo_x11.c -+++ libvo/vo_x11.c -@@ -38,6 +38,10 @@ - #include "fastmemcpy.h" - #include "sub.h" - -+#ifdef HAVE_ALTIVEC_H -+#include <altivec.h> -+#endif -+ - #include "libswscale/swscale.h" - #include "libmpcodecs/vf_scale.h" - #define MODE_RGB 0x1 | ||
[+] | Deleted | MPlayer-1.0rc1-desktopfile.patch ^ |
@@ -1,11 +0,0 @@ ---- etc/mplayer.desktop -+++ etc/mplayer.desktop -@@ -8,7 +8,7 @@ - Comment[es]=Reproductor multimedia - Comment[fr]=Lecteur multimedia - Comment[it]=Lettore multimediale --Icon=mplayer.xpm -+Icon=mplayer - TryExec=gmplayer - Exec=gmplayer - Terminal=false | ||
[+] | Added | MPlayer-amd64-detection.patch ^ |
@@ -0,0 +1,23 @@ +--- cpuinfo.c.orig 2008-09-14 12:38:08.000000000 +0200 ++++ cpuinfo.c 2008-09-14 12:39:31.000000000 +0200 +@@ -48,18 +48,8 @@ + cpuid(int func) { + cpuid_regs_t regs; + #define CPUID ".byte 0x0f, 0xa2; " +-#ifdef __x86_64__ +- asm("mov %%rbx, %%rsi\n\t" +-#else +- asm("mov %%ebx, %%esi\n\t" +-#endif +- CPUID"\n\t" +-#ifdef __x86_64__ +- "xchg %%rsi, %%rbx\n\t" +-#else +- "xchg %%esi, %%ebx\n\t" +-#endif +- : "=a" (regs.eax), "=S" (regs.ebx), "=c" (regs.ecx), "=d" (regs.edx) ++ asm(CPUID ++ : "=a" (regs.eax), "=b" (regs.ebx), "=c" (regs.ecx), "=d" (regs.edx) + : "0" (func)); + return regs; + } | ||
[+] | Changed | MPlayer-pci_linux_gnu_source.patch ^ |
@@ -1,22 +1,24 @@ ---- vidix/pci.c -+++ vidix/pci.c -@@ -50,7 +50,8 @@ - * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Index: vidix/pci.c +=================================================================== +--- vidix/pci.c (revision 27626) ++++ vidix/pci.c (working copy) +@@ -51,6 +51,7 @@ * */ -- -+ -+#define _GNU_SOURCE + ++#define _GNU_SOURCE #include "dha.h" #include <errno.h> #include <string.h> ---- vidix/sysdep/pci_linux.c -+++ vidix/sysdep/pci_linux.c -@@ -3,6 +3,7 @@ - $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.34.2.17 1998/11/10 11:55:40 dawes Exp $ - Modified for readability by Nick Kurshev - */ -+#define _GNU_SOURCE +Index: vidix/sysdep/pci_linux.c +=================================================================== +--- vidix/sysdep/pci_linux.c (revision 27626) ++++ vidix/sysdep/pci_linux.c (working copy) +@@ -26,6 +26,7 @@ + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + ++#define _GNU_SOURCE #include <errno.h> #ifdef __i386__ //#include <sys/perm.h> doesn't exist on libc5 systems | ||
[+] | Added | MPlayer-svn_version.patch ^ |
@@ -0,0 +1,23 @@ +Index: version.sh +=================================================================== +--- version.sh (revision 27637) ++++ version.sh (working copy) +@@ -2,14 +2,12 @@ + + test "$1" && extra="-$1" + +-svn_revision=`LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2` +-test $svn_revision || svn_revision=`grep revision .svn/entries 2>/dev/null | cut -d '"' -f2` +-test $svn_revision || svn_revision=`sed -n -e '/^dir$/{n;p;q;}' .svn/entries 2>/dev/null` +-test $svn_revision || svn_revision=UNKNOWN ++svn_revision='@@SVN_REVISION@@' ++suse_version='@@SUSE_VERSION@@' + +-NEW_REVISION="#define VERSION \"dev-SVN-r${svn_revision}${extra}\"" ++NEW_REVISION="#define VERSION \"dev-SVN-r${svn_revision}${extra}-${suse_version}\"" + OLD_REVISION=`cat version.h 2> /dev/null` +-TITLE="#define MP_TITLE \"MPlayer dev-SVN-r${svn_revision}${extra} (C) 2000-2008 MPlayer Team\"" ++TITLE="#define MP_TITLE \"MPlayer dev-SVN-r${svn_revision}${extra}-${suse_version} (C) 2000-2008 MPlayer Team\"" + + # Update version.h only on revision changes to avoid spurious rebuilds + if test "$NEW_REVISION" != "$OLD_REVISION"; then | ||
[+] | Added | MPlayer-x26465.patch ^ |
@@ -0,0 +1,25 @@ +--- libavcodec/libx264.c ++++ libavcodec/libx264.c +@@ -162,7 +162,11 @@ + + x4->params.i_bframe = avctx->max_b_frames; + x4->params.b_cabac = avctx->coder_type == FF_CODER_TYPE_AC; ++#if X264_BUILD > 62 + x4->params.i_bframe_adaptive = avctx->b_frame_strategy; ++#else ++ x4->params.b_bframe_adaptive = avctx->b_frame_strategy; ++#endif + x4->params.i_bframe_bias = avctx->bframebias; + x4->params.b_bframe_pyramid = avctx->flags2 & CODEC_FLAG2_BPYRAMID; + avctx->has_b_frames= avctx->flags2 & CODEC_FLAG2_BPYRAMID ? 2 : !!avctx->max_b_frames; +@@ -227,8 +231,10 @@ + x4->params.analyse.i_me_range = avctx->me_range; + x4->params.analyse.i_subpel_refine = avctx->me_subpel_quality; + ++#if X264_BUILD < 65 + x4->params.analyse.b_bidir_me = avctx->bidir_refine > 0; + x4->params.analyse.b_bframe_rdo = avctx->flags2 & CODEC_FLAG2_BRDO; ++#endif + x4->params.analyse.b_mixed_references = + avctx->flags2 & CODEC_FLAG2_MIXED_REFS; + x4->params.analyse.b_chroma_me = avctx->me_cmp & FF_CMP_CHROMA; | ||
[+] | Deleted | MPlayer_Movie_Protect.patch ^ |
@@ -1,104 +0,0 @@ ---- dvdread/dvd_input.c 2007-08-15 14:01:48.000000000 +0200 -+++ dvdread/dvd_input.c.new 2008-02-02 21:46:01.000000000 +0100 -@@ -376,6 +376,8 @@ - } - #endif /* HAVE_DVDCSS_DVDCSS_H */ - -+ fprintf(stderr, "libdvdread patched to play DVDs with DVD-Movie-Protect\n"); -+ - dvdcss_library_init = 1; - - if(dvdcss_library) { ---- dvdread/dvd_udf.c 2007-08-15 14:01:48.000000000 +0200 -+++ dvdread/dvd_udf.c.new 2008-02-02 21:53:04.000000000 +0100 -@@ -39,6 +39,7 @@ - #include <sys/stat.h> - #include <unistd.h> - #include <errno.h> -+#include <fnmatch.h> - - #if defined(HAVE_INTTYPES_H) - #include <inttypes.h> -@@ -50,6 +51,9 @@ - #include "dvd_udf.h" - #include "dvdread_internal.h" - -+#include "ifo_types.h" -+#include "ifo_read.h" -+ - #ifndef EMEDIUMTYPE - #define EMEDIUMTYPE ENOENT - #endif -@@ -965,6 +969,71 @@ - uint32_t UDFFindFile( dvd_reader_t *device, char *filename, - uint32_t *filesize ) - { -+ uint32_t offset=0; -+ if (!fnmatch("/VIDEO_TS/VTS_[0-9][0-9]_[0-9].???", filename, FNM_PATHNAME)) { -+ size_t len = strlen(filename); -+ char *extension = &filename[len-3]; -+ if (!strcmp(extension, "IFO") || !strcmp(extension, "VOB")) { -+ int title = atoi(&filename[len-8]); -+ int part = atoi(&filename[len-5]); -+ -+ ifo_handle_t *ifo_handle = ifoOpen(device, 0); -+ if (0 == ifo_handle) -+ return 0; -+ -+ if (title > ifo_handle->tt_srpt->nr_of_srpts) { -+ ifoClose(ifo_handle); -+ return 0; -+ -+ } -+ -+ uint32_t tmp_filesize; -+ offset += UDFFindFile(device, "/VIDEO_TS/VIDEO_TS.IFO", &tmp_filesize); -+ -+ int i; -+ for (i=0; i<ifo_handle->tt_srpt->nr_of_srpts; i++) -+ if (title == ifo_handle->tt_srpt->title[i].title_set_nr) -+ break; -+ -+ if (i == ifo_handle->tt_srpt->nr_of_srpts) { -+ /* not found */ -+ ifoClose(ifo_handle); -+ return 0; -+ } -+ offset += ifo_handle->tt_srpt->title[i].title_set_sector; -+ -+ ifoClose(ifo_handle); -+ -+ if (!strcmp(extension, "VOB")) { -+ ifo_handle = ifoOpen(device, title); -+ if (0 == ifo_handle) -+ return 0; -+ -+ switch(part) { -+ case 0: -+ if (0 == ifo_handle->vtsi_mat->vtsm_vobs) -+ return 0; -+ offset += ifo_handle->vtsi_mat->vtsm_vobs; -+ break; -+ case 1: -+ if (0 == ifo_handle->vtsi_mat->vtstt_vobs) -+ return 0; -+ offset += ifo_handle->vtsi_mat->vtstt_vobs; -+ break; -+ default: /* can't get other parts (also no need to) */ -+ offset = 0; -+ break; -+ } -+ ifoClose(ifo_handle); -+ } -+ } -+ -+ *filesize = 1000000; /* File size unknown */ -+ if (offset != 0) -+ return offset; -+ } -+ -+ - uint8_t *LogBlock; - uint32_t lbnum; - uint16_t TagID; - | ||
[+] | Deleted | asm-fixes.diff ^ |
@@ -1,280 +0,0 @@ ---- libpostproc/postprocess.c -+++ libpostproc/postprocess.c -@@ -120,14 +120,14 @@ - #endif - - #if defined(ARCH_X86) || defined(ARCH_X86_64) --static uint64_t __attribute__((aligned(8))) attribute_used w05= 0x0005000500050005LL; --static uint64_t __attribute__((aligned(8))) attribute_used w04= 0x0004000400040004LL; --static uint64_t __attribute__((aligned(8))) attribute_used w20= 0x0020002000200020LL; --static uint64_t __attribute__((aligned(8))) attribute_used b00= 0x0000000000000000LL; --static uint64_t __attribute__((aligned(8))) attribute_used b01= 0x0101010101010101LL; --static uint64_t __attribute__((aligned(8))) attribute_used b02= 0x0202020202020202LL; --static uint64_t __attribute__((aligned(8))) attribute_used b08= 0x0808080808080808LL; --static uint64_t __attribute__((aligned(8))) attribute_used b80= 0x8080808080808080LL; -+static uint64_t __attribute__((aligned(8),used)) attribute_used w05= 0x0005000500050005LL; -+static uint64_t __attribute__((aligned(8),used)) attribute_used w04= 0x0004000400040004LL; -+static uint64_t __attribute__((aligned(8),used)) attribute_used w20= 0x0020002000200020LL; -+static uint64_t __attribute__((aligned(8),used)) attribute_used b00= 0x0000000000000000LL; -+static uint64_t __attribute__((aligned(8),used)) attribute_used b01= 0x0101010101010101LL; -+static uint64_t __attribute__((aligned(8),used)) attribute_used b02= 0x0202020202020202LL; -+static uint64_t __attribute__((aligned(8),used)) attribute_used b08= 0x0808080808080808LL; -+static uint64_t __attribute__((aligned(8),used)) attribute_used b80= 0x8080808080808080LL; - #endif - - static uint8_t clip_table[3*256]; ---- libvo/osd.c -+++ libvo/osd.c -@@ -17,9 +17,9 @@ - #endif - - #ifdef CAN_COMPILE_X86_ASM --static const uint64_t bFF attribute_used __attribute__((aligned(8))) = 0xFFFFFFFFFFFFFFFFULL; --static const unsigned long long mask24lh __attribute__((aligned(8))) = 0xFFFF000000000000ULL; --static const unsigned long long mask24hl __attribute__((aligned(8))) = 0x0000FFFFFFFFFFFFULL; -+static const uint64_t bFF attribute_used __attribute__((aligned(8),used)) = 0xFFFFFFFFFFFFFFFFULL; -+static const unsigned long long mask24lh __attribute__((aligned(8),used)) = 0xFFFF000000000000ULL; -+static const unsigned long long mask24hl __attribute__((aligned(8),used)) = 0x0000FFFFFFFFFFFFULL; - #endif - - //Note: we have C, X86-nommx, MMX, MMX2, 3DNOW version therse no 3DNOW+MMX2 one ---- mp3lib/dct64_3dnow.c -+++ mp3lib/dct64_3dnow.c -@@ -12,7 +12,7 @@ - #include "config.h" - #include "mangle.h" - --static unsigned long long int attribute_used __attribute__((aligned(8))) x_plus_minus_3dnow = 0x8000000000000000ULL; -+static unsigned long long int attribute_used __attribute__((aligned(8),used)) x_plus_minus_3dnow = 0x8000000000000000ULL; - static float attribute_used plus_1f = 1.0; - - void dct64_MMX_3dnow(real *a,real *b,real *c) ---- mp3lib/dct64_k7.c -+++ mp3lib/dct64_k7.c -@@ -12,7 +12,7 @@ - #include "config.h" - #include "mangle.h" - --static unsigned long long int attribute_used __attribute__((aligned(8))) x_plus_minus_3dnow = 0x8000000000000000ULL; -+static unsigned long long int attribute_used __attribute__((aligned(8),used)) x_plus_minus_3dnow = 0x8000000000000000ULL; - static float attribute_used plus_1f = 1.0; - - void dct64_MMX_3dnowex(real *a,real *b,real *c) -#--- mp3lib/decode_MMX.c -#+++ mp3lib/decode_MMX.c -#@@ -11,9 +11,9 @@ -# #include "mangle.h" -# #define real float /* ugly - but only way */ -# -#-static unsigned long long attribute_used __attribute__((aligned(8))) null_one = 0x0000ffff0000ffffULL; -#-static unsigned long long attribute_used __attribute__((aligned(8))) one_null = 0xffff0000ffff0000ULL; -#-unsigned long __attribute__((aligned(8))) costab_mmx[] = -#+static unsigned long long attribute_used __attribute__((aligned(8),used)) null_one = 0x0000ffff0000ffffULL; -#+static unsigned long long attribute_used __attribute__((aligned(8),used)) one_null = 0xffff0000ffff0000ULL; -#+unsigned long __attribute__((aligned(8),used)) costab_mmx[] = -# { -# 1056974725, -# 1057056395, ---- libswscale/rgb2rgb.c -+++ libswscale/rgb2rgb.c -@@ -72,64 +72,64 @@ - long srcStride3, long dstStride); - - #if defined(ARCH_X86) || defined(ARCH_X86_64) --static const uint64_t mmx_null __attribute__((aligned(8))) = 0x0000000000000000ULL; --static const uint64_t mmx_one __attribute__((aligned(8))) = 0xFFFFFFFFFFFFFFFFULL; --static const uint64_t mask32b attribute_used __attribute__((aligned(8))) = 0x000000FF000000FFULL; --static const uint64_t mask32g attribute_used __attribute__((aligned(8))) = 0x0000FF000000FF00ULL; --static const uint64_t mask32r attribute_used __attribute__((aligned(8))) = 0x00FF000000FF0000ULL; --static const uint64_t mask32 __attribute__((aligned(8))) = 0x00FFFFFF00FFFFFFULL; --static const uint64_t mask3216br __attribute__((aligned(8)))=0x00F800F800F800F8ULL; --static const uint64_t mask3216g __attribute__((aligned(8)))=0x0000FC000000FC00ULL; --static const uint64_t mask3215g __attribute__((aligned(8)))=0x0000F8000000F800ULL; --static const uint64_t mul3216 __attribute__((aligned(8))) = 0x2000000420000004ULL; --static const uint64_t mul3215 __attribute__((aligned(8))) = 0x2000000820000008ULL; --static const uint64_t mask24b attribute_used __attribute__((aligned(8))) = 0x00FF0000FF0000FFULL; --static const uint64_t mask24g attribute_used __attribute__((aligned(8))) = 0xFF0000FF0000FF00ULL; --static const uint64_t mask24r attribute_used __attribute__((aligned(8))) = 0x0000FF0000FF0000ULL; --static const uint64_t mask24l __attribute__((aligned(8))) = 0x0000000000FFFFFFULL; --static const uint64_t mask24h __attribute__((aligned(8))) = 0x0000FFFFFF000000ULL; --static const uint64_t mask24hh __attribute__((aligned(8))) = 0xffff000000000000ULL; --static const uint64_t mask24hhh __attribute__((aligned(8))) = 0xffffffff00000000ULL; --static const uint64_t mask24hhhh __attribute__((aligned(8))) = 0xffffffffffff0000ULL; --static const uint64_t mask15b __attribute__((aligned(8))) = 0x001F001F001F001FULL; /* 00000000 00011111 xxB */ --static const uint64_t mask15rg __attribute__((aligned(8))) = 0x7FE07FE07FE07FE0ULL; /* 01111111 11100000 RGx */ --static const uint64_t mask15s __attribute__((aligned(8))) = 0xFFE0FFE0FFE0FFE0ULL; --static const uint64_t mask15g __attribute__((aligned(8))) = 0x03E003E003E003E0ULL; --static const uint64_t mask15r __attribute__((aligned(8))) = 0x7C007C007C007C00ULL; -+static const uint64_t mmx_null __attribute__((aligned(8),used)) = 0x0000000000000000ULL; -+static const uint64_t mmx_one __attribute__((aligned(8),used)) = 0xFFFFFFFFFFFFFFFFULL; -+static const uint64_t mask32b attribute_used __attribute__((aligned(8),used)) = 0x000000FF000000FFULL; -+static const uint64_t mask32g attribute_used __attribute__((aligned(8),used)) = 0x0000FF000000FF00ULL; -+static const uint64_t mask32r attribute_used __attribute__((aligned(8),used)) = 0x00FF000000FF0000ULL; -+static const uint64_t mask32 __attribute__((aligned(8),used)) = 0x00FFFFFF00FFFFFFULL; -+static const uint64_t mask3216br __attribute__((aligned(8),used))=0x00F800F800F800F8ULL; -+static const uint64_t mask3216g __attribute__((aligned(8),used))=0x0000FC000000FC00ULL; -+static const uint64_t mask3215g __attribute__((aligned(8),used))=0x0000F8000000F800ULL; -+static const uint64_t mul3216 __attribute__((aligned(8),used)) = 0x2000000420000004ULL; -+static const uint64_t mul3215 __attribute__((aligned(8),used)) = 0x2000000820000008ULL; -+static const uint64_t mask24b attribute_used __attribute__((aligned(8),used)) = 0x00FF0000FF0000FFULL; -+static const uint64_t mask24g attribute_used __attribute__((aligned(8),used)) = 0xFF0000FF0000FF00ULL; -+static const uint64_t mask24r attribute_used __attribute__((aligned(8),used)) = 0x0000FF0000FF0000ULL; -+static const uint64_t mask24l __attribute__((aligned(8),used)) = 0x0000000000FFFFFFULL; -+static const uint64_t mask24h __attribute__((aligned(8),used)) = 0x0000FFFFFF000000ULL; -+static const uint64_t mask24hh __attribute__((aligned(8),used)) = 0xffff000000000000ULL; -+static const uint64_t mask24hhh __attribute__((aligned(8),used)) = 0xffffffff00000000ULL; -+static const uint64_t mask24hhhh __attribute__((aligned(8),used)) = 0xffffffffffff0000ULL; -+static const uint64_t mask15b __attribute__((aligned(8),used)) = 0x001F001F001F001FULL; /* 00000000 00011111 xxB */ -+static const uint64_t mask15rg __attribute__((aligned(8),used)) = 0x7FE07FE07FE07FE0ULL; /* 01111111 11100000 RGx */ -+static const uint64_t mask15s __attribute__((aligned(8),used)) = 0xFFE0FFE0FFE0FFE0ULL; -+static const uint64_t mask15g __attribute__((aligned(8),used)) = 0x03E003E003E003E0ULL; -+static const uint64_t mask15r __attribute__((aligned(8),used)) = 0x7C007C007C007C00ULL; - #define mask16b mask15b --static const uint64_t mask16g __attribute__((aligned(8))) = 0x07E007E007E007E0ULL; --static const uint64_t mask16r __attribute__((aligned(8))) = 0xF800F800F800F800ULL; --static const uint64_t red_16mask __attribute__((aligned(8))) = 0x0000f8000000f800ULL; --static const uint64_t green_16mask __attribute__((aligned(8)))= 0x000007e0000007e0ULL; --static const uint64_t blue_16mask __attribute__((aligned(8))) = 0x0000001f0000001fULL; --static const uint64_t red_15mask __attribute__((aligned(8))) = 0x00007c000000f800ULL; --static const uint64_t green_15mask __attribute__((aligned(8)))= 0x000003e0000007e0ULL; --static const uint64_t blue_15mask __attribute__((aligned(8))) = 0x0000001f0000001fULL; -+static const uint64_t mask16g __attribute__((aligned(8),used)) = 0x07E007E007E007E0ULL; -+static const uint64_t mask16r __attribute__((aligned(8),used)) = 0xF800F800F800F800ULL; -+static const uint64_t red_16mask __attribute__((aligned(8),used)) = 0x0000f8000000f800ULL; -+static const uint64_t green_16mask __attribute__((aligned(8),used))= 0x000007e0000007e0ULL; -+static const uint64_t blue_16mask __attribute__((aligned(8),used)) = 0x0000001f0000001fULL; -+static const uint64_t red_15mask __attribute__((aligned(8),used)) = 0x00007c000000f800ULL; -+static const uint64_t green_15mask __attribute__((aligned(8),used))= 0x000003e0000007e0ULL; -+static const uint64_t blue_15mask __attribute__((aligned(8),used)) = 0x0000001f0000001fULL; - - #ifdef FAST_BGR2YV12 --static const uint64_t bgr2YCoeff attribute_used __attribute__((aligned(8))) = 0x000000210041000DULL; --static const uint64_t bgr2UCoeff attribute_used __attribute__((aligned(8))) = 0x0000FFEEFFDC0038ULL; --static const uint64_t bgr2VCoeff attribute_used __attribute__((aligned(8))) = 0x00000038FFD2FFF8ULL; -+static const uint64_t bgr2YCoeff attribute_used __attribute__((aligned(8),used)) = 0x000000210041000DULL; -+static const uint64_t bgr2UCoeff attribute_used __attribute__((aligned(8),used)) = 0x0000FFEEFFDC0038ULL; -+static const uint64_t bgr2VCoeff attribute_used __attribute__((aligned(8),used)) = 0x00000038FFD2FFF8ULL; - #else --static const uint64_t bgr2YCoeff attribute_used __attribute__((aligned(8))) = 0x000020E540830C8BULL; --static const uint64_t bgr2UCoeff attribute_used __attribute__((aligned(8))) = 0x0000ED0FDAC23831ULL; --static const uint64_t bgr2VCoeff attribute_used __attribute__((aligned(8))) = 0x00003831D0E6F6EAULL; -+static const uint64_t bgr2YCoeff attribute_used __attribute__((aligned(8),used)) = 0x000020E540830C8BULL; -+static const uint64_t bgr2UCoeff attribute_used __attribute__((aligned(8),used)) = 0x0000ED0FDAC23831ULL; -+static const uint64_t bgr2VCoeff attribute_used __attribute__((aligned(8),used)) = 0x00003831D0E6F6EAULL; - #endif --static const uint64_t bgr2YOffset attribute_used __attribute__((aligned(8))) = 0x1010101010101010ULL; --static const uint64_t bgr2UVOffset attribute_used __attribute__((aligned(8)))= 0x8080808080808080ULL; --static const uint64_t w1111 attribute_used __attribute__((aligned(8))) = 0x0001000100010001ULL; -+static const uint64_t bgr2YOffset attribute_used __attribute__((aligned(8),used)) = 0x1010101010101010ULL; -+static const uint64_t bgr2UVOffset attribute_used __attribute__((aligned(8),used))= 0x8080808080808080ULL; -+static const uint64_t w1111 attribute_used __attribute__((aligned(8),used)) = 0x0001000100010001ULL; - - #if 0 --static volatile uint64_t __attribute__((aligned(8))) b5Dither; --static volatile uint64_t __attribute__((aligned(8))) g5Dither; --static volatile uint64_t __attribute__((aligned(8))) g6Dither; --static volatile uint64_t __attribute__((aligned(8))) r5Dither; -+static volatile uint64_t __attribute__((aligned(8),used)) b5Dither; -+static volatile uint64_t __attribute__((aligned(8),used)) g5Dither; -+static volatile uint64_t __attribute__((aligned(8),used)) g6Dither; -+static volatile uint64_t __attribute__((aligned(8),used)) r5Dither; - --static uint64_t __attribute__((aligned(8))) dither4[2]={ -+static uint64_t __attribute__((aligned(8),used)) dither4[2]={ - 0x0103010301030103LL, - 0x0200020002000200LL,}; - --static uint64_t __attribute__((aligned(8))) dither8[2]={ -+static uint64_t __attribute__((aligned(8),used)) dither8[2]={ - 0x0602060206020602LL, - 0x0004000400040004LL,}; - #endif -#--- libswscale/swscale.c -#+++ libswscale/swscale.c -#@@ -155,51 +155,51 @@ -# #define MAX(a,b) ((a) < (b) ? (b) : (a)) -# -# #if defined(ARCH_X86) || defined(ARCH_X86_64) -#-static uint64_t attribute_used __attribute__((aligned(8))) bF8= 0xF8F8F8F8F8F8F8F8LL; -#-static uint64_t attribute_used __attribute__((aligned(8))) bFC= 0xFCFCFCFCFCFCFCFCLL; | ||
[+] | Added | bug490-demux_lavf.patch ^ |
@@ -0,0 +1,13 @@ +Index: libmpdemux/demux_lavf.c +=================================================================== +--- libmpdemux/demux_lavf.c (revision 27511) ++++ libmpdemux/demux_lavf.c (working copy) +@@ -115,7 +115,7 @@ + if(pos<stream->end_pos && stream->eof) + stream_reset(stream); + current_pos = stream_tell(stream); +- if(stream_seek(stream, pos)==0) { ++ if(pos != current_pos && stream_seek(stream, pos)==0) { + stream_reset(stream); + stream_seek(stream, current_pos); + return -1; | ||
[+] | Deleted | demux_audio_fix_20080129.diff ^ |
@@ -1,13 +0,0 @@ -Index: demux_audio.c -=================================================================== ---- libmpdemux/demux_audio.c (revision 24724) -+++ libmpdemux/demux_audio.c (working copy) -@@ -229,6 +229,8 @@ - ptr += 4; - - comment = ptr; -+ if (&comment[length] < comments || &comment[length] >= &comments[blk_len]) -+ return; - c = comment[length]; - comment[length] = 0; - | ||
[+] | Deleted | demux_mov_fix_20080129.diff ^ |
@@ -1,47 +0,0 @@ -Index: demux_mov.c -=================================================================== ---- libmpdemux/demux_mov.c (revision 24724) -+++ libmpdemux/demux_mov.c (working copy) -@@ -173,11 +173,12 @@ - i=trak->chunkmap_size; - while(i>0){ - --i; -- for(j=trak->chunkmap[i].first;j<last;j++){ -+ j=FFMAX(trak->chunkmap[i].first, 0); -+ for(;j<last;j++){ - trak->chunks[j].desc=trak->chunkmap[i].sdid; - trak->chunks[j].size=trak->chunkmap[i].spc; - } -- last=trak->chunkmap[i].first; -+ last=FFMIN(trak->chunkmap[i].first, trak->chunks_size); - } - - #if 0 -@@ -235,6 +236,8 @@ - s=0; - for(j=0;j<trak->durmap_size;j++){ - for(i=0;i<trak->durmap[j].num;i++){ -+ if (s >= trak->samples_size) -+ break; - trak->samples[s].pts=pts; - ++s; - pts+=trak->durmap[j].dur; -@@ -246,6 +249,8 @@ - for(j=0;j<trak->chunks_size;j++){ - off_t pos=trak->chunks[j].pos; - for(i=0;i<trak->chunks[j].size;i++){ -+ if (s >= trak->samples_size) -+ break; - trak->samples[s].pos=pos; - mp_msg(MSGT_DEMUX, MSGL_DBG3, "Sample %5d: pts=%8d off=0x%08X size=%d\n",s, - trak->samples[s].pts, -@@ -1568,8 +1573,7 @@ - if( udta_len>udta_size) - udta_len=udta_size; - { -- char dump[udta_len-4]; -- stream_read(demuxer->stream, (char *)&dump, udta_len-4-4); -+ stream_skip(demuxer->stream, udta_len-4-4); - udta_size -= udta_len; - } - } | ||
[+] | Added | mplayer_demux_real.patch ^ |
@@ -0,0 +1,28 @@ +Index: libmpdemux/demux_real.c +=================================================================== +--- libmpdemux/demux_real.c (revision 27605) ++++ libmpdemux/demux_real.c (working copy) +@@ -947,6 +947,7 @@ + // last fragment! + if(dp_hdr->len!=vpkg_length-vpkg_offset) + mp_msg(MSGT_DEMUX,MSGL_V,"warning! assembled.len=%d frag.len=%d total.len=%d \n",dp->len,vpkg_offset,vpkg_length-vpkg_offset); ++ if (vpkg_offset > dp->len - sizeof(dp_hdr_t) - dp_hdr->len) vpkg_offset = dp->len - sizeof(dp_hdr_t) - dp_hdr->len; + stream_read(demuxer->stream, dp_data+dp_hdr->len, vpkg_offset); + if((dp_data[dp_hdr->len]&0x20) && (sh_video->format==0x30335652)) --dp_hdr->chunks; else + dp_hdr->len+=vpkg_offset; +@@ -970,6 +971,7 @@ + // non-last fragment: + if(dp_hdr->len!=vpkg_offset) + mp_msg(MSGT_DEMUX,MSGL_V,"warning! assembled.len=%d offset=%d frag.len=%d total.len=%d \n",dp->len,vpkg_offset,len,vpkg_length); ++ if (len > dp->len - sizeof(dp_hdr_t) - dp_hdr->len) len = dp->len - sizeof(dp_hdr_t) - dp_hdr->len; + stream_read(demuxer->stream, dp_data+dp_hdr->len, len); + if((dp_data[dp_hdr->len]&0x20) && (sh_video->format==0x30335652)) --dp_hdr->chunks; else + dp_hdr->len+=len; +@@ -992,6 +994,7 @@ + extra[0]=1; extra[1]=0; // offset of the first chunk + if(0x00==(vpkg_header&0xc0)){ + // first fragment: ++ if (len > dp->len - sizeof(dp_hdr_t)) len = dp->len - sizeof(dp_hdr_t); + dp_hdr->len=len; + stream_read(demuxer->stream, dp_data, len); + ds->asf_packet=dp; | ||
[+] | Deleted | stream_cddb_fix_20080120.diff ^ |
@@ -1,34 +0,0 @@ -Index: stream_cddb.c -=================================================================== ---- stream/stream_cddb.c (revision 24724) -+++ stream/stream_cddb.c (working copy) -@@ -53,6 +53,7 @@ - #include "version.h" - #include "stream.h" - #include "network.h" -+#include "libavutil/intreadwrite.h" - - #define DEFAULT_FREEDB_SERVER "freedb.freedb.org" - #define DEFAULT_CACHE_DIR "/.cddb/" -@@ -453,8 +454,9 @@ - } else { - len = ptr2-ptr+1; - } -+ len = FFMIN(sizeof(album_title) - 1, len); - strncpy(album_title, ptr, len); -- album_title[len-2]='\0'; -+ album_title[len]='\0'; - } - mp_msg(MSGT_DEMUX, MSGL_STATUS, MSGTR_MPDEMUX_CDDB_ParseOKFoundAlbumTitle, album_title); - return 0; -@@ -490,8 +492,9 @@ - } else { - len = ptr2-ptr+1; - } -+ len = FFMIN(sizeof(album_title) - 1, len); - strncpy(album_title, ptr, len); -- album_title[len-2]='\0'; -+ album_title[len]='\0'; - } - mp_msg(MSGT_DEMUX, MSGL_STATUS, MSGTR_MPDEMUX_CDDB_ParseOKFoundAlbumTitle, album_title); - return cddb_request_titles(cddb_data); | ||
[+] | Deleted | url_fix_20080120.diff ^ |
@@ -1,12 +0,0 @@ -Index: url.c -=================================================================== ---- stream/url.c (revision 24724) -+++ stream/url.c (working copy) -@@ -328,6 +328,7 @@ - } - } - -+ tmp = NULL; - while(i < len) { - // look for the next char that must be kept - for (j=i;j<len;j++) { | ||
Deleted | MPlayer-1.0rc2.tar.bz2 ^ | |
Added | MPlayer-1.0rc2_r27637.tar.bz2 ^ |