[vlc-devel] commit: contrib: turn off Thumb ISA for libavcodec and libmad ( Rémi Denis-Courmont )

Rémi Denis-Courmont remi at remlab.net
Tue Sep 1 20:20:12 CEST 2009

Le samedi 29 août 2009 23:19:51 Måns Rullgård, vous avez écrit :
> > A solution would be to build the files containing inline ARM asm with
> > -mno-thumb -mthumb-interwork but you'd have to check every file
> >
> > Last but not least: thumb is quite limited and considered slower than
> > ARM code (note thumb-2 appears to be generally faster than thumb) so
> > it's not advised for multimedia routines especially when you have loads
> > of memory available and code size doesn't matter that much.
> http://hardwarebug.org/2009/03/25/thumbs-up/

A few compile+SFTP cycles later, it turns out that:

* VLC with Thumb, and avcodec with interwork fires SIGILL.
-> It works fine with everything built as ARM
   (and no interworking of course).

* FFMPEG triggers a segmentation fault when NEON FPU is enabled.
-> FFMPEG with "default" FPU and VLC with NEON FPU works
   (but surely not so fast).
This smells a lot like a bug in avcodec (or gcc).

This is all built with CodeSourcery 2007q3 ARMv7 toolchain (GCC 4.2.1).

Rémi Denis-Courmont

More information about the vlc-devel mailing list