r166 - in experimental/ffmpeg/debian: . patches

Samuel Hocevar sho at alioth.debian.org
Wed Mar 14 14:22:44 CET 2007


Author: sho
Date: 2007-03-07 21:04:14 +0000 (Wed, 07 Mar 2007)
New Revision: 166

Added:
   experimental/ffmpeg/debian/libavcodec1d.install
   experimental/ffmpeg/debian/libavformat1d.install
   experimental/ffmpeg/debian/libavutil-dev.install
   experimental/ffmpeg/debian/libavutil1d.install
   experimental/ffmpeg/debian/libpostproc1d.install
   experimental/ffmpeg/debian/libswscale-dev.install
   experimental/ffmpeg/debian/libswscale1d.install
Removed:
   experimental/ffmpeg/debian/libavcodec0d.install
   experimental/ffmpeg/debian/libavformat0d.install
   experimental/ffmpeg/debian/libpostproc0d.install
   experimental/ffmpeg/debian/patches/007_disable_ffmpeg_option.diff
   experimental/ffmpeg/debian/patches/020_really_use_liba52.diff
   experimental/ffmpeg/debian/patches/030_arm_cpu_detect.diff
   experimental/ffmpeg/debian/patches/030_arm_workaround.diff
   experimental/ffmpeg/debian/patches/050_h264-misc-security-fixes.diff
   experimental/ffmpeg/debian/patches/051_asf-misc-security-fixes.diff
Modified:
   experimental/ffmpeg/debian/changelog
   experimental/ffmpeg/debian/control
   experimental/ffmpeg/debian/libavcodec-dev.install
   experimental/ffmpeg/debian/patches/005_altivec_flags.diff
   experimental/ffmpeg/debian/patches/005_m68k_workaround.diff
   experimental/ffmpeg/debian/patches/005_runtime_cpudetect.diff
   experimental/ffmpeg/debian/patches/006_mips_pthreads.diff
   experimental/ffmpeg/debian/patches/010_shared_library_versioning.diff
   experimental/ffmpeg/debian/patches/020_disable_snow_mmx_in_pic.diff
   experimental/ffmpeg/debian/patches/020_mmx_optims.diff
   experimental/ffmpeg/debian/patches/040_early_altivec_detection.diff
   experimental/ffmpeg/debian/patches/040_only_use_maltivec_when_needed.diff
   experimental/ffmpeg/debian/patches/series
   experimental/ffmpeg/debian/rules
Log:
ffmpeg (0.cvs20070307-1) UNRELEASED; urgency=low

  [ Reinhard Tartler ]

  * debian/rules:
    + Ignore libswscale.pc and rgb2rgb.h.

  * debian/libavcodec-dev.install:
    + Ship fifo.h and opt.h.

  * debian/patches/005_altivec_flags.diff:
  * debian/patches/005_m68k_workaround.diff:
  * debian/patches/005_runtime_cpudetect.diff:
  * debian/patches/006_mips_pthreads.diff:
  * debian/patches/020_really_use_liba52.diff:
    + Sync patches.

  * debian/patches/007_disable_ffmpeg_option.diff:
  * debian/patches/030_arm_cpu_detect.diff:
  * debian/patches/030_arm_workaround.diff:
    + Drop patches, applied upstream or no longer relevant.

  [ Sam Hocevar ]

  * New upstream snapshot (Closes: #403330, #404788).

  * debian/patches/010_shared_library_versioning.diff:
  * debian/patches/020_mmx_optims.diff:
  * debian/patches/020_disable_snow_mmx_in_pic.diff:
    + Sync patches.

  * debian/patches/020_really_use_liba52.diff:
  * debian/patches/050_h264-misc-security-fixes.diff:
  * debian/patches/051_asf-misc-security-fixes.diff:
    + Drop patches, applied upstream or no longer relevant.

  * debian/libavcodec-dev.install:
    + Ship lzo.h and random.h.

  * debian/rules:
    + Fix syntax for a few --enable flags.
    + Readded --enable-libtheora, it's here again.
    + Activate --enable-swscaler (Closes: #399141, #398442).

 -- Sam Hocevar (Debian packages) <sam+deb at zoy.org>  Wed,  7 Mar 2007 21:59:19 +0100


Modified: experimental/ffmpeg/debian/changelog
===================================================================
--- experimental/ffmpeg/debian/changelog	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/changelog	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,3 +1,49 @@
+ffmpeg (0.cvs20070307-1) UNRELEASED; urgency=low
+
+  [ Reinhard Tartler ]
+
+  * debian/rules:
+    + Ignore libswscale.pc and rgb2rgb.h.
+
+  * debian/libavcodec-dev.install:
+    + Ship fifo.h and opt.h.
+
+  * debian/patches/005_altivec_flags.diff:
+  * debian/patches/005_m68k_workaround.diff:
+  * debian/patches/005_runtime_cpudetect.diff:
+  * debian/patches/006_mips_pthreads.diff:
+  * debian/patches/020_really_use_liba52.diff:
+    + Sync patches.
+
+  * debian/patches/007_disable_ffmpeg_option.diff:
+  * debian/patches/030_arm_cpu_detect.diff:
+  * debian/patches/030_arm_workaround.diff:
+    + Drop patches, applied upstream or no longer relevant.
+
+  [ Sam Hocevar ]
+
+  * New upstream snapshot (Closes: #403330, #404788).
+
+  * debian/patches/010_shared_library_versioning.diff:
+  * debian/patches/020_mmx_optims.diff:
+  * debian/patches/020_disable_snow_mmx_in_pic.diff:
+    + Sync patches.
+
+  * debian/patches/020_really_use_liba52.diff:
+  * debian/patches/050_h264-misc-security-fixes.diff:
+  * debian/patches/051_asf-misc-security-fixes.diff:
+    + Drop patches, applied upstream or no longer relevant.
+
+  * debian/libavcodec-dev.install:
+    + Ship lzo.h and random.h.
+
+  * debian/rules:
+    + Fix syntax for a few --enable flags.
+    + Readded --enable-libtheora, it's here again.
+    + Activate --enable-swscaler (Closes: #399141, #398442).
+
+ -- Sam Hocevar (Debian packages) <sam+deb at zoy.org>  Wed,  7 Mar 2007 21:59:19 +0100
+
 ffmpeg (0.cvs20060823-6) unstable; urgency=high
 
   * Upload to unstable.

Modified: experimental/ffmpeg/debian/control
===================================================================
--- experimental/ffmpeg/debian/control	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/control	2007-03-07 21:04:14 UTC (rev 166)
@@ -16,10 +16,21 @@
  file formats (AVI, MPEG, OGG, Matroska, ASF...) and encoding formats (MPEG,
  DivX, MPEG4, AC3, DV...).
 
-Package: libavcodec0d
+Package: libavutil1d
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}
+Description: ffmpeg utility library
+ This is the common utility library from the ffmpeg project. It is required
+ by all other ffmpeg libraries.
+ .
+ This package contains a Debian-specific version of the libswscale shared
+ object that should only be used by Debian packages.
+
+Package: libavcodec1d
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}
 Description: ffmpeg codec library
  This is the codec library from the ffmpeg project. It supports most existing
  encoding formats (MPEG, DivX, MPEG4, AC3, DV...).
@@ -27,7 +38,7 @@
  This package contains a Debian-specific version of the libavcodec shared
  object that should only be used by Debian packages.
 
-Package: libpostproc0d
+Package: libpostproc1d
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}
@@ -37,7 +48,7 @@
  This package contains a Debian-specific version of the libpostproc shared
  object that should only be used by Debian packages.
 
-Package: libavformat0d
+Package: libavformat1d
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}
@@ -48,10 +59,33 @@
  This package contains a Debian-specific version of the libavformat shared
  object that should only be used by Debian packages.
 
+Package: libswscale1d
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: ffmpeg video scaling library
+ This is the video scaling library from the ffmpeg project.
+ .
+ This package contains a Debian-specific version of the libswscale shared
+ object that should only be used by Debian packages.
+
+Package: libavutil-dev
+Section: libdevel
+Architecture: any
+Depends: libavutil1d (= ${Source-Version}), ${shlibs:Depends}
+Conflicts: libavformat-dev (<< 0.cvs20060329-4), libavcodec-dev (<< 0.cvs20070307-1)
+Replaces: libavformat-dev (<< 0.cvs20060329-4), libavcodec-dev (<< 0.cvs20070307-1)
+Description: development files for libavutil
+ This is the common utility library from the ffmpeg project. It is required
+ by all other ffmpeg libraries.
+ .
+ This package contains the header files and static libraries needed to
+ compile applications or shared objects that use libavutil.
+
 Package: libavcodec-dev
 Section: libdevel
 Architecture: any
-Depends: libavcodec0d (= ${Source-Version}), libvorbis-dev, libogg-dev, libdts-dev, liba52-dev, zlib1g-dev, ${lib1394-dev}, libtheora-dev (>> 0.0.0.alpha4), libgsm1-dev, ${shlibs:Depends}
+Depends: libavcodec1d (= ${Source-Version}), libavutil1d (= ${Source-Version}), libvorbis-dev, libogg-dev, libdts-dev, liba52-dev, zlib1g-dev, ${lib1394-dev}, libtheora-dev (>> 0.0.0.alpha4), libgsm1-dev, ${shlibs:Depends}
 Conflicts: libavformat-dev (<< 0.cvs20060329-4)
 Replaces: libavformat-dev (<< 0.cvs20060329-4)
 Description: development files for libavcodec
@@ -64,7 +98,7 @@
 Package: libpostproc-dev
 Section: libdevel
 Architecture: any
-Depends: libpostproc0d (= ${Source-Version}), libavcodec-dev (= ${Source-Version}), ${shlibs:Depends}
+Depends: libpostproc1d (= ${Source-Version}), libavcodec-dev (= ${Source-Version}), ${shlibs:Depends}
 Description: development files for libpostproc
  This is the video postprocessing library from the ffmpeg project.
  .
@@ -74,7 +108,7 @@
 Package: libavformat-dev
 Section: libdevel
 Architecture: any
-Depends: libavformat0d (= ${Source-Version}), libavcodec-dev (= ${Source-Version}), ${shlibs:Depends}
+Depends: libavformat1d (= ${Source-Version}), libavcodec-dev (= ${Source-Version}), ${shlibs:Depends}
 Conflicts: libavcodec-dev (<< 0.cvs20060306-1)
 Replaces: libavcodec-dev (<< 0.cvs20060306-1)
 Description: development files for libavformat
@@ -84,3 +118,13 @@
  This package contains the header files and static libraries needed to
  compile applications or shared objects that use libavformat.
 
+Package: libswscale-dev
+Section: libdevel
+Architecture: any
+Depends: libswscale1d (= ${Source-Version}), libavutil-dev (= ${Source-Version}), ${shlibs:Depends}
+Description: development files for libswscale
+ This is the video scaling library from the ffmpeg project.
+ .
+ This package contains the header files and static libraries needed to
+ compile applications or shared objects that use libswscale.
+

Modified: experimental/ffmpeg/debian/libavcodec-dev.install
===================================================================
--- experimental/ffmpeg/debian/libavcodec-dev.install	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/libavcodec-dev.install	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,17 +1,3 @@
-usr/bin/ffmpeg-config
-usr/share/man/man1/ffmpeg-config.1
-usr/lib/pkgconfig/libavutil.pc
-usr/include/ffmpeg/avutil.h
-usr/include/ffmpeg/adler32.h
-usr/include/ffmpeg/common.h
-usr/include/ffmpeg/integer.h
-usr/include/ffmpeg/intfloat_readwrite.h
-usr/include/ffmpeg/log.h
-usr/include/ffmpeg/mathematics.h
-usr/include/ffmpeg/md5.h
-usr/include/ffmpeg/rational.h
-usr/lib/libavutil.a
-usr/lib/libavutil.so
 usr/lib/pkgconfig/libavcodec.pc
 usr/include/ffmpeg/avcodec.h
 usr/include/ffmpeg/dsputil.h

Deleted: experimental/ffmpeg/debian/libavcodec0d.install
===================================================================
--- experimental/ffmpeg/debian/libavcodec0d.install	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/libavcodec0d.install	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,2 +0,0 @@
-usr/lib/libavutil.so.*
-usr/lib/libavcodec.so.*

Copied: experimental/ffmpeg/debian/libavcodec1d.install (from rev 165, experimental/ffmpeg/debian/libavcodec0d.install)
===================================================================
--- experimental/ffmpeg/debian/libavcodec0d.install	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/libavcodec1d.install	2007-03-07 21:04:14 UTC (rev 166)
@@ -0,0 +1 @@
+usr/lib/libavcodec.so.*

Deleted: experimental/ffmpeg/debian/libavformat0d.install
===================================================================
--- experimental/ffmpeg/debian/libavformat0d.install	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/libavformat0d.install	2007-03-07 21:04:14 UTC (rev 166)
@@ -1 +0,0 @@
-usr/lib/libavformat.so.*

Copied: experimental/ffmpeg/debian/libavformat1d.install (from rev 165, experimental/ffmpeg/debian/libavformat0d.install)

Added: experimental/ffmpeg/debian/libavutil-dev.install
===================================================================
--- experimental/ffmpeg/debian/libavutil-dev.install	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/libavutil-dev.install	2007-03-07 21:04:14 UTC (rev 166)
@@ -0,0 +1,18 @@
+usr/bin/ffmpeg-config
+usr/share/man/man1/ffmpeg-config.1
+usr/lib/pkgconfig/libavutil.pc
+usr/include/ffmpeg/avutil.h
+usr/include/ffmpeg/adler32.h
+usr/include/ffmpeg/common.h
+usr/include/ffmpeg/fifo.h
+usr/include/ffmpeg/integer.h
+usr/include/ffmpeg/intfloat_readwrite.h
+usr/include/ffmpeg/log.h
+usr/include/ffmpeg/lzo.h
+usr/include/ffmpeg/mathematics.h
+usr/include/ffmpeg/md5.h
+usr/include/ffmpeg/opt.h
+usr/include/ffmpeg/random.h
+usr/include/ffmpeg/rational.h
+usr/lib/libavutil.a
+usr/lib/libavutil.so

Added: experimental/ffmpeg/debian/libavutil1d.install
===================================================================
--- experimental/ffmpeg/debian/libavutil1d.install	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/libavutil1d.install	2007-03-07 21:04:14 UTC (rev 166)
@@ -0,0 +1 @@
+usr/lib/libavutil.so.*

Deleted: experimental/ffmpeg/debian/libpostproc0d.install
===================================================================
--- experimental/ffmpeg/debian/libpostproc0d.install	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/libpostproc0d.install	2007-03-07 21:04:14 UTC (rev 166)
@@ -1 +0,0 @@
-usr/lib/libpostproc.so.*

Copied: experimental/ffmpeg/debian/libpostproc1d.install (from rev 165, experimental/ffmpeg/debian/libpostproc0d.install)

Added: experimental/ffmpeg/debian/libswscale-dev.install
===================================================================
--- experimental/ffmpeg/debian/libswscale-dev.install	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/libswscale-dev.install	2007-03-07 21:04:14 UTC (rev 166)
@@ -0,0 +1,5 @@
+usr/lib/pkgconfig/libswscale.pc
+usr/include/ffmpeg/swscale.h
+usr/include/ffmpeg/rgb2rgb.h
+usr/lib/libswscale.a
+usr/lib/libswscale.so

Added: experimental/ffmpeg/debian/libswscale1d.install
===================================================================
--- experimental/ffmpeg/debian/libswscale1d.install	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/libswscale1d.install	2007-03-07 21:04:14 UTC (rev 166)
@@ -0,0 +1 @@
+usr/lib/libswscale.so.*

Modified: experimental/ffmpeg/debian/patches/005_altivec_flags.diff
===================================================================
--- experimental/ffmpeg/debian/patches/005_altivec_flags.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/005_altivec_flags.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,14 +1,13 @@
-Index: ffmpeg-0.cvs20060724/configure
+Index: ffmpeg.svn/configure
 ===================================================================
---- ffmpeg-0.cvs20060724.orig/configure	2006-07-24 17:20:01.000000000 +0200
-+++ ffmpeg-0.cvs20060724/configure	2006-07-24 17:20:05.000000000 +0200
-@@ -1132,7 +1132,8 @@
+--- ffmpeg.svn.orig/configure	2007-03-05 20:57:28.000000000 +0100
++++ ffmpeg.svn/configure	2007-03-05 20:57:34.000000000 +0100
+@@ -1446,7 +1446,7 @@
          if test -n "`$cc -v 2>&1 | grep version | grep Apple`"; then
-             CFLAGS="$CFLAGS -faltivec"
+             add_cflags "-faltivec"
          else
--            CFLAGS="$CFLAGS -maltivec -mabi=altivec"
-+            #CFLAGS="$CFLAGS -maltivec -mabi=altivec"
-+            CFLAGS="$CFLAGS -maltivec"
+-            add_cflags "-maltivec -mabi=altivec"
++            add_cflags "-maltivec"
          fi
      fi
  fi

Modified: experimental/ffmpeg/debian/patches/005_m68k_workaround.diff
===================================================================
--- experimental/ffmpeg/debian/patches/005_m68k_workaround.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/005_m68k_workaround.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,13 +1,13 @@
-Index: ffmpeg-0.cvs20060724/configure
+Index: ffmpeg.svn/configure
 ===================================================================
---- ffmpeg-0.cvs20060724.orig/configure	2006-07-24 17:11:24.000000000 +0200
-+++ ffmpeg-0.cvs20060724/configure	2006-07-24 17:20:01.000000000 +0200
-@@ -1458,6 +1458,8 @@
+--- ffmpeg.svn.orig/configure	2007-03-05 20:57:08.000000000 +0100
++++ ffmpeg.svn/configure	2007-03-05 20:57:28.000000000 +0100
+@@ -1827,6 +1827,8 @@
      if test -n "`$cc -v 2>&1 | grep xlc`"; then
-         CFLAGS="$CFLAGS -O5"
-         LDFLAGS="$LDFLAGS -O5"
+         add_cflags  "-O5"
+         add_ldflags "-O5"
 +    elif test "$cpu" = "m68k" ; then
-+        CFLAGS="-O2 $CFLAGS"
++        add_cflags "-O2"
      else
-         CFLAGS="-O3 $CFLAGS"
+         add_cflags "-O3"
      fi

Modified: experimental/ffmpeg/debian/patches/005_runtime_cpudetect.diff
===================================================================
--- experimental/ffmpeg/debian/patches/005_runtime_cpudetect.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/005_runtime_cpudetect.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,14 +1,15 @@
-Index: ffmpeg-0.cvs20060724/configure
+Index: ffmpeg.svn/configure
 ===================================================================
---- ffmpeg-0.cvs20060724.orig/configure	2006-07-24 17:20:05.000000000 +0200
-+++ ffmpeg-0.cvs20060724/configure	2006-07-24 17:20:09.000000000 +0200
-@@ -1698,6 +1698,9 @@
-     echo "#undef HAVE_ALTIVEC_H" >> $TMPH
-   fi
+--- ffmpeg.svn.orig/configure	2007-03-05 20:45:57.000000000 +0100
++++ ffmpeg.svn/configure	2007-03-05 20:49:10.000000000 +0100
+@@ -2012,6 +2012,10 @@
+   echo "#define __CPU__ 586" >> $TMPH
  fi
+ 
 +if test "$cpu" != "m68k" -a "$cpu" != "x86" ; then
 +  echo "#define RUNTIME_CPUDETECT 1" >> $TMPH
 +fi
- if test "$gprof" = "yes" ; then
-   echo "#define HAVE_GPROF 1" >> $TMPH
- fi
++
+ if enabled sdl; then
+   echo "SDL_LIBS=`"${SDL_CONFIG}" --libs`" >> config.mak
+   echo "SDL_CFLAGS=`"${SDL_CONFIG}" --cflags`" >> config.mak

Modified: experimental/ffmpeg/debian/patches/006_mips_pthreads.diff
===================================================================
--- experimental/ffmpeg/debian/patches/006_mips_pthreads.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/006_mips_pthreads.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,17 +1,15 @@
-Index: ffmpeg-0.cvs20060823/configure
+Index: ffmpeg.svn/configure
 ===================================================================
---- ffmpeg-0.cvs20060823.orig/configure	2006-08-30 18:02:50.000000000 +0200
-+++ ffmpeg-0.cvs20060823/configure	2006-08-30 18:08:23.000000000 +0200
-@@ -1252,7 +1252,11 @@
+--- ffmpeg.svn.orig/configure	2007-03-05 20:57:37.000000000 +0100
++++ ffmpeg.svn/configure	2007-03-05 20:57:39.000000000 +0100
+@@ -1551,6 +1551,10 @@
  # check for some common methods of building with pthread support
  # do this before the optional library checks as some of them require pthreads
  if enabled pthreads; then
--    { check_cflags -pthread && check_ldflags -pthread; } ||
 +    if test "$targetos" = "Linux" -a \
 +            "$cpu" = "mips" ; then
-+        pthreads_ldadd="-lpthread"
++        add_ldflags -lpthread
 +    fi
-+    { check_cflags -pthread && check_ldflags "-pthread $pthreads_ldadd"; } ||
-     { check_cflags -pthreads && check_ldflags -pthreads; } ||
-     check_lib pthread.h pthread_create -lpthread ||
-     check_func pthread_create ||
+     if check_func pthread_create; then
+         :
+     elif check_func pthread_create -pthread; then

Deleted: experimental/ffmpeg/debian/patches/007_disable_ffmpeg_option.diff
===================================================================
--- experimental/ffmpeg/debian/patches/007_disable_ffmpeg_option.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/007_disable_ffmpeg_option.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,59 +0,0 @@
-Index: ffmpeg-0.cvs20060823/Makefile
-===================================================================
---- ffmpeg-0.cvs20060823.orig/Makefile	2006-08-30 18:34:19.000000000 +0200
-+++ ffmpeg-0.cvs20060823/Makefile	2006-08-30 18:34:49.000000000 +0200
-@@ -15,11 +15,13 @@
- CFLAGS := -I$(SRC_PATH)/libswscale $(CFLAGS)
- endif
- 
-+ifeq ($(CONFIG_FFMPEG),yes)
- MANPAGES=doc/ffmpeg.1
- PROGS_G+=ffmpeg_g$(EXESUF)
- PROGS+=ffmpeg$(EXESUF)
- PROGTEST=output_example$(EXESUF)
- QTFASTSTART=qt-faststart$(EXESUF)
-+endif
- 
- ifeq ($(CONFIG_FFSERVER),yes)
- MANPAGES+=doc/ffserver.1
-Index: ffmpeg-0.cvs20060823/configure
-===================================================================
---- ffmpeg-0.cvs20060823.orig/configure	2006-08-30 18:34:19.000000000 +0200
-+++ ffmpeg-0.cvs20060823/configure	2006-08-30 18:36:31.000000000 +0200
-@@ -96,6 +96,7 @@
-   echo "  --disable-mpegaudio-hp   faster (but less accurate)"
-   echo "                           MPEG audio decoding [default=no]"
-   echo "  --disable-protocols      disable I/O protocols support [default=no]"
-+  echo "  --disable-ffmpeg         disable ffmpeg build"
-   echo "  --disable-ffserver       disable ffserver build"
-   echo "  --disable-ffplay         disable ffplay build"
-   echo "  --enable-small           optimize for size instead of speed"
-@@ -445,6 +446,7 @@
- netserver="no"
- need_inet_aton="no"
- protocols="yes"
-+ffmpeg="yes"
- ffserver="yes"
- ffplay="yes"
- LIBOBJFLAGS=""
-@@ -793,6 +795,8 @@
-   ;;
-   --disable-protocols) protocols="no"; network="no"; ffserver="no"
-   ;;
-+  --disable-ffmpeg) ffmpeg="no"
-+  ;;
-   --disable-ffserver) ffserver="no"
-   ;;
-   --disable-ffplay) ffplay="no"
-@@ -2016,6 +2020,11 @@
-   echo "CONFIG_PROTOCOLS=yes" >> config.mak
- fi
- 
-+if test "$ffmpeg" = "yes" ; then
-+  echo "#define CONFIG_FFMPEG 1" >> $TMPH
-+  echo "CONFIG_FFMPEG=yes" >> config.mak
-+fi
-+
- if test "$ffserver" = "yes" ; then
-   echo "#define CONFIG_FFSERVER 1" >> $TMPH
-   echo "CONFIG_FFSERVER=yes" >> config.mak

Modified: experimental/ffmpeg/debian/patches/010_shared_library_versioning.diff
===================================================================
--- experimental/ffmpeg/debian/patches/010_shared_library_versioning.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/010_shared_library_versioning.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,9 +1,9 @@
-Index: ffmpeg-0.cvs20060817/configure
+Index: ffmpeg-0.cvs20070307/configure
 ===================================================================
---- ffmpeg-0.cvs20060817.orig/configure	2006-08-17 12:45:30.000000000 +0200
-+++ ffmpeg-0.cvs20060817/configure	2006-08-17 12:49:18.000000000 +0200
-@@ -1744,11 +1744,11 @@
-   echo "#define HAVE_VHOOK 1" >> $TMPH
+--- ffmpeg-0.cvs20070307.orig/configure	2007-03-07 14:38:52.000000000 +0100
++++ ffmpeg-0.cvs20070307/configure	2007-03-07 14:43:54.000000000 +0100
+@@ -1924,11 +1924,11 @@
+   echo "BUILD_DOC=yes" >> config.mak
  fi
  
 -sws_version=`grep '#define LIBSWSCALE_VERSION ' "$source_path/libswscale/swscale.h" | sed 's/[^0-9\.]//g'`
@@ -19,63 +19,63 @@
  
  
  
-Index: ffmpeg-0.cvs20060817/libavutil/avutil.h
+Index: ffmpeg-0.cvs20070307/libavutil/avutil.h
 ===================================================================
---- ffmpeg-0.cvs20060817.orig/libavutil/avutil.h	2006-07-24 17:11:16.000000000 +0200
-+++ ffmpeg-0.cvs20060817/libavutil/avutil.h	2006-08-17 12:47:42.000000000 +0200
-@@ -15,7 +15,7 @@
+--- ffmpeg-0.cvs20070307.orig/libavutil/avutil.h	2007-03-07 14:37:01.000000000 +0100
++++ ffmpeg-0.cvs20070307/libavutil/avutil.h	2007-03-07 14:43:54.000000000 +0100
+@@ -35,7 +35,7 @@
  #define AV_TOSTRING(s) #s
  
- #define LIBAVUTIL_VERSION_INT   ((49<<16)+(0<<8)+0)
--#define LIBAVUTIL_VERSION       49.0.0
-+#define LIBAVUTIL_VERSION       0d.49.0.0
+ #define LIBAVUTIL_VERSION_INT   ((49<<16)+(3<<8)+0)
+-#define LIBAVUTIL_VERSION       49.3.0
++#define LIBAVUTIL_VERSION       0d.49.3.0
  #define LIBAVUTIL_BUILD         LIBAVUTIL_VERSION_INT
  
  #define LIBAVUTIL_IDENT         "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
-Index: ffmpeg-0.cvs20060817/libavcodec/avcodec.h
+Index: ffmpeg-0.cvs20070307/libavcodec/avcodec.h
 ===================================================================
---- ffmpeg-0.cvs20060817.orig/libavcodec/avcodec.h	2006-08-17 12:39:27.000000000 +0200
-+++ ffmpeg-0.cvs20060817/libavcodec/avcodec.h	2006-08-17 12:49:57.000000000 +0200
-@@ -18,7 +18,7 @@
+--- ffmpeg-0.cvs20070307.orig/libavcodec/avcodec.h	2007-03-07 14:37:04.000000000 +0100
++++ ffmpeg-0.cvs20070307/libavcodec/avcodec.h	2007-03-07 14:43:54.000000000 +0100
+@@ -38,7 +38,7 @@
  #define AV_TOSTRING(s) #s
  
- #define LIBAVCODEC_VERSION_INT  ((51<<16)+(11<<8)+0)
--#define LIBAVCODEC_VERSION      51.11.0
-+#define LIBAVCODEC_VERSION      0d.51.11.0
+ #define LIBAVCODEC_VERSION_INT  ((51<<16)+(38<<8)+0)
+-#define LIBAVCODEC_VERSION      51.38.0
++#define LIBAVCODEC_VERSION      0d.51.38.0
  #define LIBAVCODEC_BUILD        LIBAVCODEC_VERSION_INT
  
  #define LIBAVCODEC_IDENT        "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
-Index: ffmpeg-0.cvs20060817/libavformat/avformat.h
+Index: ffmpeg-0.cvs20070307/libavformat/avformat.h
 ===================================================================
---- ffmpeg-0.cvs20060817.orig/libavformat/avformat.h	2006-08-17 12:39:28.000000000 +0200
-+++ ffmpeg-0.cvs20060817/libavformat/avformat.h	2006-08-17 12:47:42.000000000 +0200
-@@ -6,7 +6,7 @@
+--- ffmpeg-0.cvs20070307.orig/libavformat/avformat.h	2007-03-07 14:37:06.000000000 +0100
++++ ffmpeg-0.cvs20070307/libavformat/avformat.h	2007-03-07 14:43:54.000000000 +0100
+@@ -26,7 +26,7 @@
  #endif
  
- #define LIBAVFORMAT_VERSION_INT ((50<<16)+(5<<8)+0)
--#define LIBAVFORMAT_VERSION     50.5.0
-+#define LIBAVFORMAT_VERSION     0d.50.5.0
+ #define LIBAVFORMAT_VERSION_INT ((51<<16)+(10<<8)+0)
+-#define LIBAVFORMAT_VERSION     51.10.0
++#define LIBAVFORMAT_VERSION     0d.51.10.0
  #define LIBAVFORMAT_BUILD       LIBAVFORMAT_VERSION_INT
  
  #define LIBAVFORMAT_IDENT       "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
-Index: ffmpeg-0.cvs20060817/common.mak
+Index: ffmpeg-0.cvs20070307/common.mak
 ===================================================================
---- ffmpeg-0.cvs20060817.orig/common.mak	2006-08-17 12:39:28.000000000 +0200
-+++ ffmpeg-0.cvs20060817/common.mak	2006-08-17 12:50:26.000000000 +0200
-@@ -64,7 +64,7 @@
+--- ffmpeg-0.cvs20070307.orig/common.mak	2007-03-07 14:37:06.000000000 +0100
++++ ffmpeg-0.cvs20070307/common.mak	2007-03-07 14:43:54.000000000 +0100
+@@ -68,7 +68,7 @@
  	cd "$(shlibdir)" && \
  		ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR)
  	cd "$(shlibdir)" && \
 -		ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME)
 +		ln -sf $(SLIBNAME_WITH_MAJOR) $(SLIBNAME)
+ 	$(SLIB_INSTALL_EXTRA_CMD)
  
  install-lib-static: $(LIB)
- 	install -d "$(libdir)"
-Index: ffmpeg-0.cvs20060817/libpostproc/postprocess.h
+Index: ffmpeg-0.cvs20070307/libpostproc/postprocess.h
 ===================================================================
---- ffmpeg-0.cvs20060817.orig/libpostproc/postprocess.h	2006-06-11 14:17:36.000000000 +0200
-+++ ffmpeg-0.cvs20060817/libpostproc/postprocess.h	2006-08-17 12:47:42.000000000 +0200
-@@ -30,7 +30,7 @@
+--- ffmpeg-0.cvs20070307.orig/libpostproc/postprocess.h	2007-03-07 11:17:32.000000000 +0100
++++ ffmpeg-0.cvs20070307/libpostproc/postprocess.h	2007-03-07 14:43:54.000000000 +0100
+@@ -32,7 +32,7 @@
  #endif
  
  #define LIBPOSTPROC_VERSION_INT ((51<<16)+(1<<8)+0)

Modified: experimental/ffmpeg/debian/patches/020_disable_snow_mmx_in_pic.diff
===================================================================
--- experimental/ffmpeg/debian/patches/020_disable_snow_mmx_in_pic.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/020_disable_snow_mmx_in_pic.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -6,8 +6,8 @@
              c->avg_h264_chroma_pixels_tab[1]= avg_h264_chroma_mc4_3dnow;
          }
  
--#ifdef CONFIG_SNOW_ENCODER
-+#if defined(CONFIG_SNOW_ENCODER) && (defined(ARCH_X86_64) || !defined(PIC))
+-#ifdef CONFIG_SNOW_DECODER
++#if defined(CONFIG_SNOW_DECODER) && (defined(ARCH_X86_64) || !defined(PIC))
          if(mm_flags & MM_SSE2){
              c->horizontal_compose97i = ff_snow_horizontal_compose97i_sse2;
              c->vertical_compose97i = ff_snow_vertical_compose97i_sse2;

Modified: experimental/ffmpeg/debian/patches/020_mmx_optims.diff
===================================================================
--- experimental/ffmpeg/debian/patches/020_mmx_optims.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/020_mmx_optims.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -3,10 +3,10 @@
 --- ffmpeg-0.cvs20060724.orig/libavcodec/Makefile	2006-07-24 17:11:20.000000000 +0200
 +++ ffmpeg-0.cvs20060724/libavcodec/Makefile	2006-07-24 17:22:05.000000000 +0200
 @@ -285,6 +285,7 @@
- 	i386/idct_mmx.o i386/motion_est_mmx.o \
- 	i386/simple_idct_mmx.o i386/fft_sse.o i386/vp3dsp_mmx.o \
- 	i386/vp3dsp_sse2.o i386/fft_3dn.o i386/fft_3dn2.o i386/snowdsp_mmx.o
+         i386/fft_3dn.o \
+         i386/fft_3dn2.o \
+ 
 +i386/dsputil_mmx.o: CFLAGS+= -O3 # "-O2" isn't enough, nor is "-O2 -finline-functions -frename-registers" (so long for gcc documentation)
- ifeq ($(CONFIG_GPL),yes)
- OBJS += i386/idct_mmx_xvid.o
- endif
+ OBJS-$(CONFIG_GPL)                     += i386/idct_mmx.o
+ OBJS-$(CONFIG_CAVS_DECODER)            += i386/cavsdsp_mmx.o
+ OBJS-$(CONFIG_SNOW_DECODER)            += i386/snowdsp_mmx.o

Deleted: experimental/ffmpeg/debian/patches/020_really_use_liba52.diff
===================================================================
--- experimental/ffmpeg/debian/patches/020_really_use_liba52.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/020_really_use_liba52.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,37 +0,0 @@
-Index: ffmpeg-0.cvs20060823/libavcodec/Makefile
-===================================================================
---- ffmpeg-0.cvs20060823.orig/libavcodec/Makefile	2006-08-30 18:47:27.000000000 +0200
-+++ ffmpeg-0.cvs20060823/libavcodec/Makefile	2006-08-30 18:48:02.000000000 +0200
-@@ -220,13 +220,13 @@
- OBJS-$(CONFIG_AC3)                     += a52dec.o
- 
- # using builtin liba52 or runtime linked liba52.so.0
--OBJS-$(CONFIG_AC3)$(CONFIG_A52BIN)     += liba52/bit_allocate.o \
--                                          liba52/bitstream.o    \
--                                          liba52/downmix.o      \
--                                          liba52/imdct.o        \
--                                          liba52/parse.o        \
--                                          liba52/crc.o          \
--                                          liba52/resample.o
-+#OBJS-$(CONFIG_AC3)$(CONFIG_A52BIN)     += liba52/bit_allocate.o \
-+#                                          liba52/bitstream.o    \
-+#                                          liba52/downmix.o      \
-+#                                          liba52/imdct.o        \
-+#                                          liba52/parse.o        \
-+#                                          liba52/crc.o          \
-+#                                          liba52/resample.o
- 
- # currently using libdts for dts decoding
- OBJS-$(CONFIG_DTS)                     += dtsdec.o
-Index: ffmpeg-0.cvs20060823/configure
-===================================================================
---- ffmpeg-0.cvs20060823.orig/configure	2006-08-30 18:48:08.000000000 +0200
-+++ ffmpeg-0.cvs20060823/configure	2006-08-30 18:49:36.000000000 +0200
-@@ -1268,6 +1268,7 @@
- fi
- 
- # these are off by default, so fail if requested and not available
-+enabled a52     && require liba52 a52dec/a52.h a52_init -la52
- enabled dts     && require libdts dts.h dts_init -ldts
- enabled libgsm  && require libgsm gsm.h gsm_create -lgsm
- enabled mp3lame && require LAME lame/lame.h lame_init -lmp3lame

Deleted: experimental/ffmpeg/debian/patches/030_arm_cpu_detect.diff
===================================================================
--- experimental/ffmpeg/debian/patches/030_arm_cpu_detect.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/030_arm_cpu_detect.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,13 +0,0 @@
---- ffmpeg-0.cvs20060823.orig/configure
-+++ ffmpeg-0.cvs20060823/configure
-@@ -360,8 +360,8 @@
-       fi
-     fi
-   ;;
--  # armv4l is a subset of armv5tel
--  armv4l|armv5tel)
-+  # armv4l is a subset of armv[567]*l
-+  armv[4567]*l)
-     cpu="armv4l"
-   ;;
-   alpha)

Deleted: experimental/ffmpeg/debian/patches/030_arm_workaround.diff
===================================================================
--- experimental/ffmpeg/debian/patches/030_arm_workaround.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/030_arm_workaround.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,11 +0,0 @@
---- ffmpeg-0.cvs20060823.orig/libavcodec/mpegaudiodec.c
-+++ ffmpeg-0.cvs20060823/libavcodec/mpegaudiodec.c
-@@ -55,7 +55,7 @@
-         ({ int64_t rt; asm ("imull %2\n\t" : "=A"(rt) : "a" (ra), "g" (rb)); rt; })
- #   define MULH(ra, rb) \
-         ({ int rt, dummy; asm ("imull %3\n\t" : "=d"(rt), "=a"(dummy): "a" (ra), "rm" (rb)); rt; })
--#elif defined(ARCH_ARMV4L)
-+#elif defined(ARCH_ARMV4L_BROKEN)
- #   define MULL(a, b) \
-         ({  int lo, hi;\
-             asm("smull %0, %1, %2, %3     \n\t"\

Modified: experimental/ffmpeg/debian/patches/040_early_altivec_detection.diff
===================================================================
--- experimental/ffmpeg/debian/patches/040_early_altivec_detection.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/040_early_altivec_detection.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,8 +1,8 @@
-Index: ffmpeg-0.cvs20060823/libavcodec/ppc/dsputil_altivec.c
+Index: ffmpeg-0.cvs20070307/libavcodec/ppc/dsputil_altivec.c
 ===================================================================
---- ffmpeg-0.cvs20060823.orig/libavcodec/ppc/dsputil_altivec.c	2007-01-28 13:18:29.000000000 +0100
-+++ ffmpeg-0.cvs20060823/libavcodec/ppc/dsputil_altivec.c	2007-01-28 13:40:40.000000000 +0100
-@@ -1654,7 +1654,7 @@
+--- ffmpeg-0.cvs20070307.orig/libavcodec/ppc/dsputil_altivec.c	2007-03-07 11:17:31.000000000 +0100
++++ ffmpeg-0.cvs20070307/libavcodec/ppc/dsputil_altivec.c	2007-03-07 15:04:26.000000000 +0100
+@@ -1419,7 +1419,7 @@
      return score;
  }
  
@@ -11,7 +11,7 @@
  {
  #ifdef __AMIGAOS4__
      ULONG result = 0;
-@@ -1698,6 +1698,15 @@
+@@ -1463,6 +1463,15 @@
  #endif /* __AMIGAOS4__ */
  }
  
@@ -27,11 +27,11 @@
  static void vorbis_inverse_coupling_altivec(float *mag, float *ang,
                                              int blocksize)
  {
-Index: ffmpeg-0.cvs20060823/libavcodec/dsputil.c
+Index: ffmpeg-0.cvs20070307/libavcodec/dsputil.c
 ===================================================================
---- ffmpeg-0.cvs20060823.orig/libavcodec/dsputil.c	2007-01-28 13:36:58.000000000 +0100
-+++ ffmpeg-0.cvs20060823/libavcodec/dsputil.c	2007-01-28 13:38:00.000000000 +0100
-@@ -32,6 +32,11 @@
+--- ffmpeg-0.cvs20070307.orig/libavcodec/dsputil.c	2007-03-07 14:37:04.000000000 +0100
++++ ffmpeg-0.cvs20070307/libavcodec/dsputil.c	2007-03-07 15:05:47.000000000 +0100
+@@ -34,6 +34,11 @@
  #include "faandct.h"
  #include "snow.h"
  
@@ -43,13 +43,13 @@
  /* snow.c */
  void ff_spatial_dwt(int *buffer, int width, int height, int stride, int type, int decomposition_count);
  
-@@ -3841,6 +3846,9 @@
+@@ -3793,6 +3798,9 @@
  {
      int i;
  
 +#if HAVE_ALTIVEC==1
 +    (void)has_altivec();
 +#endif
-     for(i=0;i<256;i++) cropTbl[i + MAX_NEG_CROP] = i;
+     for(i=0;i<256;i++) ff_cropTbl[i + MAX_NEG_CROP] = i;
      for(i=0;i<MAX_NEG_CROP;i++) {
-         cropTbl[i] = 0;
+         ff_cropTbl[i] = 0;

Modified: experimental/ffmpeg/debian/patches/040_only_use_maltivec_when_needed.diff
===================================================================
--- experimental/ffmpeg/debian/patches/040_only_use_maltivec_when_needed.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/040_only_use_maltivec_when_needed.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,12 +1,12 @@
-Index: ffmpeg-0.cvs20060823/configure
+Index: ffmpeg-0.cvs20070307/configure
 ===================================================================
---- ffmpeg-0.cvs20060823.orig/configure	2007-01-29 04:53:04.000000000 -0600
-+++ ffmpeg-0.cvs20060823/configure	2007-01-29 04:53:07.000000000 -0600
-@@ -1136,11 +1136,13 @@
-             CFLAGS="$CFLAGS -faltivec"
+--- ffmpeg-0.cvs20070307.orig/configure	2007-03-07 15:06:21.000000000 +0100
++++ ffmpeg-0.cvs20070307/configure	2007-03-07 15:09:22.000000000 +0100
+@@ -1410,11 +1410,13 @@
+         if test -n "`$cc -v 2>&1 | grep version | grep Apple`"; then
+             add_cflags "-faltivec"
          else
-             #CFLAGS="$CFLAGS -maltivec -mabi=altivec"
--            CFLAGS="$CFLAGS -maltivec"
+-            add_cflags "-maltivec"
 +            ALTIVECFLAGS="$ALTIVECFLAGS -maltivec"
          fi
      fi
@@ -14,30 +14,30 @@
  
 +save_flags
 +temp_cflags $ALTIVECFLAGS
- check_header altivec.h && _altivec_h=yes || _altivec_h=no
+ check_header altivec.h
  
  # check if our compiler supports Motorola AltiVec C API
-@@ -1159,6 +1161,7 @@
- }
+@@ -1461,6 +1463,7 @@
+         }
  EOF
  fi
 +restore_flags
  
  # mmi only available on mips
  if test $mmi = "default"; then
-@@ -1599,6 +1602,7 @@
- test "$needmdynamicnopic" = yes && add_cflags -mdynamic-no-pic
+@@ -1862,6 +1865,7 @@
+ fi
  
  echo "OPTFLAGS=$CFLAGS" >> config.mak
 +echo "ALTIVECFLAGS=$ALTIVECFLAGS" >> config.mak
  echo "VHOOKCFLAGS=$VHOOKCFLAGS">>config.mak
  echo "LDFLAGS=$LDFLAGS" >> config.mak
  echo "LDCONFIG=$LDCONFIG" >> config.mak
-Index: ffmpeg-0.cvs20060823/libavcodec/Makefile
+Index: ffmpeg-0.cvs20070307/libavcodec/Makefile
 ===================================================================
---- ffmpeg-0.cvs20060823.orig/libavcodec/Makefile	2007-01-29 04:53:04.000000000 -0600
-+++ ffmpeg-0.cvs20060823/libavcodec/Makefile	2007-01-29 04:53:07.000000000 -0600
-@@ -282,7 +282,8 @@
+--- ffmpeg-0.cvs20070307.orig/libavcodec/Makefile	2007-03-07 15:06:22.000000000 +0100
++++ ffmpeg-0.cvs20070307/libavcodec/Makefile	2007-03-07 15:06:38.000000000 +0100
+@@ -311,7 +311,8 @@
  OBJS-$(HAVE_XVMC_ACCEL)                += xvmcvideo.o
  
  ifneq ($(CONFIG_SWSCALER),yes)
@@ -47,28 +47,11 @@
  endif
  
  # i386 mmx specific stuff
-@@ -355,6 +356,16 @@
-                                           ppc/snow_altivec.o 	     \
-                                           ppc/vc1dsp_altivec.o       \
-                                           ppc/float_altivec.o
-+ppc/dsputil_altivec.o: CFLAGS+= $(ALTIVECFLAGS)
-+ppc/mpegvideo_altivec.o: CFLAGS+= $(ALTIVECFLAGS)
-+ppc/idct_altivec.o: CFLAGS+= $(ALTIVECFLAGS)
-+ppc/fft_altivec.o: CFLAGS+= $(ALTIVECFLAGS)
-+ppc/gmc_altivec.o: CFLAGS+= $(ALTIVECFLAGS)
-+ppc/fdct_altivec.o: CFLAGS+= $(ALTIVECFLAGS)
-+ppc/h264_altivec.o: CFLAGS+= $(ALTIVECFLAGS)
-+ppc/snow_altivec.o: CFLAGS+= $(ALTIVECFLAGS)
-+ppc/vc1dsp_altivec.o: CFLAGS+= $(ALTIVECFLAGS)
-+ppc/float_altivec.o: CFLAGS+= $(ALTIVECFLAGS)
- 
- CFLAGS += $(CFLAGS-yes)
- OBJS += $(OBJS-yes)
-Index: ffmpeg-0.cvs20060823/libavcodec/dsputil.h
+Index: ffmpeg-0.cvs20070307/libavcodec/dsputil.h
 ===================================================================
---- ffmpeg-0.cvs20060823.orig/libavcodec/dsputil.h	2007-01-29 04:53:04.000000000 -0600
-+++ ffmpeg-0.cvs20060823/libavcodec/dsputil.h	2007-01-29 04:53:07.000000000 -0600
-@@ -541,12 +541,6 @@
+--- ffmpeg-0.cvs20070307.orig/libavcodec/dsputil.h	2007-03-07 14:37:04.000000000 +0100
++++ ffmpeg-0.cvs20070307/libavcodec/dsputil.h	2007-03-07 15:06:38.000000000 +0100
+@@ -556,12 +556,6 @@
  
  extern int mm_flags;
  
@@ -81,11 +64,11 @@
  #define DECLARE_ALIGNED_8(t,v)    t v __attribute__ ((aligned (16)))
  #define STRIDE_ALIGN 16
  
-Index: ffmpeg-0.cvs20060823/libavcodec/imgresample.c
+Index: ffmpeg-0.cvs20070307/libavcodec/imgresample.c
 ===================================================================
---- ffmpeg-0.cvs20060823.orig/libavcodec/imgresample.c	2007-01-29 04:53:04.000000000 -0600
-+++ ffmpeg-0.cvs20060823/libavcodec/imgresample.c	2007-01-29 04:53:07.000000000 -0600
-@@ -277,133 +277,6 @@
+--- ffmpeg-0.cvs20070307.orig/libavcodec/imgresample.c	2007-03-07 14:37:04.000000000 +0100
++++ ffmpeg-0.cvs20070307/libavcodec/imgresample.c	2007-03-07 15:06:38.000000000 +0100
+@@ -284,133 +284,6 @@
  }
  #endif
  
@@ -219,10 +202,10 @@
  /* slow version to handle limit cases. Does not need optimisation */
  static void h_resample_slow(uint8_t *dst, int dst_width,
                              const uint8_t *src, int src_width,
-Index: ffmpeg-0.cvs20060823/libavcodec/imgresample_altivec.c
+Index: ffmpeg-0.cvs20070307/libavcodec/imgresample_altivec.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ ffmpeg-0.cvs20060823/libavcodec/imgresample_altivec.c	2007-01-29 04:53:07.000000000 -0600
++++ ffmpeg-0.cvs20070307/libavcodec/imgresample_altivec.c	2007-03-07 15:06:38.000000000 +0100
 @@ -0,0 +1,164 @@
 +/*
 + * High quality image resampling with polyphase filters
@@ -388,13 +371,13 @@
 +}
 +#endif
 +
-Index: ffmpeg-0.cvs20060823/libpostproc/Makefile
+Index: ffmpeg-0.cvs20070307/libpostproc/Makefile
 ===================================================================
---- ffmpeg-0.cvs20060823.orig/libpostproc/Makefile	2007-01-29 04:55:08.000000000 -0600
-+++ ffmpeg-0.cvs20060823/libpostproc/Makefile	2007-01-29 04:56:36.000000000 -0600
+--- ffmpeg-0.cvs20070307.orig/libpostproc/Makefile	2007-03-07 14:37:04.000000000 +0100
++++ ffmpeg-0.cvs20070307/libpostproc/Makefile	2007-03-07 15:10:20.000000000 +0100
 @@ -10,8 +10,10 @@
+ LIBVERSION=$(SPPVERSION)
  LIBMAJOR=$(SPPMAJOR)
- endif
  
 -STATIC_OBJS=postprocess.o
 -SHARED_OBJS=postprocess_pic.o
@@ -405,19 +388,18 @@
  
  HEADERS = postprocess.h
  
-@@ -23,5 +25,7 @@
- ifeq ($(BUILD_SHARED),yes)
+@@ -21,4 +23,6 @@
+ 
  postprocess_pic.o: postprocess.c
  	$(CC) -c $(CFLAGS) -fomit-frame-pointer -fPIC -DPIC -o $@ $<
 +postprocess_altivec_pic.o: postprocess_altivec.c
 +	$(CC) -c $(CFLAGS) -fomit-frame-pointer -fPIC -DPIC -o $@ $<
- endif
  
-Index: ffmpeg-0.cvs20060823/libpostproc/postprocess.c
+Index: ffmpeg-0.cvs20070307/libpostproc/postprocess.c
 ===================================================================
---- ffmpeg-0.cvs20060823.orig/libpostproc/postprocess.c	2007-01-29 04:54:58.000000000 -0600
-+++ ffmpeg-0.cvs20060823/libpostproc/postprocess.c	2007-01-29 04:58:28.000000000 -0600
-@@ -92,10 +92,6 @@
+--- ffmpeg-0.cvs20070307.orig/libpostproc/postprocess.c	2007-03-07 11:17:32.000000000 +0100
++++ ffmpeg-0.cvs20070307/libpostproc/postprocess.c	2007-03-07 15:10:42.000000000 +0100
+@@ -95,10 +95,6 @@
  
  #include "mangle.h" //FIXME should be supressed
  
@@ -425,10 +407,10 @@
 -#include <altivec.h>
 -#endif
 -
- #ifndef HAVE_MEMALIGN
- #define memalign(a,b) malloc(b)
- #endif
-@@ -630,8 +626,8 @@
+ #define GET_MODE_BUFFER_SIZE 500
+ #define OPTIONS_ARRAY_SIZE 10
+ #define BLOCK_SIZE 8
+@@ -614,8 +610,8 @@
  #undef RENAME
  #define HAVE_ALTIVEC
  #define RENAME(a) a ## _altivec
@@ -439,10 +421,10 @@
  #endif
  #endif //ARCH_POWERPC
  
-Index: ffmpeg-0.cvs20060823/libpostproc/postprocess_altivec.c
+Index: ffmpeg-0.cvs20070307/libpostproc/postprocess_altivec.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ ffmpeg-0.cvs20060823/libpostproc/postprocess_altivec.c	2007-01-29 04:59:29.000000000 -0600
++++ ffmpeg-0.cvs20070307/libpostproc/postprocess_altivec.c	2007-03-07 15:06:38.000000000 +0100
 @@ -0,0 +1,614 @@
 +/*
 +    Copyright (C) 2001-2003 Michael Niedermayer (michaelni at gmx.at)

Deleted: experimental/ffmpeg/debian/patches/050_h264-misc-security-fixes.diff
===================================================================
--- experimental/ffmpeg/debian/patches/050_h264-misc-security-fixes.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/050_h264-misc-security-fixes.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,561 +0,0 @@
-Index: ffmpeg-0.cvs20060823/libavcodec/h264.c
-===================================================================
---- ffmpeg-0.cvs20060823.orig/libavcodec/h264.c	2006-08-17 12:39:27.000000000 +0200
-+++ ffmpeg-0.cvs20060823/libavcodec/h264.c	2007-01-24 11:52:38.000000000 +0100
-@@ -115,12 +115,12 @@
-  * Picture parameter set
-  */
- typedef struct PPS{
--    int sps_id;
-+    unsigned int sps_id;
-     int cabac;                  ///< entropy_coding_mode_flag
-     int pic_order_present;      ///< pic_order_present_flag
-     int slice_group_count;      ///< num_slice_groups_minus1 + 1
-     int mb_slice_group_map_type;
--    int ref_count[2];           ///< num_ref_idx_l0/1_active_minus1 + 1
-+    unsigned int ref_count[2];  ///< num_ref_idx_l0/1_active_minus1 + 1
-     int weighted_pred;          ///< weighted_pred_flag
-     int weighted_bipred_idc;
-     int init_qp;                ///< pic_init_qp_minus26 + 26
-@@ -286,7 +286,7 @@
-     int mb_field_decoding_flag;
-     int mb_mbaff;              ///< mb_aff_frame && mb_field_decoding_flag
- 
--    int sub_mb_type[4];
-+    unsigned int sub_mb_type[4];
- 
-     //POC stuff
-     int poc_lsb;
-@@ -337,7 +337,7 @@
-     /**
-      * num_ref_idx_l0/1_active_minus1 + 1
-      */
--    int ref_count[2];            ///< counts frames or fields, depending on current mb mode
-+    unsigned int ref_count[2];   ///< counts frames or fields, depending on current mb mode
-     Picture *short_ref[32];
-     Picture *long_ref[32];
-     Picture default_ref_list[2][32];
-@@ -361,6 +361,7 @@
-     GetBitContext *inter_gb_ptr;
- 
-     DECLARE_ALIGNED_8(DCTELEM, mb[16*24]);
-+    DCTELEM mb_padding[256];        ///< as mb is addressed by scantable[i] and scantable is uint8_t we can either check that i is not to large or ensure that there is some unused stuff after mb
- 
-     /**
-      * Cabac
-@@ -1399,7 +1400,7 @@
-     const int8_t *l1ref0 = &h->ref_list[1][0].ref_index[0][b8_xy];
-     const int8_t *l1ref1 = &h->ref_list[1][0].ref_index[1][b8_xy];
-     const int is_b8x8 = IS_8X8(*mb_type);
--    int sub_mb_type;
-+    unsigned int sub_mb_type;
-     int i8, i4;
- 
- #define MB_TYPE_16x16_OR_INTRA (MB_TYPE_16x16|MB_TYPE_INTRA4x4|MB_TYPE_INTRA16x16|MB_TYPE_INTRA_PCM)
-@@ -1778,6 +1779,10 @@
-     h->rbsp_buffer= av_fast_realloc(h->rbsp_buffer, &h->rbsp_buffer_size, length);
-     dst= h->rbsp_buffer;
- 
-+    if (dst == NULL){
-+        return NULL;
-+    }
-+
- //printf("decoding esc\n");
-     si=di=0;
-     while(si<length){
-@@ -4018,8 +4023,8 @@
-             int pred= h->curr_pic_num;
- 
-             for(index=0; ; index++){
--                int reordering_of_pic_nums_idc= get_ue_golomb(&s->gb);
--                int pic_id;
-+                unsigned int reordering_of_pic_nums_idc= get_ue_golomb(&s->gb);
-+                unsigned int pic_id;
-                 int i;
-                 Picture *ref = NULL;
- 
-@@ -4033,7 +4038,7 @@
- 
-                 if(reordering_of_pic_nums_idc<3){
-                     if(reordering_of_pic_nums_idc<2){
--                        const int abs_diff_pic_num= get_ue_golomb(&s->gb) + 1;
-+                        const unsigned int abs_diff_pic_num= get_ue_golomb(&s->gb) + 1;
- 
-                         if(abs_diff_pic_num >= h->max_pic_num){
-                             av_log(h->s.avctx, AV_LOG_ERROR, "abs_diff_pic_num overflow\n");
-@@ -4055,11 +4060,19 @@
-                             ref->pic_id= ref->frame_num;
-                     }else{
-                         pic_id= get_ue_golomb(&s->gb); //long_term_pic_idx
-+                        if(pic_id>31){
-+                            av_log(h->s.avctx, AV_LOG_ERROR, "long_term_pic_idx overflow\n");
-+                            return -1;
-+                        }
-                         ref = h->long_ref[pic_id];
--                        ref->pic_id= pic_id;
--                        assert(ref->reference == 3);
--                        assert(ref->long_ref);
--                        i=0;
-+                        if(ref){
-+                            ref->pic_id= pic_id;
-+                            assert(ref->reference == 3);
-+                            assert(ref->long_ref);
-+                            i=0;
-+                        }else{
-+                            i=-1;
-+                        }
-                     }
- 
-                     if (i < 0) {
-@@ -4365,8 +4378,10 @@
-             if(pic) unreference_pic(h, pic);
- 
-             h->long_ref[ mmco[i].long_index ]= remove_short(h, mmco[i].short_frame_num);
--            h->long_ref[ mmco[i].long_index ]->long_ref=1;
--            h->long_ref_count++;
-+            if (h->long_ref[ mmco[i].long_index ]){
-+                h->long_ref[ mmco[i].long_index ]->long_ref=1;
-+                h->long_ref_count++;
-+            }
-             break;
-         case MMCO_LONG2UNUSED:
-             pic= remove_long(h, mmco[i].long_index);
-@@ -4396,7 +4411,7 @@
-         case MMCO_RESET:
-             while(h->short_ref_count){
-                 pic= remove_short(h, h->short_ref[0]->frame_num);
--                unreference_pic(h, pic);
-+                if(pic) unreference_pic(h, pic);
-             }
-             for(j = 0; j < 16; j++) {
-                 pic= remove_long(h, j);
-@@ -4454,14 +4469,15 @@
-                     }*/
-                 }
-                 if(opcode==MMCO_SHORT2LONG || opcode==MMCO_LONG2UNUSED || opcode==MMCO_LONG || opcode==MMCO_SET_MAX_LONG){
--                    h->mmco[i].long_index= get_ue_golomb(&s->gb);
--                    if(/*h->mmco[i].long_index >= h->long_ref_count || h->long_ref[ h->mmco[i].long_index ] == NULL*/ h->mmco[i].long_index >= 16){
-+                    unsigned int long_index= get_ue_golomb(&s->gb);
-+                    if(/*h->mmco[i].long_index >= h->long_ref_count || h->long_ref[ h->mmco[i].long_index ] == NULL*/ long_index >= 16){
-                         av_log(h->s.avctx, AV_LOG_ERROR, "illegal long ref in memory management control operation %d\n", opcode);
-                         return -1;
-                     }
-+                    h->mmco[i].long_index= long_index;
-                 }
- 
--                if(opcode > MMCO_LONG){
-+                if(opcode > (unsigned)MMCO_LONG){
-                     av_log(h->s.avctx, AV_LOG_ERROR, "illegal memory management control operation %d\n", opcode);
-                     return -1;
-                 }
-@@ -4579,10 +4595,11 @@
-  */
- static int decode_slice_header(H264Context *h){
-     MpegEncContext * const s = &h->s;
--    int first_mb_in_slice, pps_id;
-+    unsigned int first_mb_in_slice;
-+    unsigned int pps_id;
-     int num_ref_idx_active_override_flag;
-     static const uint8_t slice_type_map[5]= {P_TYPE, B_TYPE, I_TYPE, SP_TYPE, SI_TYPE};
--    int slice_type;
-+    unsigned int slice_type, tmp;
-     int default_ref_list_done = 0;
- 
-     s->current_picture.reference= h->nal_ref_idc != 0;
-@@ -4611,7 +4628,7 @@
-     s->pict_type= h->slice_type; // to make a few old func happy, it's wrong though
- 
-     pps_id= get_ue_golomb(&s->gb);
--    if(pps_id>255){
-+    if(pps_id>=MAX_PPS_COUNT){
-         av_log(h->s.avctx, AV_LOG_ERROR, "pps_id out of range\n");
-         return -1;
-     }
-@@ -4735,12 +4752,15 @@
-             h->mb_aff_frame = h->sps.mb_aff;
-         }
-     }
--
--    s->resync_mb_x = s->mb_x = first_mb_in_slice % s->mb_width;
--    s->resync_mb_y = s->mb_y = (first_mb_in_slice / s->mb_width) << h->mb_aff_frame;
--    if(s->mb_y >= s->mb_height){
-+    assert(s->mb_num == s->mb_width * s->mb_height);
-+    if(first_mb_in_slice << h->mb_aff_frame >= s->mb_num ||
-+       first_mb_in_slice                    >= s->mb_num){
-+        av_log(h->s.avctx, AV_LOG_ERROR, "first_mb_in_slice overflow\n");
-         return -1;
-     }
-+    s->resync_mb_x = s->mb_x = first_mb_in_slice % s->mb_width;
-+    s->resync_mb_y = s->mb_y = (first_mb_in_slice / s->mb_width) << h->mb_aff_frame;
-+    assert(s->mb_y < s->mb_height);
- 
-     if(s->picture_structure==PICT_FRAME){
-         h->curr_pic_num=   h->frame_num;
-@@ -4794,6 +4814,7 @@
- 
-             if(h->ref_count[0] > 32 || h->ref_count[1] > 32){
-                 av_log(h->s.avctx, AV_LOG_ERROR, "reference overflow\n");
-+                h->ref_count[0]= h->ref_count[1]= 1;
-                 return -1;
-             }
-         }
-@@ -4820,15 +4841,22 @@
-     if(FRAME_MBAFF)
-         fill_mbaff_ref_list(h);
- 
--    if( h->slice_type != I_TYPE && h->slice_type != SI_TYPE && h->pps.cabac )
--        h->cabac_init_idc = get_ue_golomb(&s->gb);
-+    if( h->slice_type != I_TYPE && h->slice_type != SI_TYPE && h->pps.cabac ){
-+        tmp = get_ue_golomb(&s->gb);
-+        if(tmp > 2){
-+            av_log(s->avctx, AV_LOG_ERROR, "cabac_init_idc overflow\n");
-+            return -1;
-+        }
-+        h->cabac_init_idc= tmp;
-+    }
- 
-     h->last_qscale_diff = 0;
--    s->qscale = h->pps.init_qp + get_se_golomb(&s->gb);
--    if(s->qscale<0 || s->qscale>51){
--        av_log(s->avctx, AV_LOG_ERROR, "QP %d out of range\n", s->qscale);
-+    tmp = h->pps.init_qp + get_se_golomb(&s->gb);
-+    if(tmp>51){
-+        av_log(s->avctx, AV_LOG_ERROR, "QP %u out of range\n", tmp);
-         return -1;
-     }
-+    s->qscale= tmp;
-     h->chroma_qp = get_chroma_qp(h->pps.chroma_qp_index_offset, s->qscale);
-     //FIXME qscale / qp ... stuff
-     if(h->slice_type == SP_TYPE){
-@@ -4842,7 +4870,12 @@
-     h->slice_alpha_c0_offset = 0;
-     h->slice_beta_offset = 0;
-     if( h->pps.deblocking_filter_parameters_present ) {
--        h->deblocking_filter= get_ue_golomb(&s->gb);
-+        tmp= get_ue_golomb(&s->gb);
-+        if(tmp > 2){
-+            av_log(s->avctx, AV_LOG_ERROR, "deblocking_filter_idc %u out of range\n", tmp);
-+            return -1;
-+        }
-+        h->deblocking_filter= tmp;
-         if(h->deblocking_filter < 2)
-             h->deblocking_filter^= 1; // 1<->0
- 
-@@ -4868,7 +4901,7 @@
-     h->emu_edge_height= FRAME_MBAFF ? 0 : h->emu_edge_width;
- 
-     if(s->avctx->debug&FF_DEBUG_PICT_INFO){
--        av_log(h->s.avctx, AV_LOG_DEBUG, "slice:%d %s mb:%d %c pps:%d frame:%d poc:%d/%d ref:%d/%d qp:%d loop:%d:%d:%d weight:%d%s\n",
-+        av_log(h->s.avctx, AV_LOG_DEBUG, "slice:%d %s mb:%d %c pps:%u frame:%d poc:%d/%d ref:%d/%d qp:%d loop:%d:%d:%d weight:%d%s\n",
-                h->slice_num,
-                (s->picture_structure==PICT_FRAME ? "F" : s->picture_structure==PICT_TOP_FIELD ? "T" : "B"),
-                first_mb_in_slice,
-@@ -5132,7 +5165,8 @@
- static int decode_mb_cavlc(H264Context *h){
-     MpegEncContext * const s = &h->s;
-     const int mb_xy= s->mb_x + s->mb_y*s->mb_stride;
--    int mb_type, partition_count, cbp;
-+    int partition_count;
-+    unsigned int mb_type, cbp;
-     int dct8x8_allowed= h->pps.transform_8x8_mode;
- 
-     s->dsp.clear_blocks(h->mb); //FIXME avoid if already clear (move after skip handlong?
-@@ -5246,6 +5280,7 @@
- 
-     //mb_pred
-     if(IS_INTRA(mb_type)){
-+            int pred_mode;
- //            init_top_left_availability(h);
-             if(IS_INTRA4x4(mb_type)){
-                 int i;
-@@ -5277,11 +5312,11 @@
-                 if(h->intra16x16_pred_mode < 0)
-                     return -1;
-             }
--            h->chroma_pred_mode= get_ue_golomb(&s->gb);
- 
--            h->chroma_pred_mode= check_intra_pred_mode(h, h->chroma_pred_mode);
--            if(h->chroma_pred_mode < 0)
-+            pred_mode= check_intra_pred_mode(h, get_ue_golomb(&s->gb));
-+            if(pred_mode < 0)
-                 return -1;
-+            h->chroma_pred_mode= pred_mode;
-     }else if(partition_count==4){
-         int i, j, sub_partition_count[4], list, ref[2][4];
- 
-@@ -5289,7 +5324,7 @@
-             for(i=0; i<4; i++){
-                 h->sub_mb_type[i]= get_ue_golomb(&s->gb);
-                 if(h->sub_mb_type[i] >=13){
--                    av_log(h->s.avctx, AV_LOG_ERROR, "B sub_mb_type %d out of range at %d %d\n", h->sub_mb_type[i], s->mb_x, s->mb_y);
-+                    av_log(h->s.avctx, AV_LOG_ERROR, "B sub_mb_type %u out of range at %d %d\n", h->sub_mb_type[i], s->mb_x, s->mb_y);
-                     return -1;
-                 }
-                 sub_partition_count[i]= b_sub_mb_type_info[ h->sub_mb_type[i] ].partition_count;
-@@ -5308,7 +5343,7 @@
-             for(i=0; i<4; i++){
-                 h->sub_mb_type[i]= get_ue_golomb(&s->gb);
-                 if(h->sub_mb_type[i] >=4){
--                    av_log(h->s.avctx, AV_LOG_ERROR, "P sub_mb_type %d out of range at %d %d\n", h->sub_mb_type[i], s->mb_x, s->mb_y);
-+                    av_log(h->s.avctx, AV_LOG_ERROR, "P sub_mb_type %u out of range at %d %d\n", h->sub_mb_type[i], s->mb_x, s->mb_y);
-                     return -1;
-                 }
-                 sub_partition_count[i]= p_sub_mb_type_info[ h->sub_mb_type[i] ].partition_count;
-@@ -5322,7 +5357,12 @@
-             for(i=0; i<4; i++){
-                 if(IS_DIRECT(h->sub_mb_type[i])) continue;
-                 if(IS_DIR(h->sub_mb_type[i], 0, list)){
--                    ref[list][i] = get_te0_golomb(&s->gb, ref_count); //FIXME init to 0 before and skip?
-+                    unsigned int tmp = get_te0_golomb(&s->gb, ref_count); //FIXME init to 0 before and skip?
-+                    if(tmp>=ref_count){
-+                        av_log(h->s.avctx, AV_LOG_ERROR, "ref %u overflow\n", tmp);
-+                        return -1;
-+                    }
-+                    ref[list][i]= tmp;
-                 }else{
-                  //FIXME
-                     ref[list][i] = -1;
-@@ -5391,7 +5431,11 @@
-             for(list=0; list<2; list++){
-                 if(h->ref_count[list]>0){
-                     if(IS_DIR(mb_type, 0, list)){
--                        const int val= get_te0_golomb(&s->gb, h->ref_count[list]);
-+                        unsigned int val= get_te0_golomb(&s->gb, h->ref_count[list]);
-+                        if(val >= h->ref_count[list]){
-+                            av_log(h->s.avctx, AV_LOG_ERROR, "ref %u overflow\n", val);
-+                            return -1;
-+                        }
-                         fill_rectangle(&h->ref_cache[list][ scan8[0] ], 4, 4, 8, val, 1);
-                     }else
-                         fill_rectangle(&h->ref_cache[list][ scan8[0] ], 4, 4, 8, (LIST_NOT_USED&0xFF), 1);
-@@ -5414,7 +5458,11 @@
-                 if(h->ref_count[list]>0){
-                     for(i=0; i<2; i++){
-                         if(IS_DIR(mb_type, i, list)){
--                            const int val= get_te0_golomb(&s->gb, h->ref_count[list]);
-+                            unsigned int val= get_te0_golomb(&s->gb, h->ref_count[list]);
-+                            if(val >= h->ref_count[list]){
-+                                av_log(h->s.avctx, AV_LOG_ERROR, "ref %u overflow\n", val);
-+                                return -1;
-+                            }
-                             fill_rectangle(&h->ref_cache[list][ scan8[0] + 16*i ], 4, 2, 8, val, 1);
-                         }else
-                             fill_rectangle(&h->ref_cache[list][ scan8[0] + 16*i ], 4, 2, 8, (LIST_NOT_USED&0xFF), 1);
-@@ -5440,7 +5488,11 @@
-                 if(h->ref_count[list]>0){
-                     for(i=0; i<2; i++){
-                         if(IS_DIR(mb_type, i, list)){ //FIXME optimize
--                            const int val= get_te0_golomb(&s->gb, h->ref_count[list]);
-+                            unsigned int val= get_te0_golomb(&s->gb, h->ref_count[list]);
-+                            if(val >= h->ref_count[list]){
-+                                av_log(h->s.avctx, AV_LOG_ERROR, "ref %u overflow\n", val);
-+                                return -1;
-+                            }
-                             fill_rectangle(&h->ref_cache[list][ scan8[0] + 2*i ], 2, 4, 8, val, 1);
-                         }else
-                             fill_rectangle(&h->ref_cache[list][ scan8[0] + 2*i ], 2, 4, 8, (LIST_NOT_USED&0xFF), 1);
-@@ -5469,7 +5521,7 @@
-     if(!IS_INTRA16x16(mb_type)){
-         cbp= get_ue_golomb(&s->gb);
-         if(cbp > 47){
--            av_log(h->s.avctx, AV_LOG_ERROR, "cbp too large (%d) at %d %d\n", cbp, s->mb_x, s->mb_y);
-+            av_log(h->s.avctx, AV_LOG_ERROR, "cbp too large (%u) at %d %d\n", cbp, s->mb_x, s->mb_y);
-             return -1;
-         }
- 
-@@ -5950,6 +6002,10 @@
-             ctx = 4;
-         else
-             ctx = 5;
-+        if(ref >= 32 /*h->ref_list[list]*/){
-+            av_log(h->s.avctx, AV_LOG_ERROR, "overflow in decode_cabac_mb_ref\n");
-+            return 0; //FIXME we should return -1 and check the return everywhere
-+        }
-     }
-     return ref;
- }
-@@ -5983,6 +6039,10 @@
-         while( get_cabac_bypass( &h->cabac ) ) {
-             mvd += 1 << k;
-             k++;
-+            if(k>24){
-+                av_log(h->s.avctx, AV_LOG_ERROR, "overflow in decode_cabac_mb_mvd\n");
-+                return INT_MIN;
-+            }
-         }
-         while( k-- ) {
-             if( get_cabac_bypass( &h->cabac ) )
-@@ -6342,7 +6402,7 @@
-     fill_caches(h, mb_type, 0);
- 
-     if( IS_INTRA( mb_type ) ) {
--        int i;
-+        int i, pred_mode;
-         if( IS_INTRA4x4( mb_type ) ) {
-             if( dct8x8_allowed && decode_cabac_mb_transform_size( h ) ) {
-                 mb_type |= MB_TYPE_8x8DCT;
-@@ -6366,10 +6426,11 @@
-             if( h->intra16x16_pred_mode < 0 ) return -1;
-         }
-         h->chroma_pred_mode_table[mb_xy] =
--            h->chroma_pred_mode          = decode_cabac_mb_chroma_pre_mode( h );
-+        pred_mode                        = decode_cabac_mb_chroma_pre_mode( h );
- 
--        h->chroma_pred_mode= check_intra_pred_mode( h, h->chroma_pred_mode );
--        if( h->chroma_pred_mode < 0 ) return -1;
-+        pred_mode= check_intra_pred_mode( h, pred_mode );
-+        if( pred_mode < 0 ) return -1;
-+        h->chroma_pred_mode= pred_mode;
-     } else if( partition_count == 4 ) {
-         int i, j, sub_partition_count[4], list, ref[2][4];
- 
-@@ -7506,7 +7567,8 @@
- 
- static inline int decode_vui_parameters(H264Context *h, SPS *sps){
-     MpegEncContext * const s = &h->s;
--    int aspect_ratio_info_present_flag, aspect_ratio_idc;
-+    int aspect_ratio_info_present_flag;
-+    unsigned int aspect_ratio_idc;
-     int nal_hrd_parameters_present_flag, vcl_hrd_parameters_present_flag;
- 
-     aspect_ratio_info_present_flag= get_bits1(&s->gb);
-@@ -7628,7 +7690,8 @@
- static inline int decode_seq_parameter_set(H264Context *h){
-     MpegEncContext * const s = &h->s;
-     int profile_idc, level_idc;
--    int sps_id, i;
-+    unsigned int sps_id, tmp, mb_width, mb_height;
-+    int i;
-     SPS *sps;
- 
-     profile_idc= get_bits(&s->gb, 8);
-@@ -7640,6 +7703,12 @@
-     level_idc= get_bits(&s->gb, 8);
-     sps_id= get_ue_golomb(&s->gb);
- 
-+    if (sps_id >= MAX_SPS_COUNT){
-+        // ok it has gone out of hand, someone is sending us bad stuff.
-+        av_log(h->s.avctx, AV_LOG_ERROR, "illegal sps_id (%d)\n", sps_id);
-+        return -1;
-+    }
-+
-     sps= &h->sps_buffer[ sps_id ];
-     sps->profile_idc= profile_idc;
-     sps->level_idc= level_idc;
-@@ -7663,26 +7732,36 @@
-         sps->delta_pic_order_always_zero_flag= get_bits1(&s->gb);
-         sps->offset_for_non_ref_pic= get_se_golomb(&s->gb);
-         sps->offset_for_top_to_bottom_field= get_se_golomb(&s->gb);
--        sps->poc_cycle_length= get_ue_golomb(&s->gb);
-+        tmp= get_ue_golomb(&s->gb);
-+
-+        if(tmp >= sizeof(sps->offset_for_ref_frame) / sizeof(sps->offset_for_ref_frame[0])){
-+            av_log(h->s.avctx, AV_LOG_ERROR, "poc_cycle_length overflow %u\n", tmp);
-+            return -1;
-+        }
-+        sps->poc_cycle_length= tmp;
- 
-         for(i=0; i<sps->poc_cycle_length; i++)
-             sps->offset_for_ref_frame[i]= get_se_golomb(&s->gb);
--    }
--    if(sps->poc_type > 2){
-+    }else if(sps->poc_type != 2){
-         av_log(h->s.avctx, AV_LOG_ERROR, "illegal POC type %d\n", sps->poc_type);
-         return -1;
-     }
- 
--    sps->ref_frame_count= get_ue_golomb(&s->gb);
--    if(sps->ref_frame_count > MAX_PICTURE_COUNT-2){
-+    tmp= get_ue_golomb(&s->gb);
-+    if(tmp > MAX_PICTURE_COUNT-2){
-         av_log(h->s.avctx, AV_LOG_ERROR, "too many reference frames\n");
-     }
-+    sps->ref_frame_count= tmp;
-     sps->gaps_in_frame_num_allowed_flag= get_bits1(&s->gb);
--    sps->mb_width= get_ue_golomb(&s->gb) + 1;
--    sps->mb_height= get_ue_golomb(&s->gb) + 1;
--    if((unsigned)sps->mb_width >= INT_MAX/16 || (unsigned)sps->mb_height >= INT_MAX/16 ||
--       avcodec_check_dimensions(NULL, 16*sps->mb_width, 16*sps->mb_height))
-+    mb_width= get_ue_golomb(&s->gb) + 1;
-+    mb_height= get_ue_golomb(&s->gb) + 1;
-+    if(mb_width >= INT_MAX/16 || mb_height >= INT_MAX/16 ||
-+       avcodec_check_dimensions(NULL, 16*mb_width, 16*mb_height)){
-+        av_log(h->s.avctx, AV_LOG_ERROR, "mb_width/height overflow\n");
-         return -1;
-+    }
-+    sps->mb_width = mb_width;
-+    sps->mb_height= mb_height;
- 
-     sps->frame_mbs_only_flag= get_bits1(&s->gb);
-     if(!sps->frame_mbs_only_flag)
-@@ -7720,7 +7799,7 @@
-         decode_vui_parameters(h, sps);
- 
-     if(s->avctx->debug&FF_DEBUG_PICT_INFO){
--        av_log(h->s.avctx, AV_LOG_DEBUG, "sps:%d profile:%d/%d poc:%d ref:%d %dx%d %s %s crop:%d/%d/%d/%d %s\n",
-+        av_log(h->s.avctx, AV_LOG_DEBUG, "sps:%u profile:%d/%d poc:%d ref:%d %dx%d %s %s crop:%d/%d/%d/%d %s\n",
-                sps_id, sps->profile_idc, sps->level_idc,
-                sps->poc_type,
-                sps->ref_frame_count,
-@@ -7737,10 +7816,22 @@
- 
- static inline int decode_picture_parameter_set(H264Context *h, int bit_length){
-     MpegEncContext * const s = &h->s;
--    int pps_id= get_ue_golomb(&s->gb);
--    PPS *pps= &h->pps_buffer[pps_id];
-+    unsigned int tmp, pps_id= get_ue_golomb(&s->gb);
-+    PPS *pps;
-+
-+    if(pps_id>=MAX_PPS_COUNT){
-+        av_log(h->s.avctx, AV_LOG_ERROR, "pps_id out of range\n");
-+        return -1;
-+    }
-+    pps = &h->pps_buffer[pps_id];
-+
-+    tmp= get_ue_golomb(&s->gb);
-+    if(tmp>=MAX_SPS_COUNT){
-+        av_log(h->s.avctx, AV_LOG_ERROR, "sps_id out of range\n");
-+        return -1;
-+    }
-+    pps->sps_id= tmp;
- 
--    pps->sps_id= get_ue_golomb(&s->gb);
-     pps->cabac= get_bits1(&s->gb);
-     pps->pic_order_present= get_bits1(&s->gb);
-     pps->slice_group_count= get_ue_golomb(&s->gb) + 1;
-@@ -7785,6 +7876,7 @@
-     pps->ref_count[1]= get_ue_golomb(&s->gb) + 1;
-     if(pps->ref_count[0] > 32 || pps->ref_count[1] > 32){
-         av_log(h->s.avctx, AV_LOG_ERROR, "reference overflow (pps)\n");
-+        pps->ref_count[0]= pps->ref_count[1]= 1;
-         return -1;
-     }
- 
-@@ -7809,7 +7901,7 @@
-     }
- 
-     if(s->avctx->debug&FF_DEBUG_PICT_INFO){
--        av_log(h->s.avctx, AV_LOG_DEBUG, "pps:%d sps:%d %s slice_groups:%d ref:%d/%d %s qp:%d/%d/%d %s %s %s %s\n",
-+        av_log(h->s.avctx, AV_LOG_DEBUG, "pps:%u sps:%u %s slice_groups:%d ref:%d/%d %s qp:%d/%d/%d %s %s %s %s\n",
-                pps_id, pps->sps_id,
-                pps->cabac ? "CABAC" : "CAVLC",
-                pps->slice_group_count,
-@@ -7943,7 +8035,7 @@
-         nalsize = 0;
-         for(i = 0; i < h->nal_length_size; i++)
-             nalsize = (nalsize << 8) | buf[buf_index++];
--        if(nalsize <= 1){
-+        if(nalsize <= 1 || nalsize > buf_size){
-             if(nalsize == 1){
-                 buf_index++;
-                 continue;
-@@ -7966,6 +8058,9 @@
-       }
- 
-         ptr= decode_nal(h, buf + buf_index, &dst_length, &consumed, h->is_avc ? nalsize : buf_size - buf_index);
-+        if (ptr==NULL || dst_length <= 0){
-+            return -1;
-+        }
-         while(ptr[dst_length - 1] == 0 && dst_length > 1)
-             dst_length--;
-         bit_length= 8*dst_length - decode_rbsp_trailing(ptr + dst_length - 1);

Deleted: experimental/ffmpeg/debian/patches/051_asf-misc-security-fixes.diff
===================================================================
--- experimental/ffmpeg/debian/patches/051_asf-misc-security-fixes.diff	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/051_asf-misc-security-fixes.diff	2007-03-07 21:04:14 UTC (rev 166)
@@ -1,72 +0,0 @@
-Index: ffmpeg-0.cvs20060823/libavformat/asf.c
-===================================================================
---- ffmpeg-0.cvs20060823.orig/libavformat/asf.c	2006-08-17 12:39:28.000000000 +0200
-+++ ffmpeg-0.cvs20060823/libavformat/asf.c	2007-01-24 11:58:46.000000000 +0100
-@@ -261,7 +261,8 @@
-                 //       asf_st->ds_data_size, asf_st->ds_span, asf_st->ds_silence_data);
-                 if (asf_st->ds_span > 1) {
-                     if (!asf_st->ds_chunk_size
--                        || (asf_st->ds_packet_size/asf_st->ds_chunk_size <= 1))
-+                        || (asf_st->ds_packet_size/asf_st->ds_chunk_size <= 1)
-+                        || asf_st->ds_packet_size % asf_st->ds_chunk_size)
-                         asf_st->ds_span = 0; // disable descrambling
-                 }
-                 switch (st->codec->codec_id) {
-@@ -695,6 +696,14 @@
-         asf->packet_size_left -= asf->packet_frag_size;
-         if (asf->packet_size_left < 0)
-             continue;
-+
-+        if(   asf->packet_frag_offset >= asf_st->pkt.size
-+           || asf->packet_frag_size > asf_st->pkt.size - asf->packet_frag_offset){
-+            av_log(s, AV_LOG_ERROR, "packet fragment position invalid %u,%u not in %u\n",
-+                asf->packet_frag_offset, asf->packet_frag_size, asf_st->pkt.size);
-+            continue;
-+        }
-+
-         get_buffer(pb, asf_st->pkt.data + asf->packet_frag_offset,
-                    asf->packet_frag_size);
-         asf_st->frag_offset += asf->packet_frag_size;
-@@ -702,6 +711,9 @@
-         if (asf_st->frag_offset == asf_st->pkt.size) {
-             /* return packet */
-             if (asf_st->ds_span > 1) {
-+              if(asf_st->pkt.size != asf_st->ds_packet_size * asf_st->ds_span){
-+                    av_log(s, AV_LOG_ERROR, "pkt.size != ds_packet_size * ds_span\n");
-+              }else{
-                 /* packet descrambling */
-                 char* newdata = av_malloc(asf_st->pkt.size);
-                 if (newdata) {
-@@ -712,6 +724,9 @@
-                         int col = off % asf_st->ds_span;
-                         int idx = row + col * asf_st->ds_packet_size / asf_st->ds_chunk_size;
-                         //printf("off:%d  row:%d  col:%d  idx:%d\n", off, row, col, idx);
-+
-+                        assert(offset + asf_st->ds_chunk_size <= asf_st->pkt.size);
-+                        assert(idx+1 <= asf_st->pkt.size / asf_st->ds_chunk_size);
-                         memcpy(newdata + offset,
-                                asf_st->pkt.data + idx * asf_st->ds_chunk_size,
-                                asf_st->ds_chunk_size);
-@@ -720,6 +735,7 @@
-                     av_free(asf_st->pkt.data);
-                     asf_st->pkt.data = newdata;
-                 }
-+              }
-             }
-             asf_st->frag_offset = 0;
-             memcpy(pkt, &asf_st->pkt, sizeof(AVPacket));
-Index: ffmpeg-0.cvs20060823/libavformat/asf.h
-===================================================================
---- ffmpeg-0.cvs20060823.orig/libavformat/asf.h	2007-01-24 11:58:38.000000000 +0100
-+++ ffmpeg-0.cvs20060823/libavformat/asf.h	2007-01-24 11:58:46.000000000 +0100
-@@ -112,8 +112,8 @@
-     int packet_replic_size;
-     int packet_key_frame;
-     int packet_padsize;
--    int packet_frag_offset;
--    int packet_frag_size;
-+    unsigned int packet_frag_offset;
-+    unsigned int packet_frag_size;
-     int packet_frag_timestamp;
-     int packet_multi_size;
-     int packet_obj_size;

Modified: experimental/ffmpeg/debian/patches/series
===================================================================
--- experimental/ffmpeg/debian/patches/series	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/patches/series	2007-03-07 21:04:14 UTC (rev 166)
@@ -2,18 +2,12 @@
 005_altivec_flags.diff
 005_runtime_cpudetect.diff
 006_mips_pthreads.diff
-007_disable_ffmpeg_option.diff
 010_ffmpeg-config.diff
 010_shared_library_versioning.diff
 #020_mmx_intrinsics.diff
 020_mmx_optims.diff
 020_mmx_pic_code.diff
 020_disable_snow_mmx_in_pic.diff
-020_really_use_liba52.diff
-030_arm_cpu_detect.diff
-030_arm_workaround.diff
 040_early_altivec_detection.diff
 040_only_use_maltivec_when_needed.diff
-050_h264-misc-security-fixes.diff
-051_asf-misc-security-fixes.diff
 060_fix_avi_skip.diff

Modified: experimental/ffmpeg/debian/rules
===================================================================
--- experimental/ffmpeg/debian/rules	2007-03-07 10:17:44 UTC (rev 165)
+++ experimental/ffmpeg/debian/rules	2007-03-07 21:04:14 UTC (rev 166)
@@ -4,8 +4,8 @@
 export DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
-confflags += --enable-gpl --enable-pp --enable-pthreads
-confflags += --enable-vorbis --enable-libogg --enable-a52 --enable-dts --enable-libgsm
+confflags += --enable-gpl --enable-pp --enable-swscaler --enable-pthreads
+confflags += --enable-libvorbis --enable-libtheora --enable-libogg --enable-liba52 --enable-libdts --enable-libgsm
 
 DEB_VERSION := $(shell dpkg-parsechangelog | sed -ne 's/^Version: //p')
 
@@ -31,11 +31,11 @@
 
 ifneq (,$(findstring risky,$(DEB_BUILD_OPTIONS)))
 weak-build-deps += liblame-dev
-confflags += --enable-mp3lame
+confflags += --enable-libmp3lame
 weak-build-deps += libfaad2-dev
-confflags += --enable-faadbin --enable-faad
+confflags += --enable-libfaadbin --enable-libfaad
 weak-build-deps += libfaac-dev
-confflags += --enable-faac
+confflags += --enable-libfaac
 weak-build-deps += libxvidcore-dev
 confflags += --enable-xvid
 $(warning Make sure these packages are installed: $(weak-build-deps))
@@ -56,6 +56,7 @@
 	mv libpostproc/libpostproc.a libpostproc/libpostproc.a.bak
 	mv libavcodec/libavcodec.a libavcodec/libavcodec.a.bak
 	mv libavformat/libavformat.a libavformat/libavformat.a.bak
+	mv libswscale/libswscale.a libswscale/libswscale.a.bak
 	
 	# Build ffmpeg and shared libraries
 	./configure $(confflags) --enable-shared --prefix=/usr
@@ -90,6 +91,13 @@
 	  $(MAKE) -f Makefile.pic && \
 	  rm -f Makefile.pic
 	
+	cd libswscale && \
+	  $(MAKE) clean && \
+	  rm -f Makefile.pic && \
+	  sed 's/^CFLAGS *=/&-fPIC -DPIC /; s/config.mak/config.mak.pic/' <Makefile >Makefile.pic && \
+	  $(MAKE) -f Makefile.pic && \
+	  rm -f Makefile.pic
+	
 	rm -f config.mak.pic
 	
 	# Restore static libraries
@@ -97,10 +105,12 @@
 	mv libpostproc/libpostproc.a.bak libpostproc/libpostproc.a
 	mv libavcodec/libavcodec.a.bak libavcodec/libavcodec.a
 	mv libavformat/libavformat.a.bak libavformat/libavformat.a
+	mv libswscale/libswscale.a.bak libswscale/libswscale.a
 	
 	# Fix timestamps
 	touch libavutil/libavutil.a libpostproc/libpostproc.a
 	touch libavcodec/libavcodec.a libavformat/libavformat.a
+	touch libswscale/libswscale.a
 	touch ffmpeg ffmpeg_g ffplay ffplay_g
 	
 ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
@@ -117,15 +127,18 @@
 	-cd tests && $(MAKE) clean
 	-$(MAKE) distclean
 	QUILT_PATCHES=debian/patches quilt pop -a -R || test $$? = 2
-	rm -f libavutil/Makefile.pic libavformat/Makefile.pic config.log
+	rm -f libavutil/Makefile.pic libavcodec/Makefile.pic config.log
 	rm -f libpostproc/Makefile.pic libavformat/Makefile.pic
+	rm -f libswscale/Makefile.pic
 	rm -f libavutil/libavutil.a.bak
 	rm -f libpostproc/libpostproc.a.bak
 	rm -f libavcodec/libavcodec.a.bak
 	rm -f libavformat/libavformat.a.bak
+	rm -f libswscale/libswscale.a.bak
 	rm -f libavcodec-uninstalled.pc libavcodec.pc
 	rm -f libavutil-uninstalled.pc libavutil.pc
 	rm -f libavformat-uninstalled.pc libavformat.pc
+	rm -f libswscale-uninstalled.pc libswscale.pc
 	rm -f libpostproc-uninstalled.pc libpostproc.pc
 	dh_clean
 
@@ -136,13 +149,12 @@
 	dh_installdirs -ptmp usr/share/doc/ffmpeg/html etc usr/include/ffmpeg usr/lib usr/bin usr/share/man/man1 usr/include/postproc
 	
 	$(MAKE) install DESTDIR=`pwd`/debian/tmp/ mandir=`pwd`/debian/tmp/usr/share/man
-	rm -f debian/tmp/usr/include/ffmpeg/swscale.h # unused yet
 	cp libavcodec/dsputil.h debian/tmp/usr/include/ffmpeg
 	cp libpostproc/libpostproc.a debian/tmp/usr/lib
 	cp libpostproc/postprocess.h debian/tmp/usr/include/postproc
 	cp libpostproc.pc debian/tmp/usr/lib/pkgconfig/
 	
-	dh_install -ptmp libavutil/libavutil.so* libavcodec/libavcodec.so* libpostproc/libpostproc.so* libavformat/libavformat.so* /usr/lib
+	dh_install -ptmp libavutil/libavutil.so* libavcodec/libavcodec.so* libpostproc/libpostproc.so* libavformat/libavformat.so* libswscale/libswscale.so* /usr/lib
 	
 	cp doc/*.html debian/tmp/usr/share/doc/ffmpeg/html/
 	cp doc/ffserver.conf debian/tmp/etc/
@@ -174,11 +186,12 @@
 	dh_strip
 	dh_compress
 	dh_fixperms
-	dh_makeshlibs -p libavcodec0d -V 'libavcodec0d (>= 0.cvs20060823)'
-	dh_makeshlibs -p libavformat0d -V 'libavformat0d (>= 0.cvs20060823)'
-	dh_makeshlibs -p libpostproc0d -V 'libpostproc0d (>= 0.cvs20060823)'
+	dh_makeshlibs -p libavcodec1d -V 'libavcodec1d (>= 0.cvs20060823)'
+	dh_makeshlibs -p libavformat1d -V 'libavformat1d (>= 0.cvs20060823)'
+	dh_makeshlibs -p libswscale1d -V 'libswscale1d (>= 0.cvs20060823)'
+	dh_makeshlibs -p libpostproc1d -V 'libpostproc1d (>= 0.cvs20060823)'
 	dh_installdeb
-	dh_shlibdeps -L libavcodec0d -L libpostproc0d -L libavformat0d -l debian/libavcodec0d/usr/lib:debian/libavformat0d/usr/lib:debian/libpostproc0d/usr/lib
+	dh_shlibdeps -L libavcodec1d -L libpostproc1d -L libavformat1d -L libswscale1d -l debian/libavcodec1d/usr/lib:debian/libavformat1d/usr/lib:debian/libpostproc1d/usr/lib
 	dh_gencontrol -- -Vlib1394-dev="$(lib1394-dev)"
 	dh_md5sums
 	dh_builddeb




More information about the Pkg-multimedia-commits mailing list