Package: ffmpeg
Version: ffmpeg_0.cvs20060823-3.1
Severity: important
Tags: patch
Hi,
ffmpeg fails to build from source because of broken assembly code.
Please find attached a patch to workaround that by using the C code
instead of the assembly code. Note also that this patch fixes the
detection of the arm CPUs.
Bye,
Aurelien
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: arm (armv5tejl)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-2-versatile
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
diff -u ffmpeg-0.cvs20060823/debian/changelog
ffmpeg-0.cvs20060823/debian/changelog
--- ffmpeg-0.cvs20060823/debian/changelog
+++ ffmpeg-0.cvs20060823/debian/changelog
@@ -1,3 +1,13 @@
+ffmpeg (0.cvs20060823-3.2) unstable; urgency=low
+
+ * debian/patches/030_arm_workaround.diff:
+ + New patch: disable the broken ARM assembly code in
libavcodec/mpegaudiodec.c.
+
+ * debian/patches/030_arm_cpu_detect.diff:
+ + New patch: correctly detect the newer ARM CPUs.
+
+ -- Aurelien Jarno <[EMAIL PROTECTED]> Sun, 24 Sep 2006 22:42:19 +0200
+
ffmpeg (0.cvs20060823-3.1) unstable; urgency=medium
* Non-maintainer upload.
diff -u ffmpeg-0.cvs20060823/debian/patches/series
ffmpeg-0.cvs20060823/debian/patches/series
--- ffmpeg-0.cvs20060823/debian/patches/series
+++ ffmpeg-0.cvs20060823/debian/patches/series
@@ -11,0 +12,2 @@
+030_arm_cpu_detect.diff
+030_arm_workaround.diff
only in patch2:
unchanged:
--- ffmpeg-0.cvs20060823.orig/debian/patches/030_arm_cpu_detect.diff
+++ ffmpeg-0.cvs20060823/debian/patches/030_arm_cpu_detect.diff
@@ -0,0 +1,13 @@
+--- 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)
only in patch2:
unchanged:
--- ffmpeg-0.cvs20060823.orig/debian/patches/030_arm_workaround.diff
+++ ffmpeg-0.cvs20060823/debian/patches/030_arm_workaround.diff
@@ -0,0 +1,11 @@
+--- 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"\