ffmpeg should be built with -marm for lucid on armel

Bug #488267 reported by Dave Martin
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ffmpeg (Ubuntu)
Fix Released
Low
Loïc Minier
Lucid
Fix Released
Low
Loïc Minier

Bug Description

Binary package hint: ffmpeg

ffmpeg contains significant optimised assembler, which it does not make sense to build in Thumb-2 until/unless some manual re-optimisation work is done.

For now, it is probably sensible to build the whole package with -marm

Tags: armel armv7
Revision history for this message
Reinhard Tartler (siretart) wrote : Re: [Bug 488267] [NEW] ffmpeg should be built with -marm for lucid on armel

Dave Martin <email address hidden> writes:

> Public bug reported:
>
> Binary package hint: ffmpeg
>
> ffmpeg contains significant optimised assembler, which it does not make
> sense to build in Thumb-2 until/unless some manual re-optimisation work
> is done.
>
> For now, it is probably sensible to build the whole package with -marm

for all or only for some flavors? If for some, which?

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

Revision history for this message
Dave Martin (dave-martin-arm) wrote :

Good point...

I believe there is no flavour which does not use inline assembler on armel, so I suggest to use -marm for everything for now.

It may not matter for the frontend packages, but those won't usually get installed; I think the benefit would be small given the extra complexity in the package configuration.

Paul Larson (pwlars)
Changed in ffmpeg (Ubuntu):
importance: Undecided → Low
status: New → Triaged
Paul Larson (pwlars)
Changed in ffmpeg (Ubuntu Lucid):
milestone: none → lucid-alpha-3
Revision history for this message
Alexander Sack (asac) wrote :

maybe we can fix this even before alpha-2? or are we hoping to get a real/assembler fix?

Revision history for this message
Dave Martin (dave-martin-arm) wrote :

For individual packages which are already hand-optimised, we would not expect much improvement from re-doing the code in Thumb-2, so switching to -marm makes sense here--- I suggest to go ahead and change it.

Revision history for this message
Loïc Minier (lool) wrote :

I had to add -fPIC -DPIC explicitly as well; I actually reviewed the whole way flavors and cflags are handled in ffmpeg; it should now properly default to the toolchain cflags in Debian sid/ Ubuntu karmic/lucid/etc.. The vfp flavor will be built only when vfp isn't enabled in the default toolchain setup and same for neon (but no dist enables this by default ATM). Overall, ffmpeg cflags seem much more readable now.

Changed in ffmpeg (Ubuntu Lucid):
assignee: nobody → Loïc Minier (lool)
Revision history for this message
Loïc Minier (lool) wrote :

Need to wait post A2 for upload, but committed to git.

Changed in ffmpeg (Ubuntu Lucid):
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ffmpeg - 4:0.5+svn20090706-5ubuntu1

---------------
ffmpeg (4:0.5+svn20090706-5ubuntu1) lucid; urgency=low

  * merge from debian, remaining changes:
    - dont disable internal encoders
    - disabled extra depedencies (come with ffmpeg-extra)
       - libdirac
       - libopenjpeg

ffmpeg (4:0.5+svn20090706-4) unstable; urgency=low

  [ Loïc Minier ]
  * Use default toolchain setup on ARM flavors for noopt and only add FPU
    CFLAGS in the VFP and NEON flavors; this is ok since internally, cpu will
    be set to "generic" but -march=generic or -mcpu=generic will NOT be added
    to the build flags.
  * Build all armel flavours with -marm since ffmpeg has a lot of hand crafted
    assembly which doesn't build in the new lucid default mode (Thumb 2);
    LP: #488267
  * Build all armel flavours with -fPIC -DPIC instead of just the neon flavour
    as the new flags/toolchain require this in Ubuntu lucid.
  * Build some assembly test code -- just like configure -- to decide whether
    the *default* toolchain uses vfp or neon to decided whether to build the
    vfp and neon flavors.
  * Drop --disable/--enable opt flags such as --disable-neon or
    --enable-armvfp on ARM since the upstream configure script will do the
    right thing when the proper flags are set.

ffmpeg (4:0.5+svn20090706-3) experimental; urgency=low

  [ Loïc Minier ]
  * Disable more autodetecter ARM arch features
  * Enable neon flavour
  * Update NEON confflags to assume v7 and VFP
  * Add backported NEON patches from ffmpeg trunk
  * Pass proper --cpu and --extra-flags on armel
  * Pass -fPIC -DPIC to neon pass

  [ Fabian Greffrath ]
  * Initialize the FLAVORS variable to static instead of appending to
    it. Also, we do not support the internalencoders variable anymore.

  [ Andres Mejia ]
  * Remove unused patches from packaging.
  * Update Vcs-* entries to new location.
  * Bump Standards-Version to 3.8.3.

  [ Reinhard Tartler ]
  * change shlibs file to make applications depend on the -extra- packages
  * loosen dependencies further, so that the -dev packages remain
    installable even if ffmpeg-extra is 'out-of-date'
  * add patch for issue1245: Make arguments of av_set_pts_info() unsigned.
  * Support constant-quant encoding for libtheora, LP: #356322
  * increase swscale compile time width (VOF/VOFW), LP: #443264
  * Backports of various security patches, Closes: #550442, including:
     - backport fixes for vorbis_dec
     - backport oggparsevorbis fix
     - backport vp3 fixes
     - backport ffv1 fix
     - libavcodec/mpegaudiodec.c backports
     - h264 security backports
     - backported libavformat/mov.c security fixes
     - backported libavformat/oggdec.c security fixes
     - backport svn r18016 aka 'MOV-Support-stz2-Compact-Sample-Size-Box'
       to fix FTBFS
  * enable symbol versioning
  * bump shlibs version
  * add README.source describing how this source package manages patches
  * make sure the ${misc:Depends} substvar is used for each binary package
 -- Reinhard Tartler <email address hidden> Sat, 16 Jan 2010 10:12:15 +0100

Changed in ffmpeg (Ubuntu Lucid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.