diff options
author | prigaux <[email protected]> | 2007-03-06 21:15:55 +0000 |
---|---|---|
committer | prigaux <[email protected]> | 2007-03-06 21:15:55 +0000 |
commit | c4a642b4648d486777af91ccc2894355df447089 (patch) | |
tree | 4ff9eee3e39a530cb649d9db43456e0ab3d712a3 /contrib | |
parent | ff5ed5d2a2009504f1da3cf348689a59a82b27f1 (diff) |
Merge the 5.1 branch into the trunk.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@422 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/Jamfile | 109 | ||||
-rw-r--r-- | contrib/Makefile | 41 | ||||
-rw-r--r-- | contrib/patch-ffmpeg-macintel.patch | 563 | ||||
-rw-r--r-- | contrib/patch-libdvdread.patch | 10 | ||||
-rw-r--r-- | contrib/patch-libquicktime.patch | 76 | ||||
-rw-r--r-- | contrib/patch-mpeg4ip.patch | 23 | ||||
-rw-r--r-- | contrib/patch-x264-linux.patch | 194 | ||||
-rw-r--r-- | contrib/version_a52dec.txt | 2 | ||||
-rw-r--r-- | contrib/version_faac.txt | 2 | ||||
-rw-r--r-- | contrib/version_ffmpeg.txt | 2 | ||||
-rw-r--r-- | contrib/version_lame.txt | 2 | ||||
-rw-r--r-- | contrib/version_libdvdcss.txt | 2 | ||||
-rw-r--r-- | contrib/version_libdvdread.txt | 2 | ||||
-rw-r--r-- | contrib/version_libogg.txt | 2 | ||||
-rw-r--r-- | contrib/version_libsamplerate.txt | 2 | ||||
-rw-r--r-- | contrib/version_libvorbis.txt | 2 | ||||
-rw-r--r-- | contrib/version_mpeg2dec.txt | 2 | ||||
-rw-r--r-- | contrib/version_mpeg4ip.txt | 2 | ||||
-rw-r--r-- | contrib/version_qt.txt | 1 | ||||
-rw-r--r-- | contrib/version_x264.txt | 2 | ||||
-rw-r--r-- | contrib/version_xvidcore.txt | 2 | ||||
-rw-r--r-- | contrib/version_zlib.txt | 1 |
22 files changed, 451 insertions, 593 deletions
diff --git a/contrib/Jamfile b/contrib/Jamfile index 94016f02f..331bd3032 100644 --- a/contrib/Jamfile +++ b/contrib/Jamfile @@ -66,8 +66,8 @@ actions LibAvCodec cd `dirname $(>)` && CONTRIB=`pwd` && rm -rf ffmpeg && tar xzf ffmpeg.tar.gz && cd ffmpeg && $(FFMPEG_PATCH) && - ./configure --prefix=$CONTRIB $(FFMPEG_OPTIONS) --enable-gpl --disable-audio-beos && - make lib && make install-libs install-headers && + ./configure --prefix=$CONTRIB $(FFMPEG_OPTIONS) --enable-gpl --disable-audio-beos --enable-shared --enable-static&& + make && make install && strip -S $CONTRIB/lib/libavcodec.a } Wget $(SUBDIR)/ffmpeg.tar.gz : $(SUBDIR)/version_ffmpeg.txt ; @@ -109,7 +109,8 @@ if $(OS) != CYGWIN # libdvdread rule LibDvdRead { - LIBDVDREAD_PATCH = "patch -p1 < ../patch-libdvdread.patch" ; + # Not needed anymore since Clee fixed the problem in dvd.c + # LIBDVDREAD_PATCH = "patch -p1 < ../patch-libdvdread.patch" ; Depends $(<) : $(>) ; Depends lib : $(<) ; } @@ -119,7 +120,7 @@ if $(OS) != CYGWIN { cd `dirname $(>)` && CONTRIB=`pwd` && rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread && - $(LIBDVDREAD_PATCH) && + # $(LIBDVDREAD_PATCH) && ./configure --prefix=$CONTRIB --disable-shared --with-libdvdcss=$CONTRIB && make && make install && strip -S $CONTRIB/lib/libdvdread.a @@ -132,7 +133,7 @@ else { { cd `dirname $(>)` && CONTRIB=`pwd` && rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread && - $(LIBDVDREAD_PATCH) && + # $(LIBDVDREAD_PATCH) && ./configure --prefix=$CONTRIB --disable-shared && make && make install && strip -S $CONTRIB/lib/libdvdread.a @@ -151,7 +152,7 @@ actions LibFaac { cd `dirname $(>)` && CONTRIB=`pwd` && rm -rf faac && tar xzf faac.tar.gz && cd faac && - ./configure --prefix=$CONTRIB --disable-shared && + ./configure --prefix=$CONTRIB --enable-shared --enable-static && make && make install && strip -S $CONTRIB/lib/libfaac.a } @@ -187,7 +188,8 @@ if $(OS) != CYGWIN { cd `dirname $(>)` && CONTRIB=`pwd` && rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip && - ./bootstrap && make -C lib/mp4v2 libmp4v2.la && + patch -p1 < ../patch-mpeg4ip.patch && + ./bootstrap --disable-mp3lame --disable-faac --disable-x264 --disable-server --disable-player && make -C lib/mp4v2 libmp4v2.la && cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib && cp mpeg4ip_config.h include/mpeg4ip.h include/mpeg4ip_version.h \ include/mpeg4ip_win32.h lib/mp4v2/*.h $CONTRIB/include && @@ -200,6 +202,7 @@ else { cd `dirname $(>)` && CONTRIB=`pwd` && rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip && + patch -p1 < ../patch-mpeg4ip.patch && patch -p1 < ../patch_mpeg4ip_cygwin.patch && ./bootstrap && make -C lib/mp4v2 libmp4v2.la && cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib && cp mpeg4ip_config.h include/mpeg4ip.h include/mpeg4ip_version.h \ @@ -302,6 +305,10 @@ rule LibX264 { LIBX264_PATCH = " patch -p1 < ../patch-x264-cygwin.patch && " ; } + else if $(OS) = LINUX + { + LIBX264_PATCH = " patch -p1 < ../patch-x264-linux.patch && " ; + } Depends $(<) : $(>) ; Depends lib : $(<) ; } @@ -343,3 +350,91 @@ actions LibXvidCore } Wget $(SUBDIR)/xvidcore.tar.gz : $(SUBDIR)/version_xvidcore.txt ; LibXvidCore $(SUBDIR)/lib/libxvidcore.a : $(SUBDIR)/xvidcore.tar.gz ; + +# zlib +if $(OS) = CYGWIN +{ +rule Zlib +{ + Depends $(<) : $(>) ; + Depends lib : $(<) ; +} +actions Zlib +{ + cd `dirname $(>)` && CONTRIB=`pwd` && + rm -rf zlib && tar xzf zlib.tar.gz && + cd zlib && + ./configure --prefix=$CONTRIB && make && make install && + strip -S $CONTRIB/lib/libz.a +} +Wget $(SUBDIR)/zlib.tar.gz : $(SUBDIR)/version_zlib.txt ; +Zlib $(SUBDIR)/lib/libz.a : $(SUBDIR)/zlib.tar.gz ; +} + +#libquicktime don't build on Cygwin! Do we really need it? +if $(OS) != CYGWIN +{ + # libquicktime + rule LibQT + { + + if $(OS) = MACOSX + { + POST_LibQT = "cd plugins/faac && " ; + POST_LibQT += "gcc -flat_namespace -undefined suppress -o .libs/lqt_faac.so -bundle .libs/faac.o .libs/lqt_faac.o $CONTRIB/lib/libfaac.a ../../src/.libs/libquicktime.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ; + POST_LibQT += "cp .libs/lqt_faac.so $CONTRIB/lib/libquicktime && " ; + POST_LibQT += "cd ../audiocodec && gcc -flat_namespace -undefined suppress -o .libs/lqt_audiocodec.so -bundle .libs/ima4.o .libs/pcm.o .libs/lqt_audiocodec.o ../../src/.libs/libquicktime.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ; + POST_LibQT += "cp .libs/lqt_audiocodec.so $CONTRIB/lib/libquicktime && " ; + POST_LibQT += "cd ../rtjpeg && " ; + POST_LibQT += "gcc -flat_namespace -undefined suppress -o .libs/lqt_rtjpeg.so -bundle .libs/rtjpeg_codec.o .libs/lqt_rtjpeg.o .libs/RTjpeg.o ../../src/.libs/libquicktime.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ; + POST_LibQT += "cp .libs/lqt_rtjpeg.so $CONTRIB/lib/libquicktime && " ; + POST_LibQT += "cd ../videocodec && " ; + POST_LibQT += "gcc -flat_namespace -undefined suppress -o .libs/lqt_videocodec.so -bundle .libs/raw.o .libs/v210.o .libs/v308.o .libs/v408.o .libs/v410.o .libs/yuv2.o .libs/yuv4.o .libs/yv12.o .libs/lqt_videocodec.o ../../src/.libs/libquicktime.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ; + POST_LibQT += "cp .libs/lqt_videocodec.so $CONTRIB/lib/libquicktime && " ; + POST_LibQT += "cd ../lame && " ; + POST_LibQT += "gcc -flat_namespace -undefined suppress -o .libs/lqt_lame.so -bundle .libs/lame_codec.o .libs/lqt_lame.o ../../src/.libs/libquicktime.a -all_load $CONTRIB/lib/libmp3lame.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ; + POST_LibQT += "cp .libs/lqt_lame.so $CONTRIB/lib/libquicktime && cd ../x264 && " ; + POST_LibQT += "gcc -flat_namespace -undefined suppress -read_only_relocs suppress -o .libs/lqt_x264.so -bundle .libs/x264.o .libs/lqt_x264.o ../../src/.libs/libquicktime.a $CONTRIB/lib/libx264.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ; + POST_LibQT += "cp .libs/lqt_x264.so $CONTRIB/lib/libquicktime && cd ../ffmpeg && " ; + POST_LibQT += "gcc -flat_namespace -undefined suppress -read_only_relocs suppress -o .libs/lqt_ffmpeg.so -bundle .libs/lqt_ffmpeg.o .libs/audio.o .libs/video.o .libs/params.o ../../src/.libs/libquicktime.a $CONTRIB/lib/libavcodec.a $CONTRIB/lib/libavutil.a $CONTRIB/lib/libavformat.a -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lm -lz -ldl && " ; + POST_LibQT += "cp .libs/lqt_ffmpeg.so $CONTRIB/lib/libquicktime && cd ../.. && " ; + } + else + { + # Rebuild plugins using static libraries to reduice dependencies at runtime. + POST_LibQT = "cd plugins/faac && " ; + POST_LibQT += "gcc -shared .libs/faac.o .libs/lqt_faac.o $CONTRIB/libquicktime/src/.libs/libquicktime.a -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L$CONTRIB/lib -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_faac.so -o .libs/lqt_faac.so && " ; + POST_LibQT += "cp .libs/lqt_faac.so $CONTRIB/lib/libquicktime && " ; + POST_LibQT += "cd ../audiocodec && gcc -shared .libs/ima4.o .libs/pcm.o .libs/lqt_audiocodec.o ../../src/.libs/libquicktime.a -Wl,--rpath -Wl,$CONTRIB//libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB//lib -L$CONTRIB//lib -L$CONTRIB//libquicktime/src/.libs -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_audiocodec.so -o .libs/lqt_audiocodec.so && " ; + POST_LibQT += "cp .libs/lqt_audiocodec.so $CONTRIB/lib/libquicktime && " ; + POST_LibQT += "cd ../rtjpeg && " ; + POST_LibQT += "gcc -shared .libs/rtjpeg_codec.o .libs/lqt_rtjpeg.o .libs/RTjpeg.o ../../src/.libs/libquicktime.a -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_rtjpeg.so -o .libs/lqt_rtjpeg.so && " ; + POST_LibQT += "cp .libs/lqt_rtjpeg.so $CONTRIB/lib/libquicktime && " ; + POST_LibQT += "cd ../videocodec && " ; + POST_LibQT += "gcc -shared .libs/raw.o .libs/v210.o .libs/v308.o .libs/v408.o .libs/v410.o .libs/yuv2.o .libs/yuv4.o .libs/yv12.o .libs/lqt_videocodec.o ../../src/.libs/libquicktime.a -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_videocodec.so -o .libs/lqt_videocodec.so && " ; + POST_LibQT += "cp .libs/lqt_videocodec.so $CONTRIB/lib/libquicktime && " ; + POST_LibQT += "cd ../lame && " ; + POST_LibQT += "gcc -shared .libs/lame_codec.o .libs/lqt_lame.o $CONTRIB/libquicktime/src/.libs/libquicktime.a -Wl,--whole-archive $CONTRIB/lib/libmp3lame.a -Wl,--no-whole-archive -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L/home/pri/Desktop/0.8.0b2_5.1_383/contrib/lib -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_lame.so -o .libs/lqt_lame.so && " ; + POST_LibQT += "cp .libs/lqt_lame.so $CONTRIB/lib/libquicktime && cd ../x264 && " ; + POST_LibQT += "gcc -shared .libs/x264.o .libs/lqt_x264.o $CONTRIB/libquicktime/src/.libs/libquicktime.a $CONTRIB/lib/libx264.a -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L$CONTRIB/lib -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_x264.so -o .libs/lqt_x264.so && " ; + POST_LibQT += "cp .libs/lqt_x264.so $CONTRIB/lib/libquicktime && cd ../ffmpeg && " ; + POST_LibQT += "gcc -shared .libs/lqt_ffmpeg.o .libs/audio.o .libs/video.o .libs/params.o $CONTRIB/lib/libavcodec.a $CONTRIB/lib/libavutil.a $CONTRIB/lib/libavformat.a $CONTRIB/libquicktime/src/.libs/libquicktime.a -Wl,--rpath -Wl,$CONTRIB/libquicktime/src/.libs -Wl,--rpath -Wl,$CONTRIB/lib -L$CONTRIB/lib -lpthread -lm -lz -ldl -Wl,-soname -Wl,lqt_ffmpeg.so -o .libs/lqt_ffmpeg.so && " ; + POST_LibQT += "cp .libs/lqt_ffmpeg.so $CONTRIB/lib/libquicktime && cd ../.. && " ; + } + + Depends $(<) : $(>) ; + Depends lib : $(<) ; + } + actions LibQT + { + cd `dirname $(>)` && CONTRIB=`pwd` && + rm -rf libquicktime && tar xzf libquicktime.tar.gz && + export LDFLAGS="$LDFLAGS -L$CONTRIB/lib -L$CONTRIB/libquicktime/src/.libs -I$CONTRIB/include" && export CPPFLAGS="$CPPFLAGS -I$CONTRIB/include" + cd libquicktime && patch -p1 < ../patch-libquicktime.patch && + ./configure --prefix=$CONTRIB --enable-shared --enable-static --enable-gpl --with-faac=$CONTRIB --with-x264=$CONTRIB --with-avcodec=$CONTRIB && make && make install && $(POST_LibQT) + strip -S $CONTRIB/lib/libquicktime.a && touch $CONTRIB/.contrib + } + Wget $(SUBDIR)/libquicktime.tar.gz : $(SUBDIR)/version_qt.txt ; + LibQT $(SUBDIR)/lib/libquicktime.a : $(SUBDIR)/libquicktime.tar.gz ; + +} diff --git a/contrib/Makefile b/contrib/Makefile new file mode 100644 index 000000000..b39c53ea6 --- /dev/null +++ b/contrib/Makefile @@ -0,0 +1,41 @@ +# Contrib Makefile + +SYSTEM = $(shell uname -s) + +# Special case for Mac OS X: everything is handled from the Xcode project +ifeq ($(SYSTEM),Darwin) + +all: + ( echo "MacOs X doesn't use this makefile, to build the contrib please use ../jam" ; false ) + +endif + +ifeq ($(SYSTEM),Linux) + +all: .contrib + +.contrib: + ( cd .. ; ./configure ; cd contrib ; cp -f ../config.jam . ; jam ) + +clean: + ( echo "Do a make mrproper to remove the contrib libraries ) + +mrproper: + (rm -rf lib ; rm -rf include ) + +endif + +ifeq ($(SYSTEM),CYGWIN_NT-5.1) + +all: .contrib + +.contrib: + ( cd .. ; ./configure ; cd contrib ; cp -f ../config.jam . ; jam.exe ) + +clean: + ( echo "Do a make mrproper to remove the contrib libraries ) + +mrproper: clean + (rm -rf lib ; rm -rf include ; rm -f .contrib) + +endif diff --git a/contrib/patch-ffmpeg-macintel.patch b/contrib/patch-ffmpeg-macintel.patch deleted file mode 100644 index ecc0dc6c4..000000000 --- a/contrib/patch-ffmpeg-macintel.patch +++ /dev/null @@ -1,563 +0,0 @@ -diff -ru ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx.c ffmpeg-20060326/libavcodec/i386/dsputil_mmx.c ---- ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx.c 2006-03-26 22:04:53.000000000 +0200 -+++ ffmpeg-20060326/libavcodec/i386/dsputil_mmx.c 2006-03-26 22:13:32.000000000 +0200 -@@ -52,7 +52,7 @@ - static const uint64_t ff_pb_3F attribute_used __attribute__ ((aligned(8))) = 0x3F3F3F3F3F3F3F3FULL; - static const uint64_t ff_pb_FC attribute_used __attribute__ ((aligned(8))) = 0xFCFCFCFCFCFCFCFCULL; - --#define JUMPALIGN() __asm __volatile (".balign 8"::) -+#define JUMPALIGN() __asm __volatile (".p2align 3"::) - #define MOVQ_ZERO(regd) __asm __volatile ("pxor %%" #regd ", %%" #regd ::) - - #define MOVQ_WONE(regd) \ -@@ -195,7 +195,7 @@ - asm volatile( - "mov $-128, %%"REG_a" \n\t" - "pxor %%mm7, %%mm7 \n\t" -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%0), %%mm0 \n\t" - "movq (%0, %2), %%mm2 \n\t" -@@ -223,7 +223,7 @@ - asm volatile( - "pxor %%mm7, %%mm7 \n\t" - "mov $-128, %%"REG_a" \n\t" -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%0), %%mm0 \n\t" - "movq (%1), %%mm2 \n\t" -@@ -366,7 +366,7 @@ - { - __asm __volatile( - "lea (%3, %3), %%"REG_a" \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movd (%1), %%mm0 \n\t" - "movd (%1, %3), %%mm1 \n\t" -@@ -392,7 +392,7 @@ - { - __asm __volatile( - "lea (%3, %3), %%"REG_a" \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movq (%1), %%mm0 \n\t" - "movq (%1, %3), %%mm1 \n\t" -@@ -418,7 +418,7 @@ - { - __asm __volatile( - "lea (%3, %3), %%"REG_a" \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movq (%1), %%mm0 \n\t" - "movq 8(%1), %%mm4 \n\t" -diff -ru ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx_avg.h ffmpeg-20060326/libavcodec/i386/dsputil_mmx_avg.h ---- ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx_avg.h 2006-03-26 22:04:53.000000000 +0200 -+++ ffmpeg-20060326/libavcodec/i386/dsputil_mmx_avg.h 2006-03-26 22:13:51.000000000 +0200 -@@ -754,7 +754,7 @@ - "lea (%3, %3), %%"REG_a" \n\t" - "movq (%1), %%mm0 \n\t" - PAVGB" 1(%1), %%mm0 \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movq (%1, %%"REG_a"), %%mm2 \n\t" - "movq (%1, %3), %%mm1 \n\t" -diff -ru ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx_rnd.h ffmpeg-20060326/libavcodec/i386/dsputil_mmx_rnd.h ---- ffmpeg-20060326-bak/libavcodec/i386/dsputil_mmx_rnd.h 2006-03-26 22:04:53.000000000 +0200 -+++ ffmpeg-20060326/libavcodec/i386/dsputil_mmx_rnd.h 2006-03-26 22:15:09.000000000 +0200 -@@ -28,7 +28,7 @@ - MOVQ_BFE(mm6); - __asm __volatile( - "lea (%3, %3), %%"REG_a" \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movq (%1), %%mm0 \n\t" - "movq 1(%1), %%mm1 \n\t" -@@ -69,7 +69,7 @@ - "movq %%mm4, (%3) \n\t" - "add %5, %3 \n\t" - "decl %0 \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movq (%1), %%mm0 \n\t" - "movq (%2), %%mm1 \n\t" -@@ -110,7 +110,7 @@ - MOVQ_BFE(mm6); - __asm __volatile( - "lea (%3, %3), %%"REG_a" \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movq (%1), %%mm0 \n\t" - "movq 1(%1), %%mm1 \n\t" -@@ -168,7 +168,7 @@ - "movq %%mm5, 8(%3) \n\t" - "add %5, %3 \n\t" - "decl %0 \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movq (%1), %%mm0 \n\t" - "movq (%2), %%mm1 \n\t" -@@ -206,7 +206,7 @@ - __asm __volatile( - "lea (%3, %3), %%"REG_a" \n\t" - "movq (%1), %%mm0 \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movq (%1, %3), %%mm1 \n\t" - "movq (%1, %%"REG_a"),%%mm2 \n\t" -@@ -246,7 +246,7 @@ - "paddusw %%mm1, %%mm5 \n\t" - "xor %%"REG_a", %%"REG_a" \n\t" - "add %3, %1 \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movq (%1, %%"REG_a"), %%mm0 \n\t" - "movq 1(%1, %%"REG_a"), %%mm2 \n\t" -@@ -458,7 +458,7 @@ - __asm __volatile( - "lea (%3, %3), %%"REG_a" \n\t" - "movq (%1), %%mm0 \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movq (%1, %3), %%mm1 \n\t" - "movq (%1, %%"REG_a"), %%mm2 \n\t" -@@ -509,7 +509,7 @@ - "paddusw %%mm1, %%mm5 \n\t" - "xor %%"REG_a", %%"REG_a" \n\t" - "add %3, %1 \n\t" -- ".balign 8 \n\t" -+ ".p2align 3 \n\t" - "1: \n\t" - "movq (%1, %%"REG_a"), %%mm0 \n\t" - "movq 1(%1, %%"REG_a"), %%mm2 \n\t" -diff -ru ffmpeg-20060326-bak/libavcodec/i386/fdct_mmx.c ffmpeg-20060326/libavcodec/i386/fdct_mmx.c ---- ffmpeg-20060326-bak/libavcodec/i386/fdct_mmx.c 2006-03-26 22:04:53.000000000 +0200 -+++ ffmpeg-20060326/libavcodec/i386/fdct_mmx.c 2006-03-26 22:19:01.000000000 +0200 -@@ -350,61 +350,61 @@ - - static always_inline void fdct_row_sse2(const int16_t *in, int16_t *out) - { -+#define FDCT_ROW_SSE2_H1(i,t) \ -+ "movq " #i "(%0), %%xmm2 \n\t" \ -+ "movq " #i "+8(%0), %%xmm0 \n\t" \ -+ "movdqa " #t "+32(%1), %%xmm3 \n\t" \ -+ "movdqa " #t "+48(%1), %%xmm7 \n\t" \ -+ "movdqa " #t "(%1), %%xmm4 \n\t" \ -+ "movdqa " #t "+16(%1), %%xmm5 \n\t" -+ -+#define FDCT_ROW_SSE2_H2(i,t) \ -+ "movq " #i "(%0), %%xmm2 \n\t" \ -+ "movq " #i "+8(%0), %%xmm0 \n\t" \ -+ "movdqa " #t "+32(%1), %%xmm3 \n\t" \ -+ "movdqa " #t "+48(%1), %%xmm7 \n\t" -+ -+#define FDCT_ROW_SSE2(i) \ -+ "movq %%xmm2, %%xmm1 \n\t" \ -+ "pshuflw $27, %%xmm0, %%xmm0 \n\t" \ -+ "paddsw %%xmm0, %%xmm1 \n\t" \ -+ "psubsw %%xmm0, %%xmm2 \n\t" \ -+ "punpckldq %%xmm2, %%xmm1 \n\t" \ -+ "pshufd $78, %%xmm1, %%xmm2 \n\t" \ -+ "pmaddwd %%xmm2, %%xmm3 \n\t" \ -+ "pmaddwd %%xmm1, %%xmm7 \n\t" \ -+ "pmaddwd %%xmm5, %%xmm2 \n\t" \ -+ "pmaddwd %%xmm4, %%xmm1 \n\t" \ -+ "paddd %%xmm7, %%xmm3 \n\t" \ -+ "paddd %%xmm2, %%xmm1 \n\t" \ -+ "paddd %%xmm6, %%xmm3 \n\t" \ -+ "paddd %%xmm6, %%xmm1 \n\t" \ -+ "psrad %3, %%xmm3 \n\t" \ -+ "psrad %3, %%xmm1 \n\t" \ -+ "packssdw %%xmm3, %%xmm1 \n\t" \ -+ "movdqa %%xmm1, " #i "(%4) \n\t" -+ - asm volatile( -- ".macro FDCT_ROW_SSE2_H1 i t \n\t" -- "movq \\i(%0), %%xmm2 \n\t" -- "movq \\i+8(%0), %%xmm0 \n\t" -- "movdqa \\t+32(%1), %%xmm3 \n\t" -- "movdqa \\t+48(%1), %%xmm7 \n\t" -- "movdqa \\t(%1), %%xmm4 \n\t" -- "movdqa \\t+16(%1), %%xmm5 \n\t" -- ".endm \n\t" -- ".macro FDCT_ROW_SSE2_H2 i t \n\t" -- "movq \\i(%0), %%xmm2 \n\t" -- "movq \\i+8(%0), %%xmm0 \n\t" -- "movdqa \\t+32(%1), %%xmm3 \n\t" -- "movdqa \\t+48(%1), %%xmm7 \n\t" -- ".endm \n\t" -- ".macro FDCT_ROW_SSE2 i \n\t" -- "movq %%xmm2, %%xmm1 \n\t" -- "pshuflw $27, %%xmm0, %%xmm0 \n\t" -- "paddsw %%xmm0, %%xmm1 \n\t" -- "psubsw %%xmm0, %%xmm2 \n\t" -- "punpckldq %%xmm2, %%xmm1 \n\t" -- "pshufd $78, %%xmm1, %%xmm2 \n\t" -- "pmaddwd %%xmm2, %%xmm3 \n\t" -- "pmaddwd %%xmm1, %%xmm7 \n\t" -- "pmaddwd %%xmm5, %%xmm2 \n\t" -- "pmaddwd %%xmm4, %%xmm1 \n\t" -- "paddd %%xmm7, %%xmm3 \n\t" -- "paddd %%xmm2, %%xmm1 \n\t" -- "paddd %%xmm6, %%xmm3 \n\t" -- "paddd %%xmm6, %%xmm1 \n\t" -- "psrad %3, %%xmm3 \n\t" -- "psrad %3, %%xmm1 \n\t" -- "packssdw %%xmm3, %%xmm1 \n\t" -- "movdqa %%xmm1, \\i(%4) \n\t" -- ".endm \n\t" - "movdqa (%2), %%xmm6 \n\t" -- "FDCT_ROW_SSE2_H1 0 0 \n\t" -- "FDCT_ROW_SSE2 0 \n\t" -- "FDCT_ROW_SSE2_H2 64 0 \n\t" -- "FDCT_ROW_SSE2 64 \n\t" -- -- "FDCT_ROW_SSE2_H1 16 64 \n\t" -- "FDCT_ROW_SSE2 16 \n\t" -- "FDCT_ROW_SSE2_H2 112 64 \n\t" -- "FDCT_ROW_SSE2 112 \n\t" -- -- "FDCT_ROW_SSE2_H1 32 128 \n\t" -- "FDCT_ROW_SSE2 32 \n\t" -- "FDCT_ROW_SSE2_H2 96 128 \n\t" -- "FDCT_ROW_SSE2 96 \n\t" -- -- "FDCT_ROW_SSE2_H1 48 192 \n\t" -- "FDCT_ROW_SSE2 48 \n\t" -- "FDCT_ROW_SSE2_H2 80 192 \n\t" -- "FDCT_ROW_SSE2 80 \n\t" -+ FDCT_ROW_SSE2_H1(0,0) -+ FDCT_ROW_SSE2(0) -+ FDCT_ROW_SSE2_H2(64,0) -+ FDCT_ROW_SSE2(64) -+ -+ FDCT_ROW_SSE2_H1(16,64) -+ FDCT_ROW_SSE2(16) -+ FDCT_ROW_SSE2_H2(112,64) -+ FDCT_ROW_SSE2(112) -+ -+ FDCT_ROW_SSE2_H1(32,128) -+ FDCT_ROW_SSE2(32) -+ FDCT_ROW_SSE2_H2(96,128) -+ FDCT_ROW_SSE2(96) -+ -+ FDCT_ROW_SSE2_H1(48,192) -+ FDCT_ROW_SSE2(48) -+ FDCT_ROW_SSE2_H2(80,192) -+ FDCT_ROW_SSE2(80) - : - : "r" (in), "r" (tab_frw_01234567_sse2.tab_frw_01234567_sse2), "r" (fdct_r_row_sse2.fdct_r_row_sse2), "i" (SHIFT_FRW_ROW), "r" (out) - ); -diff -ru ffmpeg-20060326-bak/libavcodec/i386/idct_mmx_xvid.c ffmpeg-20060326/libavcodec/i386/idct_mmx_xvid.c ---- ffmpeg-20060326-bak/libavcodec/i386/idct_mmx_xvid.c 2006-03-26 22:04:53.000000000 +0200 -+++ ffmpeg-20060326/libavcodec/i386/idct_mmx_xvid.c 2006-03-26 22:20:28.000000000 +0200 -@@ -295,17 +295,17 @@ - "movq 8+" #A1 ",%%mm1 \n\t"/* 1 ; x7 x6 x5 x4*/\ - "movq %%mm0,%%mm2 \n\t"/* 2 ; x3 x2 x1 x0*/\ - "movq " #A3 ",%%mm3 \n\t"/* 3 ; w05 w04 w01 w00*/\ -- "pshufw $0b10001000,%%mm0,%%mm0 \n\t"/* x2 x0 x2 x0*/\ -+ "pshufw $0x88,%%mm0,%%mm0 \n\t"/* x2 x0 x2 x0*/\ - "movq 8+" #A3 ",%%mm4 \n\t"/* 4 ; w07 w06 w03 w02*/\ - "movq %%mm1,%%mm5 \n\t"/* 5 ; x7 x6 x5 x4*/\ - "pmaddwd %%mm0,%%mm3 \n\t"/* x2*w05+x0*w04 x2*w01+x0*w00*/\ - "movq 32+" #A3 ",%%mm6 \n\t"/* 6 ; w21 w20 w17 w16*/\ -- "pshufw $0b10001000,%%mm1,%%mm1 \n\t"/* x6 x4 x6 x4*/\ -+ "pshufw $0x88,%%mm1,%%mm1 \n\t"/* x6 x4 x6 x4*/\ - "pmaddwd %%mm1,%%mm4 \n\t"/* x6*w07+x4*w06 x6*w03+x4*w02*/\ - "movq 40+" #A3 ",%%mm7 \n\t"/* 7 ; w23 w22 w19 w18*/\ -- "pshufw $0b11011101,%%mm2,%%mm2 \n\t"/* x3 x1 x3 x1*/\ -+ "pshufw $0xdd,%%mm2,%%mm2 \n\t"/* x3 x1 x3 x1*/\ - "pmaddwd %%mm2,%%mm6 \n\t"/* x3*w21+x1*w20 x3*w17+x1*w16*/\ -- "pshufw $0b11011101,%%mm5,%%mm5 \n\t"/* x7 x5 x7 x5*/\ -+ "pshufw $0xdd,%%mm5,%%mm5 \n\t"/* x7 x5 x7 x5*/\ - "pmaddwd %%mm5,%%mm7 \n\t"/* x7*w23+x5*w22 x7*w19+x5*w18*/\ - "paddd " #A4 ",%%mm3 \n\t"/* +%4*/\ - "pmaddwd 16+" #A3 ",%%mm0 \n\t"/* x2*w13+x0*w12 x2*w09+x0*w08*/\ -@@ -330,7 +330,7 @@ - "packssdw %%mm0,%%mm3 \n\t"/* 0 ; y3 y2 y1 y0*/\ - "packssdw %%mm4,%%mm7 \n\t"/* 4 ; y6 y7 y4 y5*/\ - "movq %%mm3, " #A2 " \n\t"/* 3 ; save y3 y2 y1 y0*/\ -- "pshufw $0b10110001,%%mm7,%%mm7 \n\t"/* y7 y6 y5 y4*/\ -+ "pshufw $0xb1,%%mm7,%%mm7 \n\t"/* y7 y6 y5 y4*/\ - "movq %%mm7,8 +" #A2 "\n\t"/* 7 ; save y7 y6 y5 y4*/\ - - -diff -ru ffmpeg-20060326-bak/libavcodec/i386/motion_est_mmx.c ffmpeg-20060326/libavcodec/i386/motion_est_mmx.c ---- ffmpeg-20060326-bak/libavcodec/i386/motion_est_mmx.c 2006-03-26 22:04:53.000000000 +0200 -+++ ffmpeg-20060326/libavcodec/i386/motion_est_mmx.c 2006-03-26 22:24:48.000000000 +0200 -@@ -34,7 +34,7 @@ - { - long len= -(stride*h); - asm volatile( -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%1, %%"REG_a"), %%mm0 \n\t" - "movq (%2, %%"REG_a"), %%mm2 \n\t" -@@ -70,7 +70,7 @@ - { - long len= -(stride*h); - asm volatile( -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%1, %%"REG_a"), %%mm0 \n\t" - "movq (%2, %%"REG_a"), %%mm2 \n\t" -@@ -92,7 +92,7 @@ - { - long len= -(stride*h); - asm volatile( -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%1, %%"REG_a"), %%mm0 \n\t" - "movq (%2, %%"REG_a"), %%mm2 \n\t" -@@ -118,7 +118,7 @@ - { //FIXME reuse src - long len= -(stride*h); - asm volatile( -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "movq "MANGLE(bone)", %%mm5 \n\t" - "1: \n\t" - "movq (%1, %%"REG_a"), %%mm0 \n\t" -@@ -155,7 +155,7 @@ - { - long len= -(stride*h); - asm volatile( -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%1, %%"REG_a"), %%mm0 \n\t" - "movq (%2, %%"REG_a"), %%mm1 \n\t" -@@ -193,7 +193,7 @@ - { - long len= -(stride*h); - asm volatile( -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%1, %%"REG_a"), %%mm0 \n\t" - "movq (%2, %%"REG_a"), %%mm1 \n\t" -diff -ru ffmpeg-20060326-bak/libavcodec/i386/mpegvideo_mmx.c ffmpeg-20060326/libavcodec/i386/mpegvideo_mmx.c ---- ffmpeg-20060326-bak/libavcodec/i386/mpegvideo_mmx.c 2006-03-26 22:04:53.000000000 +0200 -+++ ffmpeg-20060326/libavcodec/i386/mpegvideo_mmx.c 2006-03-26 22:25:09.000000000 +0200 -@@ -66,7 +66,7 @@ - "packssdw %%mm5, %%mm5 \n\t" - "psubw %%mm5, %%mm7 \n\t" - "pxor %%mm4, %%mm4 \n\t" -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%0, %3), %%mm0 \n\t" - "movq 8(%0, %3), %%mm1 \n\t" -@@ -129,7 +129,7 @@ - "packssdw %%mm5, %%mm5 \n\t" - "psubw %%mm5, %%mm7 \n\t" - "pxor %%mm4, %%mm4 \n\t" -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%0, %3), %%mm0 \n\t" - "movq 8(%0, %3), %%mm1 \n\t" -@@ -222,7 +222,7 @@ - "packssdw %%mm6, %%mm6 \n\t" - "packssdw %%mm6, %%mm6 \n\t" - "mov %3, %%"REG_a" \n\t" -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%0, %%"REG_a"), %%mm0 \n\t" - "movq 8(%0, %%"REG_a"), %%mm1 \n\t" -@@ -285,7 +285,7 @@ - "packssdw %%mm6, %%mm6 \n\t" - "packssdw %%mm6, %%mm6 \n\t" - "mov %3, %%"REG_a" \n\t" -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%0, %%"REG_a"), %%mm0 \n\t" - "movq 8(%0, %%"REG_a"), %%mm1 \n\t" -@@ -357,7 +357,7 @@ - "packssdw %%mm6, %%mm6 \n\t" - "packssdw %%mm6, %%mm6 \n\t" - "mov %3, %%"REG_a" \n\t" -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%0, %%"REG_a"), %%mm0 \n\t" - "movq 8(%0, %%"REG_a"), %%mm1 \n\t" -@@ -418,7 +418,7 @@ - "packssdw %%mm6, %%mm6 \n\t" - "packssdw %%mm6, %%mm6 \n\t" - "mov %3, %%"REG_a" \n\t" -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "movq (%0, %%"REG_a"), %%mm0 \n\t" - "movq 8(%0, %%"REG_a"), %%mm1 \n\t" -diff -ru ffmpeg-20060326-bak/libavcodec/i386/mpegvideo_mmx_template.c ffmpeg-20060326/libavcodec/i386/mpegvideo_mmx_template.c ---- ffmpeg-20060326-bak/libavcodec/i386/mpegvideo_mmx_template.c 2006-03-26 22:04:53.000000000 +0200 -+++ ffmpeg-20060326/libavcodec/i386/mpegvideo_mmx_template.c 2006-03-26 22:25:33.000000000 +0200 -@@ -111,7 +111,7 @@ - "pxor %%mm6, %%mm6 \n\t" - "psubw (%3), %%mm6 \n\t" // -bias[0] - "mov $-128, %%"REG_a" \n\t" -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "pxor %%mm1, %%mm1 \n\t" // 0 - "movq (%1, %%"REG_a"), %%mm0 \n\t" // block[i] -@@ -155,7 +155,7 @@ - "pxor %%mm7, %%mm7 \n\t" // 0 - "pxor %%mm4, %%mm4 \n\t" // 0 - "mov $-128, %%"REG_a" \n\t" -- ".balign 16 \n\t" -+ ".p2align 4 \n\t" - "1: \n\t" - "pxor %%mm1, %%mm1 \n\t" // 0 - "movq (%1, %%"REG_a"), %%mm0 \n\t" // block[i] -diff -ru ffmpeg-20060326-bak/libavcodec/i386/simple_idct_mmx.c ffmpeg-20060326/libavcodec/i386/simple_idct_mmx.c ---- ffmpeg-20060326-bak/libavcodec/i386/simple_idct_mmx.c 2006-03-26 22:04:53.000000000 +0200 -+++ ffmpeg-20060326/libavcodec/i386/simple_idct_mmx.c 2006-03-26 22:39:09.000000000 +0200 -@@ -459,10 +459,10 @@ - - - //IDCT( src0, src4, src1, src5, dst, rounder, shift) --COL_IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20) --COL_IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20) --COL_IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20) --COL_IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20) -+COL_IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20) -+COL_IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20) -+COL_IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20) -+COL_IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20) - - #else - -@@ -783,10 +783,10 @@ - - - //IDCT( src0, src4, src1, src5, dst, rounder, shift) --IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20) --IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20) --IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20) --IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20) -+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20) -+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20) -+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20) -+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20) - "jmp 9f \n\t" - - "#.balign 16 \n\t"\ -@@ -860,10 +860,10 @@ - "movd %%mm5, 80+" #dst " \n\t" - - //IDCT( src0, src4, src1, src5, dst, rounder, shift) --IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20) --IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20) --IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20) --IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20) -+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20) -+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20) -+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20) -+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20) - "jmp 9f \n\t" - - "#.balign 16 \n\t"\ -@@ -928,10 +928,10 @@ - - - //IDCT( src0, src4, src1, src5, dst, rounder, shift) --IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20) --IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20) --IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20) --IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20) -+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20) -+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20) -+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20) -+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20) - "jmp 9f \n\t" - - "#.balign 16 \n\t"\ -@@ -1007,10 +1007,10 @@ - "movd %%mm5, 80+" #dst " \n\t" - - //IDCT( src0, src4, src1, src5, dst, rounder, shift) --IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20) --IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20) --IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20) --IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20) -+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20) -+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20) -+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20) -+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20) - "jmp 9f \n\t" - - "#.balign 16 \n\t"\ -@@ -1073,10 +1073,10 @@ - - - //IDCT( src0, src4, src1, src5, dst, rounder, shift) --IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20) --IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20) --IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20) --IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20) -+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20) -+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20) -+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20) -+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20) - "jmp 9f \n\t" - - "#.balign 16 \n\t"\ -@@ -1141,9 +1141,9 @@ - - - //IDCT( src0, src4, src1, src5, dst, rounder, shift) --IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20) -+IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20) - //IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20) --IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20) -+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20) - //IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20) - "jmp 9f \n\t" - -@@ -1217,10 +1217,10 @@ - - - //IDCT( src0, src4, src1, src5, dst, rounder, shift) --IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20) --IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20) --IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20) --IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20) -+IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20) -+IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20) -+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20) -+IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20) - "jmp 9f \n\t" - - -@@ -1259,9 +1259,9 @@ - "movq %%mm0, 80+" #dst " \n\t" - - //IDCT( src0, src4, src1, src5, dst, rounder, shift) --IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20) -+IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20) - //IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20) --IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20) -+IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20) - //IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20) - - diff --git a/contrib/patch-libdvdread.patch b/contrib/patch-libdvdread.patch deleted file mode 100644 index 8ff5333b6..000000000 --- a/contrib/patch-libdvdread.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- libdvdread/dvdread/nav_read.c 2005-09-05 22:11:16.000000000 -0400 -+++ libdvdread-patched/dvdread/nav_read.c 2006-09-23 14:14:43.000000000 -0400 -@@ -204,6 +204,6 @@ - /* Asserts */ - - /* dsi dsi gi */ -- CHECK_VALUE(dsi->dsi_gi.zero1 == 0); -+// CHECK_VALUE(dsi->dsi_gi.zero1 == 0); - } - diff --git a/contrib/patch-libquicktime.patch b/contrib/patch-libquicktime.patch new file mode 100644 index 000000000..6e11f63d6 --- /dev/null +++ b/contrib/patch-libquicktime.patch @@ -0,0 +1,76 @@ +diff -Naur libquicktime/configure libquicktime_patched/configure +--- libquicktime/configure 2006-08-03 01:02:25.000000000 +0200 ++++ libquicktime_patched/configure 2007-02-21 16:16:22.000000000 +0100 +@@ -25564,7 +25564,7 @@ + + + +-have_libavcodec=false ++have_libavcodec="true" + + AVCODEC_BUILD="3277056" + +@@ -25656,6 +25656,8 @@ + fi + rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi ++have_libavcodec="true" ++avcodec_ok="true" + CFLAGS="$CFLAGS_save" + LIBS="$LIBS_save" + +@@ -26048,7 +26050,7 @@ + + + +-have_faac="false" ++have_faac="true" + FAAC_REQUIRED="1.24" + + +@@ -26134,6 +26136,7 @@ + + + ++have_faac="true" + + if test x$have_faac = xtrue; then + HAVE_FAAC_TRUE= +@@ -26261,7 +26264,7 @@ + + + +-have_x264="false" ++have_x264="true" + + if test $have_gpl = "true"; then + X264_REQUIRED="0.48" +@@ -26321,6 +26324,7 @@ + + fi + ++have_x264="true" + + if test x$have_x264 = xtrue; then + HAVE_X264_TRUE= +diff -Naur libquicktime/plugins/x264/x264.c libquicktime_patched/plugins/x264/x264.c +--- libquicktime/plugins/x264/x264.c 2006-07-25 13:35:15.000000000 +0200 ++++ libquicktime_patched/plugins/x264/x264.c 2007-02-21 16:14:11.000000000 +0100 +@@ -493,7 +493,7 @@ + { + /* Force ABR */ + codec->params.rc.i_rc_method = X264_RC_ABR; +- codec->params.rc.i_rf_constant = 0; ++ // codec->params.rc.i_rf_constant = 0; + if(codec->pass == 1) + { + /* Strings will be made private by x264 */ +@@ -655,7 +655,7 @@ + INTPARAM("x264_i_bitrate", codec->params.rc.i_bitrate); + + INTPARAM("x264_i_qp_constant", codec->params.rc.i_qp_constant); +- INTPARAM("x264_i_rf_constant", codec->params.rc.i_rf_constant); ++ // INTPARAM("x264_i_rf_constant", codec->params.rc.i_rf_constant); + INTPARAM("x264_i_qp_min", codec->params.rc.i_qp_min); + INTPARAM("x264_i_qp_max", codec->params.rc.i_qp_max); + INTPARAM("x264_i_qp_step", codec->params.rc.i_qp_step); diff --git a/contrib/patch-mpeg4ip.patch b/contrib/patch-mpeg4ip.patch new file mode 100644 index 000000000..8a55c5da2 --- /dev/null +++ b/contrib/patch-mpeg4ip.patch @@ -0,0 +1,23 @@ +diff -Naur mpeg4ip/lib/mp4v2/atom_tkhd.cpp mpeg4ip_patched/lib/mp4v2/atom_tkhd.cpp +--- mpeg4ip/lib/mp4v2/atom_tkhd.cpp 2003-11-19 23:46:11.000000000 +0000 ++++ mpeg4ip_patched/lib/mp4v2/atom_tkhd.cpp 2007-02-15 15:58:06.000000000 +0000 +@@ -61,7 +61,8 @@ + pProp->SetFixed16Format(); + AddProperty(pProp); /* 8 */ + +- AddReserved("reserved3", 38); /* 9 */ ++ /* patched by maurj to enable us to set the matrix for anamorphic display */ ++ AddProperty(new MP4BytesProperty("reserved3", 38)); /* 9 */ + + pProp = new MP4Float32Property("width"); + pProp->SetFixed32Format(); +@@ -106,7 +107,8 @@ + m_pProperties[9]->SetReadOnly(false); + ((MP4BytesProperty*)m_pProperties[9])-> + SetValue(reserved3, sizeof(reserved3)); +- m_pProperties[9]->SetReadOnly(true); ++ /* patched by maurj to enable us to set the matrix for anamorphic display */ ++ /* m_pProperties[9]->SetReadOnly(true);*/ + } + + void MP4TkhdAtom::Read() diff --git a/contrib/patch-x264-linux.patch b/contrib/patch-x264-linux.patch new file mode 100644 index 000000000..3f1752d4c --- /dev/null +++ b/contrib/patch-x264-linux.patch @@ -0,0 +1,194 @@ +Index: /common/ppc/quant.c +=================================================================== +--- /common/ppc/quant.c (revision 601) ++++ /common/ppc/quant.c (revision 621) +@@ -18,8 +18,4 @@ + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + *****************************************************************************/ +- +-#ifdef HAVE_ALTIVEC_H +-#include <altivec.h> +-#endif + + #include "common/common.h" +@@ -54,29 +50,29 @@ + temp2v = vec_xor(temp2v, mskB); \ + temp1v = vec_adds(temp1v, vec_and(mskA, one)); \ +-vec_st(temp1v, (dct0), dct); \ ++vec_st(temp1v, (dct0), (int16_t*)dct); \ + temp2v = vec_adds(temp2v, vec_and(mskB, one)); \ +-vec_st(temp2v, (dct1), dct); ++vec_st(temp2v, (dct1), (int16_t*)dct); + + void x264_quant_4x4_altivec( int16_t dct[4][4], int quant_mf[4][4], int const i_qbits, int const f ) { + vector bool short mskA; +- vec_s32_t i_qbitsv; ++ vec_u32_t i_qbitsv; + vec_u16_t coefvA; + vec_u32_t multEvenvA, multOddvA; +- vec_u32_t mfvA; ++ vec_u16_t mfvA; + vec_s16_t zerov, one; +- vec_s32_t fV; ++ vec_u32_t fV; + + vector bool short mskB; + vec_u16_t coefvB; + vec_u32_t multEvenvB, multOddvB; +- vec_u32_t mfvB; ++ vec_u16_t mfvB; + + vec_s16_t temp1v, temp2v; + +- vect_sint_u qbits_u; ++ vect_int_u qbits_u; + qbits_u.s[0]=i_qbits; + i_qbitsv = vec_splat(qbits_u.v, 0); + +- vect_sint_u f_u; ++ vect_int_u f_u; + f_u.s[0]=f; + +@@ -114,16 +110,16 @@ + temp2v = vec_xor(temp2v, mskB); \ + temp1v = vec_add(temp1v, vec_and(mskA, one)); \ +-vec_st(temp1v, (dct0), dct); \ ++vec_st(temp1v, (dct0), (int16_t*)dct); \ + temp2v = vec_add(temp2v, vec_and(mskB, one)); \ +-vec_st(temp2v, (dct1), dct); ++vec_st(temp2v, (dct1), (int16_t*)dct); + + + void x264_quant_4x4_dc_altivec( int16_t dct[4][4], int i_quant_mf, int const i_qbits, int const f ) { + vector bool short mskA; +- vec_s32_t i_qbitsv; ++ vec_u32_t i_qbitsv; + vec_u16_t coefvA; + vec_u32_t multEvenvA, multOddvA; + vec_s16_t zerov, one; +- vec_s32_t fV; ++ vec_u32_t fV; + + vector bool short mskB; +@@ -133,15 +129,14 @@ + vec_s16_t temp1v, temp2v; + +- vec_u32_t mfv; +- vect_int_u mf_u; ++ vec_u16_t mfv; ++ vect_ushort_u mf_u; + mf_u.s[0]=i_quant_mf; + mfv = vec_splat( mf_u.v, 0 ); +- mfv = vec_packs( mfv, mfv); + +- vect_sint_u qbits_u; ++ vect_int_u qbits_u; + qbits_u.s[0]=i_qbits; + i_qbitsv = vec_splat(qbits_u.v, 0); + +- vect_sint_u f_u; ++ vect_int_u f_u; + f_u.s[0]=f; + fV = vec_splat(f_u.v, 0); +@@ -156,13 +151,15 @@ + void x264_quant_8x8_altivec( int16_t dct[8][8], int quant_mf[8][8], int const i_qbits, int const f ) { + vector bool short mskA; +- vec_s32_t i_qbitsv; ++ vec_u32_t i_qbitsv; + vec_u16_t coefvA; +- vec_s32_t multEvenvA, multOddvA, mfvA; ++ vec_u32_t multEvenvA, multOddvA; ++ vec_u16_t mfvA; + vec_s16_t zerov, one; +- vec_s32_t fV; ++ vec_u32_t fV; + + vector bool short mskB; + vec_u16_t coefvB; +- vec_u32_t multEvenvB, multOddvB, mfvB; ++ vec_u32_t multEvenvB, multOddvB; ++ vec_u16_t mfvB; + + vec_s16_t temp1v, temp2v; +@@ -172,5 +169,5 @@ + i_qbitsv = vec_splat(qbits_u.v, 0); + +- vect_sint_u f_u; ++ vect_int_u f_u; + f_u.s[0]=f; + fV = vec_splat(f_u.v, 0); +Index: /common/ppc/dct.c +=================================================================== +--- /common/ppc/dct.c (revision 604) ++++ /common/ppc/dct.c (revision 621) +@@ -61,6 +61,6 @@ + VEC_DCT( dct0v, dct1v, dct2v, dct3v, tmp0v, tmp1v, tmp2v, tmp3v ); + +- vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, dct); +- vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, dct); ++ vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, (int16_t*)dct); ++ vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, (int16_t*)dct); + } + +@@ -95,12 +95,12 @@ + VEC_DCT( dct4v, dct5v, dct6v, dct7v, tmp4v, tmp5v, tmp6v, tmp7v ); + +- vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, dct); +- vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, dct); +- vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32, dct); +- vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48, dct); +- vec_st(vec_perm(tmp0v, tmp1v, permLowv), 64, dct); +- vec_st(vec_perm(tmp2v, tmp3v, permLowv), 80, dct); +- vec_st(vec_perm(tmp4v, tmp5v, permLowv), 96, dct); +- vec_st(vec_perm(tmp6v, tmp7v, permLowv), 112, dct); ++ vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, (int16_t*)dct); ++ vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, (int16_t*)dct); ++ vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32, (int16_t*)dct); ++ vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48, (int16_t*)dct); ++ vec_st(vec_perm(tmp0v, tmp1v, permLowv), 64, (int16_t*)dct); ++ vec_st(vec_perm(tmp2v, tmp3v, permLowv), 80, (int16_t*)dct); ++ vec_st(vec_perm(tmp4v, tmp5v, permLowv), 96, (int16_t*)dct); ++ vec_st(vec_perm(tmp6v, tmp7v, permLowv), 112, (int16_t*)dct); + } + +@@ -312,6 +312,6 @@ + void x264_add8x8_idct8_altivec( uint8_t *dst, int16_t dct[8][8] ) + { +- vec_s16_t onev = vec_splat_s16(1); +- vec_s16_t twov = vec_splat_s16(2); ++ vec_u16_t onev = vec_splat_s16(1); ++ vec_u16_t twov = vec_splat_s16(2); + + dct[0][0] += 32; // rounding for the >>6 at the end +@@ -342,5 +342,5 @@ + vec_u8_t perm_ldv = vec_lvsl(0, dst); + vec_u8_t perm_stv = vec_lvsr(8, dst); +- vec_s16_t sixv = vec_splat_s16(6); ++ vec_u16_t sixv = vec_splat_s16(6); + const vec_u8_t sel = (vec_u8_t) CV(0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1); + LOAD_ZERO; +Index: /common/ppc/quant.h +=================================================================== +--- /common/ppc/quant.h (revision 601) ++++ /common/ppc/quant.h (revision 621) +@@ -19,4 +19,8 @@ + *****************************************************************************/ + ++#ifdef SYS_LINUX ++#include <altivec.h> ++#endif ++ + #ifndef _PPC_QUANT_H + #define _PPC_QUANT_H 1 +@@ -28,8 +32,7 @@ + + typedef union { +- signed int s[4]; +- vector signed int v; +-} vect_sint_u; +- ++ unsigned short s[8]; ++ vector unsigned short v; ++} vect_ushort_u; + + void x264_quant_4x4_altivec( int16_t dct[4][4], int quant_mf[4][4], int const i_qbits, int const f ); diff --git a/contrib/version_a52dec.txt b/contrib/version_a52dec.txt index 37aee8622..86617fd36 100644 --- a/contrib/version_a52dec.txt +++ b/contrib/version_a52dec.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/a52dec-0.7.4.tar.gz +http://download.m0k.org/handbrake/contrib/a52dec-0.7.4.tar.gz diff --git a/contrib/version_faac.txt b/contrib/version_faac.txt index 807360621..e3466666b 100644 --- a/contrib/version_faac.txt +++ b/contrib/version_faac.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/faac-1.24.tar.gz +http://download.m0k.org/handbrake/contrib/faac-1.24.tar.gz diff --git a/contrib/version_ffmpeg.txt b/contrib/version_ffmpeg.txt index e7934a0ee..2d6acd66c 100644 --- a/contrib/version_ffmpeg.txt +++ b/contrib/version_ffmpeg.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/ffmpeg-7444.tar.gz +http://download.m0k.org/handbrake/contrib/ffmpeg-7444.tar.gz diff --git a/contrib/version_lame.txt b/contrib/version_lame.txt index 0563f9855..b4bb63c81 100644 --- a/contrib/version_lame.txt +++ b/contrib/version_lame.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/lame-3.96.1.tar.gz +http://download.m0k.org/handbrake/contrib/lame-3.96.1.tar.gz diff --git a/contrib/version_libdvdcss.txt b/contrib/version_libdvdcss.txt index c10c39de2..81d1ef157 100644 --- a/contrib/version_libdvdcss.txt +++ b/contrib/version_libdvdcss.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/libdvdcss-1.2.9.tar.gz +http://download.m0k.org/handbrake/contrib/libdvdcss-1.2.9.tar.gz diff --git a/contrib/version_libdvdread.txt b/contrib/version_libdvdread.txt index e230e3cb7..ef686d667 100644 --- a/contrib/version_libdvdread.txt +++ b/contrib/version_libdvdread.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/libdvdread-20050928.tar.gz +http://download.m0k.org/handbrake/contrib/libdvdread-0.9.7.tar.gz diff --git a/contrib/version_libogg.txt b/contrib/version_libogg.txt index e7cee15a3..57daaf702 100644 --- a/contrib/version_libogg.txt +++ b/contrib/version_libogg.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/libogg-1.1.2.tar.gz +http://download.m0k.org/handbrake/contrib/libogg-1.1.2.tar.gz diff --git a/contrib/version_libsamplerate.txt b/contrib/version_libsamplerate.txt index 636ace2f6..a0f5b3804 100644 --- a/contrib/version_libsamplerate.txt +++ b/contrib/version_libsamplerate.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/libsamplerate-0.1.2.tar.gz +http://download.m0k.org/handbrake/contrib/libsamplerate-0.1.2.tar.gz diff --git a/contrib/version_libvorbis.txt b/contrib/version_libvorbis.txt index 3235254e6..db3f67caf 100644 --- a/contrib/version_libvorbis.txt +++ b/contrib/version_libvorbis.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/libvorbis-1.1.1.tar.gz +http://download.m0k.org/handbrake/contrib/libvorbis-1.1.1.tar.gz diff --git a/contrib/version_mpeg2dec.txt b/contrib/version_mpeg2dec.txt index ca31e0ce6..dd4d00229 100644 --- a/contrib/version_mpeg2dec.txt +++ b/contrib/version_mpeg2dec.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/mpeg2dec-20051112.tar.gz +http://download.m0k.org/handbrake/contrib/mpeg2dec-0.4.1.tar.gz diff --git a/contrib/version_mpeg4ip.txt b/contrib/version_mpeg4ip.txt index a374de85f..f60e5972a 100644 --- a/contrib/version_mpeg4ip.txt +++ b/contrib/version_mpeg4ip.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/mpeg4ip-1.3.tar.gz
\ No newline at end of file +http://download.m0k.org/handbrake/contrib/mpeg4ip-1.3.tar.gz diff --git a/contrib/version_qt.txt b/contrib/version_qt.txt new file mode 100644 index 000000000..5f679e32c --- /dev/null +++ b/contrib/version_qt.txt @@ -0,0 +1 @@ +http://download.m0k.org/handbrake/contrib/libquicktime-0.9.10.tar.gz diff --git a/contrib/version_x264.txt b/contrib/version_x264.txt index 73a659be2..fed73e9a1 100644 --- a/contrib/version_x264.txt +++ b/contrib/version_x264.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/x264-r604.tar.gz +http://download.m0k.org/handbrake/contrib/x264-r604.tar.gz diff --git a/contrib/version_xvidcore.txt b/contrib/version_xvidcore.txt index 8906405ef..615ddc864 100644 --- a/contrib/version_xvidcore.txt +++ b/contrib/version_xvidcore.txt @@ -1 +1 @@ -http://download.mediafork.dynalias.com/contrib/xvidcore-1.1.0.tar.gz +http://download.m0k.org/handbrake/contrib/xvidcore-1.1.2.tar.gz diff --git a/contrib/version_zlib.txt b/contrib/version_zlib.txt new file mode 100644 index 000000000..bbb84c298 --- /dev/null +++ b/contrib/version_zlib.txt @@ -0,0 +1 @@ +http://download.m0k.org/handbrake/contrib/zlib-1.2.3.tar.gz |