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