]> granicus.if.org Git - handbrake/commitdiff
PixelRatio Test branch with mp4 working and latest contrib libs
authorprigaux <pri@nopapers.org>
Thu, 18 Jan 2007 10:34:28 +0000 (10:34 +0000)
committerprigaux <pri@nopapers.org>
Thu, 18 Jan 2007 10:34:28 +0000 (10:34 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/branches/PixelRatioWorking@168 b64f7644-9d1e-0410-96f1-a4d463321fa5

21 files changed:
contrib/Jamfile [new file with mode: 0644]
contrib/patch-ffmpeg-cygwin.patch [new file with mode: 0644]
contrib/patch-ffmpeg-macintel.patch [new file with mode: 0644]
contrib/patch-ffmpeg.patch [new file with mode: 0644]
contrib/patch-libdvdread.patch [new file with mode: 0644]
contrib/patch-x264-cygwin.patch [new file with mode: 0644]
contrib/patch-x264-macintel.patch [new file with mode: 0644]
contrib/patch-xvidcore-cygwin.patch [new file with mode: 0644]
contrib/patch-xvidcore-macosx.patch [new file with mode: 0644]
contrib/version_a52dec.txt [new file with mode: 0644]
contrib/version_faac.txt [new file with mode: 0644]
contrib/version_ffmpeg.txt [new file with mode: 0644]
contrib/version_lame.txt [new file with mode: 0644]
contrib/version_libdvdcss.txt [new file with mode: 0644]
contrib/version_libdvdread.txt [new file with mode: 0644]
contrib/version_libogg.txt [new file with mode: 0644]
contrib/version_libsamplerate.txt [new file with mode: 0644]
contrib/version_libvorbis.txt [new file with mode: 0644]
contrib/version_mpeg2dec.txt [new file with mode: 0644]
contrib/version_x264.txt [new file with mode: 0644]
contrib/version_xvidcore.txt [new file with mode: 0644]

diff --git a/contrib/Jamfile b/contrib/Jamfile
new file mode 100644 (file)
index 0000000..33e9c2e
--- /dev/null
@@ -0,0 +1,304 @@
+SubDir TOP contrib ;
+
+# Use curl on Mac OS X since it's always installed, and assume wget
+# is installed for all other systems
+if $(OS) = MACOSX
+{
+    WGET = curl -L -o ;
+}
+else
+{
+    WGET = wget -O ;
+}
+
+# Wget rule: downloads $(<) from the link in $(>)
+rule Wget
+{
+    Depends $(<) : $(>) ;
+}
+actions Wget
+{
+    $(RM) $(<) &&
+    $(WGET) $(<) `cat $(>)` &&
+    ( touch $(<) || true )
+}
+
+# liba52
+rule LibA52
+{
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+actions LibA52
+{
+    cd `dirname $(>)` && CONTRIB=`pwd` &&
+    rm -rf a52dec && tar xzf a52dec.tar.gz && cd a52dec &&
+    ./configure --prefix=$CONTRIB && make && make install &&
+    strip -S $CONTRIB/lib/liba52.a
+}
+Wget   $(SUBDIR)/a52dec.tar.gz : $(SUBDIR)/version_a52dec.txt ;
+LibA52 $(SUBDIR)/lib/liba52.a  : $(SUBDIR)/a52dec.tar.gz ;
+
+# libavcodec
+rule LibAvCodec
+{
+    FFMPEG_PATCH = "patch -p1 < ../patch-ffmpeg.patch" ;
+    if $(OS) = MACOSX && $(OSPLAT) = X86
+    {
+       FFMPEG_OPTIONS  = --enable-memalign-hack ;
+     # This patch simply don't apply correctly so don't try to do it
+     #  FFMPEG_PATCH   += " && patch -p1 < ../patch-ffmpeg-macintel.patch" ;
+    }
+    else if $(OS) = CYGWIN
+    {
+        FFMPEG_PATCH += " && patch -p1 < ../patch-ffmpeg-cygwin.patch " ;
+    }
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+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 &&
+    strip -S $CONTRIB/lib/libavcodec.a
+}
+Wget       $(SUBDIR)/ffmpeg.tar.gz    : $(SUBDIR)/version_ffmpeg.txt ;
+LibAvCodec $(SUBDIR)/lib/libavcodec.a : $(SUBDIR)/ffmpeg.tar.gz ;
+
+rule LibAvUtil
+{
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+actions LibAvUtil
+{
+    strip -S $(<)
+}
+LibAvUtil $(SUBDIR)/lib/libavutil.a : $(SUBDIR)/lib/libavcodec.a ;
+LibAvUtil $(SUBDIR)/lib/libavformat.a : $(SUBDIR)/lib/libavcodec.a ;
+
+# CSS doesn't work on Cygwin/Windows as of now, so don't use it.
+if $(OS) != CYGWIN
+{
+    # libdvdcss
+    # We need libdvdcss.so for libdvdread's configure to work...
+    rule LibDvdCss
+    {
+        Depends $(<) : $(>) ;
+        Depends lib  : $(<) ;
+    }
+    actions LibDvdCss
+    {
+        cd `dirname $(>)` && CONTRIB=`pwd` &&
+            rm -rf libdvdcss && tar xzf libdvdcss.tar.gz && cd libdvdcss &&
+            ./configure --prefix=$CONTRIB && make && make install &&
+            strip -S $CONTRIB/lib/libdvdcss.a
+    }
+    Wget      $(SUBDIR)/libdvdcss.tar.gz : $(SUBDIR)/version_libdvdcss.txt ;
+    LibDvdCss $(SUBDIR)/lib/libdvdcss.a  : $(SUBDIR)/libdvdcss.tar.gz ;
+}
+
+# libdvdread
+rule LibDvdRead
+{
+    LIBDVDREAD_PATCH = "patch -p1 < ../patch-libdvdread.patch" ;
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+if $(OS) != CYGWIN
+{
+    actions LibDvdRead
+    {
+        cd `dirname $(>)` && CONTRIB=`pwd` &&
+            rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
+            $(LIBDVDREAD_PATCH) &&
+            ./configure --prefix=$CONTRIB --disable-shared --with-libdvdcss=$CONTRIB &&
+            make && make install &&
+            strip -S $CONTRIB/lib/libdvdread.a
+    }
+}
+else {
+    # Cygwin/Windows doesn't use CSS as of now, so don't include it on the
+    # configure line.
+    actions LibDvdRead
+    {
+        cd `dirname $(>)` && CONTRIB=`pwd` &&
+            rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
+            $(LIBDVDREAD_PATCH) &&
+            ./configure --prefix=$CONTRIB --disable-shared &&
+            make && make install &&
+            strip -S $CONTRIB/lib/libdvdread.a
+    }
+}
+Wget       $(SUBDIR)/libdvdread.tar.gz : $(SUBDIR)/version_libdvdread.txt ;
+LibDvdRead $(SUBDIR)/lib/libdvdread.a  : $(SUBDIR)/libdvdread.tar.gz ;
+
+# libfaac
+rule LibFaac
+{
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+actions LibFaac
+{
+    cd `dirname $(>)` && CONTRIB=`pwd` &&
+    rm -rf faac && tar xzf faac.tar.gz && cd faac &&
+    ./configure --prefix=$CONTRIB --disable-shared &&
+    make && make install &&
+    strip -S $CONTRIB/lib/libfaac.a
+}
+Wget    $(SUBDIR)/faac.tar.gz   : $(SUBDIR)/version_faac.txt ;
+LibFaac $(SUBDIR)/lib/libfaac.a : $(SUBDIR)/faac.tar.gz ;
+
+# libmp3lame
+rule LibMp3Lame
+{
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+actions LibMp3Lame
+{
+    cd `dirname $(>)` && CONTRIB=`pwd` &&
+    rm -rf lame && tar xzf lame.tar.gz && cd lame &&
+    ./configure --prefix=$CONTRIB --disable-shared &&
+    make && make install &&
+    strip -S $CONTRIB/lib/libmp3lame.a
+}
+Wget       $(SUBDIR)/lame.tar.gz      : $(SUBDIR)/version_lame.txt ;
+LibMp3Lame $(SUBDIR)/lib/libmp3lame.a : $(SUBDIR)/lame.tar.gz ;
+
+# libmpeg2
+rule LibMpeg2
+{
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+actions LibMpeg2
+{
+    cd `dirname $(>)` && CONTRIB=`pwd` &&
+    rm -rf mpeg2dec && tar xzf mpeg2dec.tar.gz && cd mpeg2dec &&
+    ./configure --prefix=$CONTRIB --disable-shared &&
+    make && make install &&
+    strip -S $CONTRIB/lib/libmpeg2.a
+}
+Wget     $(SUBDIR)/mpeg2dec.tar.gz : $(SUBDIR)/version_mpeg2dec.txt ;
+LibMpeg2 $(SUBDIR)/lib/libmpeg2.a  : $(SUBDIR)/mpeg2dec.tar.gz ;
+
+# libogg
+rule LibOgg
+{
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+actions LibOgg
+{
+    cd `dirname $(>)` && CONTRIB=`pwd` &&
+    rm -rf libogg && tar xzf libogg.tar.gz && cd libogg &&
+    ./configure --prefix=$CONTRIB --disable-shared &&
+    make && make install &&
+    strip -S $CONTRIB/lib/libogg.a
+}
+Wget   $(SUBDIR)/libogg.tar.gz : $(SUBDIR)/version_libogg.txt ;
+LibOgg $(SUBDIR)/lib/libogg.a  : $(SUBDIR)/libogg.tar.gz ;
+
+# libsamplerate
+rule LibSampleRate
+{
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+actions LibSampleRate
+{
+    cd `dirname $(>)` && CONTRIB=`pwd` &&
+    rm -rf libsamplerate && tar xzf libsamplerate.tar.gz && cd libsamplerate &&
+    ./configure --prefix=$CONTRIB --disable-shared &&
+    make && make install &&
+    strip -S $CONTRIB/lib/libsamplerate.a
+}
+Wget          $(SUBDIR)/libsamplerate.tar.gz : $(SUBDIR)/version_libsamplerate.txt ;
+LibSampleRate $(SUBDIR)/lib/libsamplerate.a  : $(SUBDIR)/libsamplerate.tar.gz ;
+
+# libvorbis
+rule LibVorbis
+{
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+actions LibVorbis
+{
+    cd `dirname $(>)` && CONTRIB=`pwd` &&
+    rm -rf libvorbis && tar xzf libvorbis.tar.gz && cd libvorbis &&
+    ./configure --prefix=$CONTRIB --with-ogg=$CONTRIB --disable-shared &&
+    make && make install &&
+    strip -S $CONTRIB/lib/libvorbis.a
+}
+Wget      $(SUBDIR)/libvorbis.tar.gz : $(SUBDIR)/version_libvorbis.txt ;
+LibVorbis $(SUBDIR)/lib/libvorbis.a  : $(SUBDIR)/libvorbis.tar.gz ;
+
+rule LibVorbisEnc
+{
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+actions LibVorbisEnc
+{
+    strip -S $(<)
+}
+LibVorbisEnc $(SUBDIR)/lib/libvorbisenc.a : $(SUBDIR)/lib/libvorbis.a ;
+
+# libx264
+rule LibX264
+{
+    LIBX264_PATCH = "" ;
+    if $(OS) = MACOSX && $(OSPLAT) = X86
+    {
+        LIBX264_PATCH = " patch -p1 < ../patch-x264-macintel.patch && " ;
+    }
+    else if $(OS) = CYGWIN
+    {
+        LIBX264_PATCH = " patch -p1 < ../patch-x264-cygwin.patch && " ;
+    }
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+actions LibX264
+{
+    cd `dirname $(>)` && CONTRIB=`pwd` &&
+    rm -rf x264 && tar xzf x264.tar.gz && cd x264 && $(LIBX264_PATCH)
+    ./configure --prefix=$CONTRIB --enable-pthread && make &&
+    make install &&
+    strip -S $CONTRIB/lib/libx264.a
+}
+Wget    $(SUBDIR)/x264.tar.gz   : $(SUBDIR)/version_x264.txt ;
+LibX264 $(SUBDIR)/lib/libx264.a : $(SUBDIR)/x264.tar.gz ;
+
+# libxvidcore
+rule LibXvidCore
+{
+    LIBXVIDCORE_PATCH = "" ;
+    if $(OS) = MACOSX
+    {
+        LIBXVIDCORE_PATCH = " patch -p1 < ../patch-xvidcore-macosx.patch && " ;
+    }
+    else if $(OS) = CYGWIN
+    {
+        LIBXVIDCORE_PATCH = " patch -p1 < ../patch-xvidcore-cygwin.patch && " ;
+    }
+    Depends $(<) : $(>) ;
+    Depends lib  : $(<) ;
+}
+actions LibXvidCore
+{
+    cd `dirname $(>)` && CONTRIB=`pwd` &&
+    rm -rf xvidcore && tar xzf xvidcore.tar.gz &&
+    cd xvidcore && $(LIBXVIDCORE_PATCH)
+    cd build/generic/ && ./configure && make libxvidcore.a &&
+    cp ./=build/libxvidcore.a $CONTRIB/lib/ &&
+    cp ../../src/xvid.h $CONTRIB/include/ &&
+    strip -S $CONTRIB/lib/libxvidcore.a
+}
+Wget        $(SUBDIR)/xvidcore.tar.gz   : $(SUBDIR)/version_xvidcore.txt ;
+LibXvidCore $(SUBDIR)/lib/libxvidcore.a : $(SUBDIR)/xvidcore.tar.gz ;
diff --git a/contrib/patch-ffmpeg-cygwin.patch b/contrib/patch-ffmpeg-cygwin.patch
new file mode 100644 (file)
index 0000000..b6ca99f
--- /dev/null
@@ -0,0 +1,15 @@
+diff -Naur ffmpeg/libavcodec/mpegaudiodec.c ffmpeg-patched/libavcodec/mpegaudiodec.c
+--- ffmpeg/libavcodec/mpegaudiodec.c   2006-09-23 14:22:06.000000000 -0400
++++ ffmpeg-patched/libavcodec/mpegaudiodec.c   2007-01-01 18:31:51.156250000 -0500
+@@ -401,9 +401,9 @@
+         for(i=0; i<512*16; i++){
+             int exponent= (i>>4);
+             double f= pow(i&15, 4.0 / 3.0) * pow(2, (exponent-400)*0.25 + FRAC_BITS + 5);
+-            expval_table[exponent][i&15]= llrint(f);
++            expval_table[exponent][i&15]= lrint(f);
+             if((i&15)==1)
+-                exp_table[exponent]= llrint(f);
++                exp_table[exponent]= lrint(f);
+         }
+         for(i=0;i<7;i++) {
diff --git a/contrib/patch-ffmpeg-macintel.patch b/contrib/patch-ffmpeg-macintel.patch
new file mode 100644 (file)
index 0000000..ecc0dc6
--- /dev/null
@@ -0,0 +1,563 @@
+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-ffmpeg.patch b/contrib/patch-ffmpeg.patch
new file mode 100644 (file)
index 0000000..cc70c9a
--- /dev/null
@@ -0,0 +1,263 @@
+diff -Naur t/ffmpeg/configure ffmpeg/configure
+--- t/ffmpeg/configure 2007-01-13 12:58:43.000000000 +0100
++++ ffmpeg/configure   2007-01-13 20:41:28.000000000 +0100
+@@ -674,7 +674,7 @@
+ 2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc"
+ mmx="no"
+ ;;
+-*20010315*) echo "BeBits gcc"
++*20010315*|2.95.3*) echo "BeBits gcc"
+ add_cflags "-fno-expensive-optimizations"
+ ;;
+ esac
+diff -Naur t/ffmpeg/libavformat/Makefile ffmpeg/libavformat/Makefile
+--- t/ffmpeg/libavformat/Makefile      2007-01-13 12:58:43.000000000 +0100
++++ ffmpeg/libavformat/Makefile        2007-01-13 20:41:28.000000000 +0100
+@@ -58,6 +58,7 @@
+ OBJS-$(CONFIG_TGP_MUXER)                 += movenc.o riff.o isom.o
+ OBJS-$(CONFIG_MP4_MUXER)                 += movenc.o riff.o isom.o
+ OBJS-$(CONFIG_PSP_MUXER)                 += movenc.o riff.o isom.o
++OBJS-$(CONFIG_IPOD_MUXER)                 += movenc.o riff.o isom.o
+ OBJS-$(CONFIG_TG2_MUXER)                 += movenc.o riff.o isom.o
+ OBJS-$(CONFIG_MP3_DEMUXER)               += mp3.o
+ OBJS-$(CONFIG_MP2_MUXER)                 += mp3.o
+diff -Naur t/ffmpeg/libavformat/allformats.c ffmpeg/libavformat/allformats.c
+--- t/ffmpeg/libavformat/allformats.c  2007-01-13 12:58:43.000000000 +0100
++++ ffmpeg/libavformat/allformats.c    2007-01-13 20:41:28.000000000 +0100
+@@ -91,6 +91,9 @@
+     REGISTER_MUXDEMUX(IMAGE2PIPE, image2pipe);
+     REGISTER_DEMUXER (INGENIENT, ingenient);
+     REGISTER_DEMUXER (IPMOVIE, ipmovie);
++#ifdef CONFIG_IPOD_MUXER
++      REGISTER_MUXER   (IPOD, ipod);
++#endif
+     REGISTER_MUXDEMUX(M4V, m4v);
+     REGISTER_DEMUXER (MATROSKA, matroska);
+     REGISTER_MUXDEMUX(MJPEG, mjpeg);
+diff -Naur t/ffmpeg/libavformat/allformats.h ffmpeg/libavformat/allformats.h
+--- t/ffmpeg/libavformat/allformats.h  2007-01-13 12:58:43.000000000 +0100
++++ ffmpeg/libavformat/allformats.h    2007-01-13 20:41:28.000000000 +0100
+@@ -77,6 +77,7 @@
+ extern AVOutputFormat mov_muxer;
+ extern AVOutputFormat tgp_muxer;
+ extern AVOutputFormat mp4_muxer;
++extern AVOutputFormat ipod_muxer;
+ extern AVOutputFormat psp_muxer;
+ extern AVOutputFormat tg2_muxer;
+ extern AVInputFormat mp3_demuxer;
+diff -Naur t/ffmpeg/libavformat/movenc.c ffmpeg/libavformat/movenc.c
+--- t/ffmpeg/libavformat/movenc.c      2007-01-13 12:58:43.000000000 +0100
++++ ffmpeg/libavformat/movenc.c        2007-01-13 20:41:28.000000000 +0100
+@@ -36,6 +36,7 @@
+ #define MODE_PSP 3 // example working PSP command line:
+ // ffmpeg -i testinput.avi  -f psp -r 14.985 -s 320x240 -b 768 -ar 24000 -ab 32 M4V00001.MP4
+ #define MODE_3G2 4
++#define MODE_IPOD 5
+ typedef struct MOVIentry {
+     unsigned int flags, size;
+@@ -54,6 +55,7 @@
+     long        time;
+     int64_t     trackDuration;
+     long        sampleCount;
++    long        sampleDuration;
+     long        sampleSize;
+     int         hasKeyframes;
+     int         hasBframes;
+@@ -598,6 +600,18 @@
+     return tag;
+ }
++static int mov_write_colr_tag(ByteIOContext *pb)
++{
++      put_be32( pb, 0x12 );
++      put_tag( pb, "colr" );
++      put_tag( pb, "nclc" );
++      put_be16( pb, 6 );
++      put_be16( pb, 1 );
++      put_be16( pb, 6 );
++      put_be32( pb, 0 );
++      return 0x12;
++}
++
+ static int mov_write_video_tag(ByteIOContext *pb, MOVTrack* track)
+ {
+     offset_t pos = url_ftell(pb);
+@@ -647,8 +661,21 @@
+         mov_write_d263_tag(pb);
+     else if(track->enc->codec_id == CODEC_ID_SVQ3)
+         mov_write_svq3_tag(pb);
+-    else if(track->enc->codec_id == CODEC_ID_H264)
+-        mov_write_avcc_tag(pb, track);
++      else if(track->enc->codec_id == CODEC_ID_H264) {
++              mov_write_avcc_tag(pb, track);
++              if (track->mode == MODE_IPOD) {
++                      put_be32(pb, 0x1C); /* size ... reports as 28 in mp4box! */
++                      put_tag(pb, "uuid");
++                      put_be32(pb, 0x6B6840F2);
++                      put_be32(pb, 0x5F244FC5);
++                      put_be32(pb, 0xBA39A51B);
++                      put_be32(pb, 0xCF0323F3);
++                      put_be32(pb, 0x00000001);
++                      put_be32(pb, 0x0000039C); 
++              }
++      }
++
++      mov_write_colr_tag(pb);
+     return updateSize (pb, pos);
+ }
+@@ -700,46 +727,18 @@
+     return atom_size;
+ }
++/* TODO: */
+ /* Time to sample atom */
+ static int mov_write_stts_tag(ByteIOContext *pb, MOVTrack* track)
+ {
+-    Time2Sample *stts_entries;
+-    uint32_t entries = -1;
+-    uint32_t atom_size;
+-    int i;
+-
+-    if (track->enc->codec_type == CODEC_TYPE_AUDIO && !track->audio_vbr) {
+-        stts_entries = av_malloc(sizeof(*stts_entries)); /* one entry */
+-        stts_entries[0].count = track->sampleCount;
+-        stts_entries[0].duration = 1;
+-        entries = 1;
+-    } else {
+-        stts_entries = av_malloc(track->entry * sizeof(*stts_entries)); /* worst case */
+-        for (i=0; i<track->entry; i++) {
+-            int64_t duration = i + 1 == track->entry ?
+-                track->trackDuration - track->cluster[i].dts + track->cluster[0].dts : /* readjusting */
+-                track->cluster[i+1].dts - track->cluster[i].dts;
+-            if (i && duration == stts_entries[entries].duration) {
+-                stts_entries[entries].count++; /* compress */
+-            } else {
+-                entries++;
+-                stts_entries[entries].duration = duration;
+-                stts_entries[entries].count = 1;
+-            }
+-        }
+-        entries++; /* last one */
+-    }
+-    atom_size = 16 + (entries * 8);
+-    put_be32(pb, atom_size); /* size */
++    put_be32(pb, 0x18); /* size */
+     put_tag(pb, "stts");
+     put_be32(pb, 0); /* version & flags */
+-    put_be32(pb, entries); /* entry count */
+-    for (i=0; i<entries; i++) {
+-        put_be32(pb, stts_entries[i].count);
+-        put_be32(pb, stts_entries[i].duration);
+-    }
+-    av_free(stts_entries);
+-    return atom_size;
++    put_be32(pb, 1); /* entry count */
++
++    put_be32(pb, track->sampleCount); /* sample count */
++    put_be32(pb, track->sampleDuration); /* sample duration */
++    return 0x18;
+ }
+ static int mov_write_dref_tag(ByteIOContext *pb)
+@@ -929,6 +928,10 @@
+     /* Track width and height, for visual only */
+     if(track->enc->codec_type == CODEC_TYPE_VIDEO) {
+         double sample_aspect_ratio = av_q2d(track->enc->sample_aspect_ratio);
++              if (track->mode == MODE_IPOD) {
++                      /* FIXME , I do not believe this is needed, bad assumption */
++                      sample_aspect_ratio = 1;
++              }
+         if( !sample_aspect_ratio ) sample_aspect_ratio = 1;
+         put_be32(pb, sample_aspect_ratio * track->enc->width*0x10000);
+         put_be32(pb, track->enc->height*0x10000);
+@@ -1340,6 +1343,8 @@
+     for (i=0; i<mov->nb_streams; i++) {
+         if(mov->tracks[i].entry <= 0) continue;
++        mov->tracks[i].trackDuration =
++            (int64_t)mov->tracks[i].sampleCount * mov->tracks[i].sampleDuration;
+         mov->tracks[i].time = mov->time;
+         mov->tracks[i].trackID = i+1;
+     }
+@@ -1387,6 +1392,8 @@
+         put_tag(pb, "MSNV");
+     else if ( mov->mode == MODE_MP4 )
+         put_tag(pb, "isom");
++      else if ( mov->mode == MODE_IPOD )
++        put_tag(pb, "isom");
+     else
+         put_tag(pb, "qt  ");
+@@ -1398,6 +1405,8 @@
+         put_tag(pb, "3g2a");
+     else if ( mov->mode == MODE_PSP )
+         put_tag(pb, "MSNV");
++      else if ( mov->mode == MODE_IPOD )
++        put_tag(pb, "mp41");
+     else if ( mov->mode == MODE_MP4 )
+         put_tag(pb, "mp41");
+     else
+@@ -1479,7 +1488,8 @@
+         else if (!strcmp("3g2", s->oformat->name)) mov->mode = MODE_3G2;
+         else if (!strcmp("mov", s->oformat->name)) mov->mode = MODE_MOV;
+         else if (!strcmp("psp", s->oformat->name)) mov->mode = MODE_PSP;
+-
++              else if (!strcmp("ipod", s->oformat->name)) mov->mode = MODE_IPOD;
++              
+         mov_write_ftyp_tag(pb,s);
+         if ( mov->mode == MODE_PSP ) {
+             if ( s->nb_streams != 2 ) {
+@@ -1500,10 +1510,12 @@
+         if(st->codec->codec_type == CODEC_TYPE_VIDEO){
+             track->tag = mov_find_video_codec_tag(s, track);
+             track->timescale = st->codec->time_base.den;
++            track->sampleDuration = st->codec->time_base.num;
+             av_set_pts_info(st, 64, 1, st->codec->time_base.den);
+         }else if(st->codec->codec_type == CODEC_TYPE_AUDIO){
+             track->tag = mov_find_audio_codec_tag(s, track);
+             track->timescale = st->codec->sample_rate;
++            track->sampleDuration = st->codec->frame_size;
+             av_set_pts_info(st, 64, 1, st->codec->sample_rate);
+             switch(track->enc->codec_id){
+             case CODEC_ID_MP3:
+@@ -1689,6 +1701,21 @@
+     .flags = AVFMT_GLOBALHEADER,
+ };
+ #endif
++#ifdef CONFIG_IPOD_MUXER
++AVOutputFormat ipod_muxer = {
++    "ipod",
++    "ipod mp4 format",
++    "application/mp4",
++    "mp4,m4v,ipod",
++    sizeof(MOVContext),
++    CODEC_ID_AAC,
++    CODEC_ID_MPEG4,
++    mov_write_header,
++    mov_write_packet,
++    mov_write_trailer,
++    .flags = AVFMT_GLOBALHEADER,
++};
++#endif
+ #ifdef CONFIG_PSP_MUXER
+ AVOutputFormat psp_muxer = {
+     "psp",
+diff -Naur t/ffmpeg/libavformat/tcp.c ffmpeg/libavformat/tcp.c
+--- t/ffmpeg/libavformat/tcp.c 2007-01-13 12:58:43.000000000 +0100
++++ ffmpeg/libavformat/tcp.c   2007-01-13 20:41:28.000000000 +0100
+@@ -114,11 +114,13 @@
+                 break;
+         }
++#ifndef __BEOS__
+         /* test error */
+         optlen = sizeof(ret);
+         getsockopt (fd, SOL_SOCKET, SO_ERROR, &ret, &optlen);
+         if (ret != 0)
+             goto fail;
++#endif
+     }
+     s->fd = fd;
+     return 0;
diff --git a/contrib/patch-libdvdread.patch b/contrib/patch-libdvdread.patch
new file mode 100644 (file)
index 0000000..8ff5333
--- /dev/null
@@ -0,0 +1,10 @@
+--- 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-x264-cygwin.patch b/contrib/patch-x264-cygwin.patch
new file mode 100644 (file)
index 0000000..40a14fa
--- /dev/null
@@ -0,0 +1,14 @@
+diff -Naur x264/configure x264-patched/configure
+--- x264/configure     2007-01-01 17:01:36.609375000 -0500
++++ x264-patched/configure     2007-01-01 17:02:36.468750000 -0500
+@@ -96,8 +96,8 @@
+     ;;
+   cygwin*)
+     SYS="CYGWIN"
+-    CFLAGS="$CFLAGS -mno-cygwin"
+-    LDFLAGS="$LDFLAGS -mno-cygwin"
++    #CFLAGS="$CFLAGS -mno-cygwin"
++    #LDFLAGS="$LDFLAGS -mno-cygwin"
+     EXE=".exe"
+     DEVNULL="NUL"
+     ;;
diff --git a/contrib/patch-x264-macintel.patch b/contrib/patch-x264-macintel.patch
new file mode 100644 (file)
index 0000000..9a40996
--- /dev/null
@@ -0,0 +1,48 @@
+--- x264/common/i386/i386inc.asm       2006-09-23 14:01:05.000000000 -0400
++++ x264-patched/common/i386/i386inc.asm       2006-09-24 09:21:27.000000000 -0400
+@@ -40,12 +40,12 @@
+ ; is unable to compute address offsets outside of .text so we use the .text
+ ; section instead until NASM is fixed.
+ %macro SECTION_RODATA 0
+-    %ifidn __OUTPUT_FORMAT__,macho
+-        SECTION .text align=16
+-        fakegot:
+-    %else
++;    %ifidn __OUTPUT_FORMAT__,macho
++;        SECTION .text align=16
++;        fakegot:
++;    %else
+         SECTION .rodata data align=16
+-    %endif
++;    %endif
+ %endmacro
+ ; PIC support macros. All these macros are totally harmless when __PIC__ is
+--- x264/common/i386/predict-a.asm     2006-09-23 14:01:05.000000000 -0400
++++ x264-patched/common/i386/predict-a.asm     2006-09-24 09:21:27.000000000 -0400
+@@ -191,7 +191,6 @@
+ %assign Y (Y-1)
+     movq        [edx + Y*FDEC_STRIDE], mm1
+-    picpop      ebx
+     ret
+ ;-----------------------------------------------------------------------------
+@@ -228,7 +227,6 @@
+ %assign Y (Y-1)
+     movq        [edx + Y*FDEC_STRIDE], mm0
+-    picpop      ebx
+     ret
+ ;-----------------------------------------------------------------------------
+@@ -269,8 +267,7 @@
+ %endrep
+     movq        [edx +  Y   *FDEC_STRIDE], mm3
+     movq        [edx + (Y+1)*FDEC_STRIDE], mm0
+-
+-    picpop      ebx
++    
+     ret
+ ;-----------------------------------------------------------------------------
diff --git a/contrib/patch-xvidcore-cygwin.patch b/contrib/patch-xvidcore-cygwin.patch
new file mode 100644 (file)
index 0000000..7b60510
--- /dev/null
@@ -0,0 +1,34 @@
+diff -Naur xvidcore/build/generic/configure xvidcore-patched/build/generic/configure
+--- xvidcore/build/generic/configure   2005-12-30 09:45:30.000000000 -0500
++++ xvidcore-patched/build/generic/configure   2007-01-01 18:43:27.953125000 -0500
+@@ -3844,10 +3844,9 @@
+      [cC][yY][gG][wW][iI][nN]*|mingw32*|mks*)
+       echo "$as_me:$LINENO: result: ok" >&5
+ echo "${ECHO_T}ok" >&6
+-      STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
+-      SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"
+-      SPECIFIC_LDFLAGS="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
+-      SPECIFIC_CFLAGS="-mno-cygwin"
++      STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
++      SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
++      SPECIFIC_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
+       ;;
+      darwin*|raphsody*)
+       STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
+diff -Naur xvidcore/build/generic/configure.in xvidcore-patched/build/generic/configure.in
+--- xvidcore/build/generic/configure.in        2005-12-30 09:45:30.000000000 -0500
++++ xvidcore-patched/build/generic/configure.in        2007-01-01 18:43:11.453125000 -0500
+@@ -281,10 +281,9 @@
+       ;;
+      [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
+       AC_MSG_RESULT([ok])
+-      STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
+-      SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"
+-      SPECIFIC_LDFLAGS="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
+-      SPECIFIC_CFLAGS="-mno-cygwin"
++      STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
++      SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
++      SPECIFIC_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
+       ;;
+      darwin*|raphsody*)
+       STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
diff --git a/contrib/patch-xvidcore-macosx.patch b/contrib/patch-xvidcore-macosx.patch
new file mode 100644 (file)
index 0000000..51cb94c
--- /dev/null
@@ -0,0 +1,31 @@
+diff -ru xvidcore-1.1.0/build/generic/configure xvidcore-1.1.0-patched/build/generic/configure
+--- xvidcore-1.1.0/build/generic/configure     2005-12-30 15:45:30.000000000 +0100
++++ xvidcore-1.1.0-patched/build/generic/configure     2006-01-16 22:06:10.000000000 +0100
+@@ -4052,6 +4071,12 @@
+              PREFIX="-DPREFIX"
+              MARK_FUNCS=""
+                ;;
++           *darwin*)
++               echo "$as_me:$LINENO: result: macho" >&5
++echo "${ECHO_T}macho" >&6
++               NASM_FORMAT="macho"
++               PREFIX="-DPREFIX"
++               MARK_FUNCS=""
+        esac
+        AS="$chosen_asm_prog"
+diff -ru xvidcore-1.1.0/build/generic/configure.in xvidcore-1.1.0-patched/build/generic/configure.in
+--- xvidcore-1.1.0/build/generic/configure.in  2005-12-30 15:45:30.000000000 +0100
++++ xvidcore-1.1.0-patched/build/generic/configure.in  2006-01-16 22:06:04.000000000 +0100
+@@ -397,6 +397,11 @@
+              PREFIX="-DPREFIX"
+              MARK_FUNCS=""
+                ;;
++           *darwin*)
++               AC_MSG_RESULT([macho])
++               NASM_FORMAT="macho"
++               PREFIX="-DPREFIX"
++               MARK_FUNCS=""
+        esac
+        AS="$chosen_asm_prog"
diff --git a/contrib/version_a52dec.txt b/contrib/version_a52dec.txt
new file mode 100644 (file)
index 0000000..3aa0ed8
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/a52dec-0.7.4.tar.gz
diff --git a/contrib/version_faac.txt b/contrib/version_faac.txt
new file mode 100644 (file)
index 0000000..5974895
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/faac-1.24.tar.gz
diff --git a/contrib/version_ffmpeg.txt b/contrib/version_ffmpeg.txt
new file mode 100644 (file)
index 0000000..8a76b72
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/ffmpeg-7444.tar.gz
diff --git a/contrib/version_lame.txt b/contrib/version_lame.txt
new file mode 100644 (file)
index 0000000..d001c67
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/lame-3.96.1.tar.gz
diff --git a/contrib/version_libdvdcss.txt b/contrib/version_libdvdcss.txt
new file mode 100644 (file)
index 0000000..555f390
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/libdvdcss-1.2.9.tar.gz
diff --git a/contrib/version_libdvdread.txt b/contrib/version_libdvdread.txt
new file mode 100644 (file)
index 0000000..ff442ba
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/libdvdread-20050928.tar.gz
diff --git a/contrib/version_libogg.txt b/contrib/version_libogg.txt
new file mode 100644 (file)
index 0000000..f7e4573
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/libogg-1.1.2.tar.gz
diff --git a/contrib/version_libsamplerate.txt b/contrib/version_libsamplerate.txt
new file mode 100644 (file)
index 0000000..d8dd6a1
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/libsamplerate-0.1.2.tar.gz
diff --git a/contrib/version_libvorbis.txt b/contrib/version_libvorbis.txt
new file mode 100644 (file)
index 0000000..8761077
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/libvorbis-1.1.1.tar.gz
diff --git a/contrib/version_mpeg2dec.txt b/contrib/version_mpeg2dec.txt
new file mode 100644 (file)
index 0000000..e58f080
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/mpeg2dec-20051112.tar.gz
diff --git a/contrib/version_x264.txt b/contrib/version_x264.txt
new file mode 100644 (file)
index 0000000..eff0d42
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/x264-r604.tar.gz
diff --git a/contrib/version_xvidcore.txt b/contrib/version_xvidcore.txt
new file mode 100644 (file)
index 0000000..0a8812c
--- /dev/null
@@ -0,0 +1 @@
+http://download.handbrake.dynalias.com/contrib/xvidcore-1.1.0.tar.gz