Commit 84ac18e6 authored by Felix Paul Kühne's avatar Felix Paul Kühne

We need to stick to FFmpeg r7407 for now. This mostly reverts...

We need to stick to FFmpeg r7407 for now. This mostly reverts [30b23594]. Thus, we don't need a recent GNU Make either.
parent fc995169
...@@ -7,9 +7,7 @@ Security updates: ...@@ -7,9 +7,7 @@ Security updates:
* Updated libxml2 on Windows and Mac OS X (CVE-2007-6284) * Updated libxml2 on Windows and Mac OS X (CVE-2007-6284)
Goodies: Goodies:
* Updated FFmpeg, libebml and libmatroska on Mac OS X. * Updated libebml and libmatroska on Mac OS X. Reliability improvements.
Speed and feature updates.
Changes between 0.8.6f and 0.8.6g: Changes between 0.8.6f and 0.8.6g:
---------------------------------- ----------------------------------
......
...@@ -105,14 +105,14 @@ endif ...@@ -105,14 +105,14 @@ 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+= --target-os=mingw32 --enable-memalign-hack --cpu=i686 --arch=i686 --disable-debug FFMPEGCONF+= --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 else
FFMPEGCONF+= --enable-libmp3lame --enable-libfaac FFMPEGCONF+= --enable-mp3lame --enable-faac
endif endif
ifdef HAVE_BEOS ifdef HAVE_BEOS
...@@ -133,7 +133,7 @@ endif ...@@ -133,7 +133,7 @@ endif
# *************************************************************************** # ***************************************************************************
ifdef HAVE_DARWIN_OS ifdef HAVE_DARWIN_OS
all: .autoconf .gnumake .automake .libtool .intl .pkgcfg .freetype .fribidi \ all: .autoconf .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 \
...@@ -321,24 +321,6 @@ CLEAN_FILE += .autoconf ...@@ -321,24 +321,6 @@ 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
# *************************************************************************** # ***************************************************************************
...@@ -941,24 +923,19 @@ DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 ...@@ -941,24 +923,19 @@ DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
ifdef SVN ifdef SVN
ffmpeg: ffmpeg:
$(SVN) co $(FFMPEG_SVN) ffmpeg -r 12920 $(SVN) co $(FFMPEG_SVN) ffmpeg -r 7407
(cd $@; patch -p 0 < ../Patches/ffmpeg-swscale-headers.patch)
ifeq ($(HOST),i586-pc-beos) ifeq ($(HOST),i586-pc-beos)
(cd $@; patch -p0 < ../Patches/ffmpeg-svn-beos.patch) (cd $@; patch -p0 < ../Patches/ffmpeg-svn-beos.patch)
endif endif
ifdef HAVE_WINCE ifdef HAVE_WINCE
patch -p1 < Patches/ffmpeg-svn-wince.patch patch -p1 < Patches/ffmpeg-svn-wince.patch
endif endif
ifdef HAVE_BEOS ifdef HAVE_WIN32
(cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch) (cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch)
endif endif
ifdef HAVE_DARWIN_OS ifdef HAVE_BEOS
(cd $@; patch -p0 < ../Patches/ffmpeg-macosx-intel-mmx.patch) (cd $@; patch -p0 < ../Patches/ffmpeg-alignment.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 endif
else else
...@@ -977,7 +954,7 @@ else ...@@ -977,7 +954,7 @@ 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-postproc --disable-vhook --disable-ffserver --disable-ffmpeg --disable-ffplay --disable-devices --disable-protocols && make && make install-libs install-headers) (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)
touch $@ touch $@
ifdef SVN ifdef SVN
......
Index: swscale.c
===================================================================
--- swscale.c (revision 26515)
+++ swscale.c (working copy)
@@ -880,7 +880,7 @@
#endif
#ifdef ARCH_POWERPC
-#if (defined (HAVE_ALTIVEC) || defined (RUNTIME_CPUDETECT)) && defined (CONFIG_GPL)
+#if (defined (HAVE_ALTIVEC)) && defined (CONFIG_GPL)
#define COMPILE_ALTIVEC
#endif //HAVE_ALTIVEC
#endif //ARCH_POWERPC
@@ -1553,11 +1553,13 @@
#else
#ifdef ARCH_POWERPC
+#ifdef COMPILE_ALTIVEC
if (flags & SWS_CPU_CAPS_ALTIVEC)
return swScale_altivec;
else
return swScale_C;
#endif
+#endif
return swScale_C;
#endif /* defined(ARCH_X86) */
#else //RUNTIME_CPUDETECT
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
...@@ -32,8 +32,6 @@ PERL_URL=http://ftp.funet.fi/pub/CPAN/src/perl-$(PERL_VERSION).tar.gz ...@@ -32,8 +32,6 @@ 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