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"\

Reply via email to