Bug#870676: ffmpeg requires NEON on armhf, which is not part of the ARMv7 ABI
Steve Langasek
steve.langasek at canonical.com
Fri Aug 4 01:03:59 UTC 2017
Package: ffmpeg
Version: 7:3.3.3-1
Severity: important
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu artful ubuntu-patch autopkgtest
Dear maintainers,
The latest release of ffmpeg enables NEON support by default when building
on armhf; however, NEON support is not a standard part of the ARMv7 ABI, and
Debian supports running armhf on chips that do not implement NEON.
Using NEON based on runtime detection of support for it is fine, but the
existing ffmpeg implementation doesn't appear to do this, instead using NEON
based on build-time configuration with no fallback.
This issue was noticed in Ubuntu only because the autopkgtests for ffmpeg
and x264 triggered an unaligned access in the NEON code, which is *also* not
a portable assumption on armhf; however, if the NEON code had not had any
unaligned access, the fact that NEON was used would have gone unnoticed on
Ubuntu infrastructure.
http://autopkgtest.ubuntu.com/packages/f/ffmpeg/artful/armhf
http://autopkgtest.ubuntu.com/packages/x/x264/artful/armhf
(And if upstream does fix their code to support runtime detection of NEON
support, then there will be a different bug for us to worry about fixing!)
Cheers,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek at ubuntu.com vorlon at debian.org
-------------- next part --------------
diff -Nru ffmpeg-3.3.3/debian/rules ffmpeg-3.3.3/debian/rules
--- ffmpeg-3.3.3/debian/rules 2017-08-01 07:33:41.000000000 -0700
+++ ffmpeg-3.3.3/debian/rules 2017-08-03 17:43:44.000000000 -0700
@@ -127,6 +127,14 @@
--enable-libiec61883
endif
+# upstream does not implement runtime detection of NEON support at runtime;
+# therefore NEON must be disabled at build time. (This also works around
+# the fact that the NEON implementation does unaligned access, which is not
+# a portable assumption for armhf.)
+ifeq ($(DEB_HOST_ARCH),armhf)
+ CONFIG += --disable-neon
+endif
+
# Some build-dependencies are not installable on some architectures.
ifeq (,$(filter $(DEB_HOST_ARCH),powerpcspe))
CONFIG_extra += --enable-netcdf
More information about the pkg-multimedia-maintainers
mailing list