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:
* Updated libxml2 on Windows and Mac OS X (CVE-2007-6284)
Goodies:
* Updated FFmpeg, libebml and libmatroska on Mac OS X.
Speed and feature updates.
* Updated libebml and libmatroska on Mac OS X. Reliability improvements.
Changes between 0.8.6f and 0.8.6g:
----------------------------------
......
......@@ -105,14 +105,14 @@ endif
#
ifdef HAVE_WIN32
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
ifdef HAVE_WINCE
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
else
FFMPEGCONF+= --enable-libmp3lame --enable-libfaac
FFMPEGCONF+= --enable-mp3lame --enable-faac
endif
ifdef HAVE_BEOS
......@@ -133,7 +133,7 @@ endif
# ***************************************************************************
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 \
.FLAC .speex .shout .faad .faac .lame .twolame .ebml .matroska .ffmpeg \
.dvdcss .dvdnav .dvdread .dvbpsi .live .x264 .caca .mod \
......@@ -321,24 +321,6 @@ CLEAN_FILE += .autoconf
CLEAN_PKG += autoconf
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
# ***************************************************************************
......@@ -941,24 +923,19 @@ DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
ifdef SVN
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)
(cd $@; patch -p0 < ../Patches/ffmpeg-svn-beos.patch)
endif
ifdef HAVE_WINCE
patch -p1 < Patches/ffmpeg-svn-wince.patch
endif
ifdef HAVE_BEOS
ifdef HAVE_WIN32
(cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch)
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
ifdef HAVE_BEOS
(cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch)
endif
else
......@@ -977,7 +954,7 @@ else
.ffmpeg: ffmpeg .faac .lame
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 $@
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
# we have to use a newer though, because bootstrap won't work otherwise
AUTOCONF_VERSION=2.59
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_URL=$(GNU)/libtool/libtool-$(LIBTOOL_VERSION).tar.gz
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