Commit 30b23594 authored by Felix Paul Kühne's avatar Felix Paul Kühne

Update ffmpeg to revision 12920 (the latest tested revision in trunk)

For Mac OS X 10.4, we need to compile our own GNU Make now.

Needs heavy testing on Win32 and PowerPC-based Macs
parent 07371bd2
...@@ -105,14 +105,12 @@ endif ...@@ -105,14 +105,12 @@ endif
# #
ifdef HAVE_WIN32 ifdef HAVE_WIN32
HOSTCONF+= --without-pic --disable-shared --enable-msw --with-included-opencdk --with-included-libtasn1 --disable-dependency-tracking HOSTCONF+= --without-pic --disable-shared --enable-msw --with-included-opencdk --with-included-libtasn1 --disable-dependency-tracking
FFMPEGCONF+= --enable-mingw32 --enable-memalign-hack --cpu=x86 --disable-debug FFMPEGCONF+= --target-os=mingw32 --enable-memalign-hack --cpu=i686 --arch=i686 --disable-debug
endif endif
ifdef HAVE_WINCE ifdef HAVE_WINCE
HOSTCONF+= --without-pic --disable-shared HOSTCONF+= --without-pic --disable-shared
FFMPEGCONF+= --enable-mingwce --cpu=armv4l --disable-debug --disable-encoders --disable-muxers --disable-mpegaudio-hp --disable-decoder=snow --disable-decoder=vc9 --disable-decoder=wmv3 --disable-decoder=vorbis --disable-decoder=dvdsub --disable-decoder=dvbsub --disable-protocols FFMPEGCONF+= --enable-mingwce --cpu=armv4l --disable-debug --disable-encoders --disable-muxers --disable-mpegaudio-hp --disable-decoder=snow --disable-decoder=vc9 --disable-decoder=wmv3 --disable-decoder=vorbis --disable-decoder=dvdsub --disable-decoder=dvbsub --disable-protocols
else
FFMPEGCONF+= --enable-mp3lame --enable-faac
endif endif
ifdef HAVE_BEOS ifdef HAVE_BEOS
...@@ -124,18 +122,16 @@ X264CONF += --enable-pic ...@@ -124,18 +122,16 @@ X264CONF += --enable-pic
endif endif
ifeq ($(HOST),i686-apple-darwin8) ifeq ($(HOST),i686-apple-darwin8)
FFMPEGCONF += --enable-memalign-hack FFMPEGCONF += --enable-memalign-hack --cpu=pentium-m
ifneq ($(HOST),i686-apple-darwin8)
FFMPEG_CFLAGS += -DHAVE_LRINTF FFMPEG_CFLAGS += -DHAVE_LRINTF
endif endif
endif
# *************************************************************************** # ***************************************************************************
# Standard rules # Standard rules
# *************************************************************************** # ***************************************************************************
ifdef HAVE_DARWIN_OS ifdef HAVE_DARWIN_OS
all: .autoconf .automake .libtool .intl .pkgcfg .freetype .fribidi \ all: .autoconf .gnumake .automake .libtool .intl .pkgcfg .freetype .fribidi \
.a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
.FLAC .speex .shout .faad .faac .lame .twolame .ebml .matroska .ffmpeg \ .FLAC .speex .shout .faad .faac .lame .twolame .ebml .matroska .ffmpeg \
.dvdcss .dvdnav .dvdread .dvbpsi .live .x264 .caca .mod \ .dvdcss .dvdnav .dvdread .dvbpsi .live .x264 .caca .mod \
...@@ -323,6 +319,24 @@ CLEAN_FILE += .autoconf ...@@ -323,6 +319,24 @@ CLEAN_FILE += .autoconf
CLEAN_PKG += autoconf CLEAN_PKG += autoconf
DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2 DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2
# ***************************************************************************
# gnumake
# ***************************************************************************
make-$(GNUMAKE_VERSION).tar.bz2:
$(WGET) $(GNUMAKE_URL)
gnumake: make-$(GNUMAKE_VERSION).tar.bz2
$(EXTRACT_BZ2)
.gnumake: gnumake
(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
touch $@
CLEAN_FILE += .gnumake
CLEAN_PKG += gnumake
DISTCLEAN_PKG += make-$(GNUMAKE_VERSION).tar.bz2
# *************************************************************************** # ***************************************************************************
# libtool # libtool
# *************************************************************************** # ***************************************************************************
...@@ -931,39 +945,56 @@ DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 ...@@ -931,39 +945,56 @@ DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
# ffmpeg # ffmpeg
# *************************************************************************** # ***************************************************************************
ifdef SVN
ffmpeg: ffmpeg:
$(SVN) co $(FFMPEG_SVN) -r 7407 ffmpeg $(SVN) co $(FFMPEG_SVN) ffmpeg -r 12920
(cd $@; patch -p 0 < ../Patches/ffmpeg-swscale-headers.patch)
ifeq ($(HOST),i586-pc-beos) ifeq ($(HOST),i586-pc-beos)
(cd $@; patch -p 0 < ../Patches/ffmpeg-svn-beos.patch) (cd $@; patch -p0 < ../Patches/ffmpeg-svn-beos.patch)
endif endif
ifdef HAVE_WINCE ifdef HAVE_WINCE
patch -p 1 < Patches/ffmpeg-svn-wince.patch patch -p1 < Patches/ffmpeg-svn-wince.patch
endif
ifdef HAVE_WIN32
(cd $@; patch -p 0 < ../Patches/ffmpeg-alignment.patch)
endif endif
ifdef HAVE_BEOS ifdef HAVE_BEOS
(cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch) (cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch)
endif endif
ifdef HAVE_DARWIN_OS
(cd $@; patch -p0 < ../Patches/ffmpeg-macosx-intel-mmx.patch)
(cd $@/libswscale; patch -p0 < ../../Patches/ffmpeg-fix-noaltivec.patch)
endif
ifdef HAVE_UCLIBC
patch -p0 < Patches/ffmpeg-svn-uclibc.patch
patch -p0 < Patches/ffmpeg-svn-internal-define.patch
patch -p0 < Patches/ffmpeg-svn-libavformat.patch
endif
else
ffmpeg-$(FFMPEG_VERSION).tar.gz: ffmpeg-$(FFMPEG_VERSION).tar.gz:
echo "ffmpeg snapshot is too old, you MUST use subversion !"
exit -1
$(WGET) $(FFMPEG_URL) $(WGET) $(FFMPEG_URL)
#ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
# $(EXTRACT_GZ) $(EXTRACT_GZ)
# patch -p 0 < Patches/ffmpeg.patch endif
ifdef HAVE_WINCE ifdef HAVE_WINCE
.ffmpeg: ffmpeg .zlib .ffmpeg: ffmpeg .zlib
else else
.ffmpeg: ffmpeg .faac .lame .ffmpeg: ffmpeg .faac .lame
endif endif
(cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-pp --disable-vhook --disable-ffserver --disable-network --enable-a52 --disable-ffplay && make install-libs install-headers)
(cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-postproc --disable-vhook --disable-ffserver --disable-ffmpeg --disable-ffplay --disable-devices --disable-protocols && make && make install-libs install-headers)
touch $@ touch $@
ifdef SVN
ffmpeg-source: ffmpeg
tar cfvz ffmpeg-$(DATE).tar.gz ffmpeg
SOURCE += ffmpeg-source
endif
CLEAN_FILE += .ffmpeg CLEAN_FILE += .ffmpeg
CLEAN_PKG += ffmpeg ffmpeg.cvs CLEAN_PKG += ffmpeg
DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz
# *************************************************************************** # ***************************************************************************
......
Index: libavcodec/i386/motion_est_mmx.c
===================================================================
--- libavcodec/i386/motion_est_mmx.c (revision 11270)
+++ libavcodec/i386/motion_est_mmx.c (working copy)
@@ -167,7 +167,7 @@
static inline void sad8_4_mmx2(uint8_t *blk1, uint8_t *blk2, int stride, int h)
{
asm volatile(
- "movq "MANGLE(bone)", %%mm5 \n\t"
+ "movq %4, %%mm5 \n\t"
"movq (%1), %%mm0 \n\t"
"pavgb 1(%1), %%mm0 \n\t"
"add %3, %1 \n\t"
@@ -190,7 +190,7 @@
"sub $2, %0 \n\t"
" jg 1b \n\t"
: "+r" (h), "+r" (blk1), "+r" (blk2)
- : "r" ((long)stride)
+ : "r" ((long)stride), "m" (bone)
);
}
@@ -258,7 +258,7 @@
"punpckhbw %%mm7, %%mm5 \n\t"
"paddw %%mm4, %%mm2 \n\t"
"paddw %%mm5, %%mm3 \n\t"
- "movq 16+"MANGLE(round_tab)", %%mm5 \n\t"
+ "movq 16+%5, %%mm5 \n\t"
"paddw %%mm2, %%mm0 \n\t"
"paddw %%mm3, %%mm1 \n\t"
"paddw %%mm5, %%mm0 \n\t"
@@ -281,7 +281,7 @@
"add %4, %%"REG_a" \n\t"
" js 1b \n\t"
: "+a" (len)
- : "r" (blk1 - len), "r" (blk1 -len + stride), "r" (blk2 - len), "r" ((long)stride)
+ : "r" (blk1 - len), "r" (blk1 -len + stride), "r" (blk2 - len), "r" ((long)stride), "m" (round_tab[0])
);
}
Index: libavcodec/i386/simple_idct_mmx.c
===================================================================
--- libavcodec/i386/simple_idct_mmx.c (revision 11270)
+++ libavcodec/i386/simple_idct_mmx.c (working copy)
@@ -363,7 +363,7 @@
"movq " #src4 ", %%mm1 \n\t" /* R6 R2 r6 r2 */\
"movq " #src1 ", %%mm2 \n\t" /* R3 R1 r3 r1 */\
"movq " #src5 ", %%mm3 \n\t" /* R7 R5 r7 r5 */\
- "movq "MANGLE(wm1010)", %%mm4 \n\t"\
+ "movq %3, %%mm4 \n\t"\
"pand %%mm0, %%mm4 \n\t"\
"por %%mm1, %%mm4 \n\t"\
"por %%mm2, %%mm4 \n\t"\
@@ -437,7 +437,7 @@
"jmp 2f \n\t"\
"1: \n\t"\
"pslld $16, %%mm0 \n\t"\
- "#paddd "MANGLE(d40000)", %%mm0 \n\t"\
+ "#paddd %4, %%mm0 \n\t"\
"psrad $13, %%mm0 \n\t"\
"packssdw %%mm0, %%mm0 \n\t"\
"movq %%mm0, " #dst " \n\t"\
@@ -471,7 +471,7 @@
"movq " #src4 ", %%mm1 \n\t" /* R6 R2 r6 r2 */\
"movq " #src1 ", %%mm2 \n\t" /* R3 R1 r3 r1 */\
"movq " #src5 ", %%mm3 \n\t" /* R7 R5 r7 r5 */\
- "movq "MANGLE(wm1010)", %%mm4 \n\t"\
+ "movq %3, %%mm4 \n\t"\
"pand %%mm0, %%mm4 \n\t"\
"por %%mm1, %%mm4 \n\t"\
"por %%mm2, %%mm4 \n\t"\
@@ -545,7 +545,7 @@
"jmp 2f \n\t"\
"1: \n\t"\
"pslld $16, %%mm0 \n\t"\
- "paddd "MANGLE(d40000)", %%mm0 \n\t"\
+ "paddd %4, %%mm0 \n\t"\
"psrad $13, %%mm0 \n\t"\
"packssdw %%mm0, %%mm0 \n\t"\
"movq %%mm0, " #dst " \n\t"\
@@ -1270,7 +1270,7 @@
*/
"9: \n\t"
- :: "r" (block), "r" (temp), "r" (coeffs)
+ :: "r" (block), "r" (temp), "r" (coeffs), "m" (wm1010), "m"(d40000)
: "%eax"
);
}
Index: libavcodec/i386/cavsdsp_mmx.c
===================================================================
--- libavcodec/i386/cavsdsp_mmx.c (revision 11727)
+++ libavcodec/i386/cavsdsp_mmx.c (working copy)
@@ -23,9 +23,31 @@
*/
#include "dsputil.h"
-#include "dsputil_mmx.h"
#include "common.h"
+#define SUMSUB_BA( a, b ) \
+"paddw "#b", "#a" \n\t"\
+"paddw "#b", "#b" \n\t"\
+"psubw "#a", "#b" \n\t"
+
+#define SBUTTERFLY(a,b,t,n,m)\
+"mov" #m " " #a ", " #t " \n\t" /* abcd */\
+"punpckl" #n " " #b ", " #a " \n\t" /* aebf */\
+"punpckh" #n " " #b ", " #t " \n\t" /* cgdh */\
+
+#define TRANSPOSE4(a,b,c,d,t)\
+SBUTTERFLY(a,b,t,wd,q) /* a=aebf t=cgdh */\
+SBUTTERFLY(c,d,b,wd,q) /* c=imjn b=kolp */\
+SBUTTERFLY(a,c,d,dq,q) /* a=aeim d=bfjn */\
+SBUTTERFLY(t,b,c,dq,q) /* t=cgko c=dhlp */
+
+DECLARE_ALIGNED_8(static const uint64_t,ff_pw_4 ) = 0x0004000400040004ULL;
+DECLARE_ALIGNED_8(static const uint64_t,ff_pw_5 ) = 0x0005000500050005ULL;
+DECLARE_ALIGNED_8(static const uint64_t,ff_pw_7 ) = 0x0007000700070007ULL;
+DECLARE_ALIGNED_8(static const uint64_t,ff_pw_42) = 0x002A002A002A002AULL;
+DECLARE_ALIGNED_8(static const uint64_t,ff_pw_64) = 0x0040004000400040ULL;
+DECLARE_ALIGNED_8(static const uint64_t,ff_pw_96) = 0x0060006000600060ULL;
+
/*****************************************************************************
*
* inverse transform
Index: libavcodec/i386/flacdsp_mmx.c
===================================================================
--- libavcodec/i386/flacdsp_mmx.c (revision 11888)
+++ libavcodec/i386/flacdsp_mmx.c (working copy)
@@ -26,7 +26,6 @@
double c = 2.0 / (len-1.0);
int n2 = len>>1;
long i = -n2*sizeof(int32_t);
- long j = n2*sizeof(int32_t);
asm volatile(
"movsd %0, %%xmm7 \n\t"
"movapd %1, %%xmm6 \n\t"
@@ -54,7 +53,7 @@
"sub $8, %1 \n\t"\
"add $8, %0 \n\t"\
"jl 1b \n\t"\
- :"+&r"(i), "+&r"(j)\
+ :"+&r"(i)\
:"r"(w_data+n2), "r"(data+n2)\
);
if(len&1)
@@ -84,9 +83,11 @@
long i = -len*sizeof(double);
if(j == lag-2) {
asm volatile(
- "movsd %6, %%xmm0 \n\t"
- "movsd %6, %%xmm1 \n\t"
- "movsd %6, %%xmm2 \n\t"
+ "movsd %0, %%xmm0 \n\t"
+ "movsd %0, %%xmm1 \n\t"
+ "movsd %0, %%xmm2 \n\t"
+ :: "m"(*ff_pd_1) );
+ asm volatile(
"1: \n\t"
"movapd (%4,%0), %%xmm3 \n\t"
"movupd -8(%5,%0), %%xmm4 \n\t"
@@ -109,12 +110,14 @@
"movsd %%xmm1, %2 \n\t"
"movsd %%xmm2, %3 \n\t"
:"+&r"(i), "=m"(autoc[j]), "=m"(autoc[j+1]), "=m"(autoc[j+2])
- :"r"(data1+len), "r"(data1+len-j), "m"(*ff_pd_1)
+ :"r"(data1+len), "r"(data1+len-j)
);
} else {
asm volatile(
- "movsd %5, %%xmm0 \n\t"
- "movsd %5, %%xmm1 \n\t"
+ "movsd %0, %%xmm0 \n\t"
+ "movsd %0, %%xmm1 \n\t"
+ :: "m"(*ff_pd_1) );
+ asm volatile(
"1: \n\t"
"movapd (%3,%0), %%xmm3 \n\t"
"movupd -8(%4,%0), %%xmm4 \n\t"
@@ -131,7 +134,7 @@
"movsd %%xmm0, %1 \n\t"
"movsd %%xmm1, %2 \n\t"
:"+&r"(i), "=m"(autoc[j]), "=m"(autoc[j+1])
- :"r"(data1+len), "r"(data1+len-j), "m"(*ff_pd_1)
+ :"r"(data1+len), "r"(data1+len-j)
);
}
}
Index: Makefile
===================================================================
--- Makefile (revision 7407)
+++ Makefile (working copy)
@@ -159,7 +159,9 @@
ifeq ($(CONFIG_PP),yes)
$(MAKE) -C libpostproc install-headers
endif
+ifeq ($(CONFIG_SWSCALER),yes)
$(MAKE) -C libswscale install-headers
+endif
uninstall: uninstall-progs uninstall-libs uninstall-headers uninstall-man uninstall-vhook
--- libgpg-error/src/gpg-error.c 2005-12-18 15:24:34.000000000 +0000
+++ libgpg-error.patch/src/gpg-error.c 2006-07-27 23:10:46.000000000 +0100
@@ -78,10 +78,14 @@
locale_dir = get_locale_dir ();
if (locale_dir)
{
+#ifdef ENABLE_NLS
bindtextdomain (PACKAGE, locale_dir);
+#endif
drop_locale_dir (locale_dir);
}
+#ifdef ENABLE_NLS
textdomain (PACKAGE);
+#endif
}
...@@ -32,6 +32,8 @@ PERL_URL=http://ftp.funet.fi/pub/CPAN/src/perl-$(PERL_VERSION).tar.gz ...@@ -32,6 +32,8 @@ PERL_URL=http://ftp.funet.fi/pub/CPAN/src/perl-$(PERL_VERSION).tar.gz
# we have to use a newer though, because bootstrap won't work otherwise # we have to use a newer though, because bootstrap won't work otherwise
AUTOCONF_VERSION=2.59 AUTOCONF_VERSION=2.59
AUTOCONF_URL=$(GNU)/autoconf/autoconf-$(AUTOCONF_VERSION).tar.bz2 AUTOCONF_URL=$(GNU)/autoconf/autoconf-$(AUTOCONF_VERSION).tar.bz2
GNUMAKE_VERSION=3.81
GNUMAKE_URL=$(GNU)/make/make-$(GNUMAKE_VERSION).tar.bz2
LIBTOOL_VERSION=1.5.6 LIBTOOL_VERSION=1.5.6
LIBTOOL_URL=$(GNU)/libtool/libtool-$(LIBTOOL_VERSION).tar.gz LIBTOOL_URL=$(GNU)/libtool/libtool-$(LIBTOOL_VERSION).tar.gz
AUTOMAKE_VERSION=1.9.6 AUTOMAKE_VERSION=1.9.6
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment