summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorprigaux <[email protected]>2007-03-06 21:15:55 +0000
committerprigaux <[email protected]>2007-03-06 21:15:55 +0000
commitc4a642b4648d486777af91ccc2894355df447089 (patch)
tree4ff9eee3e39a530cb649d9db43456e0ab3d712a3 /contrib
parentff5ed5d2a2009504f1da3cf348689a59a82b27f1 (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/Jamfile109
-rw-r--r--contrib/Makefile41
-rw-r--r--contrib/patch-ffmpeg-macintel.patch563
-rw-r--r--contrib/patch-libdvdread.patch10
-rw-r--r--contrib/patch-libquicktime.patch76
-rw-r--r--contrib/patch-mpeg4ip.patch23
-rw-r--r--contrib/patch-x264-linux.patch194
-rw-r--r--contrib/version_a52dec.txt2
-rw-r--r--contrib/version_faac.txt2
-rw-r--r--contrib/version_ffmpeg.txt2
-rw-r--r--contrib/version_lame.txt2
-rw-r--r--contrib/version_libdvdcss.txt2
-rw-r--r--contrib/version_libdvdread.txt2
-rw-r--r--contrib/version_libogg.txt2
-rw-r--r--contrib/version_libsamplerate.txt2
-rw-r--r--contrib/version_libvorbis.txt2
-rw-r--r--contrib/version_mpeg2dec.txt2
-rw-r--r--contrib/version_mpeg4ip.txt2
-rw-r--r--contrib/version_qt.txt1
-rw-r--r--contrib/version_x264.txt2
-rw-r--r--contrib/version_xvidcore.txt2
-rw-r--r--contrib/version_zlib.txt1
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