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