[FFmpeg-devel] Compiling with Intel Compiler

Carl Eugen Hoyos cehoyos
Tue Aug 26 17:22:54 CEST 2008


Gregoire Favre <gregoire.favre <at> gmail.com> writes:

> On Mon, Aug 25, 2008 at 08:52:54PM -0700, Mike Melanson wrote:
> > Axel Gallus wrote:
> > > Intel's Compiler is ISO C/C++ compatible and ANSI compatible.
> > > 
> > > Is it possible to compile FFMPEG with Intel's C/C++ Compiler?
> > 
> > Yes, and performance will be notably improved. But stick with the
> > 10.1.0xx series for now; the latest series (10.2?) don't compile FFmpeg,
> > or so I hear.

10.1.015 and 10.1.017 work (except for swscale); there was a bug with
matroskadec on pentium3 that luckily disappeared with the latest changes.
Other bugs exist.
11.0 beta fails with many errors.

> I didn't succeed :

You can't compile ffmpeg out of the box with icc if you enable-swscale.
Following patch is a workaround.

Carl Eugen

Index: libswscale/yuv2rgb.c
--- libswscale/yuv2rgb.c        (Revision 27482)
+++ libswscale/yuv2rgb.c        (Arbeitskopie)
@@ -157,6 +157,9 @@

 // The volatile is required because gcc otherwise optimizes some writes away
 // not knowing that these are read in the ASM block.
+#ifdef __ICC
+#define static
 static volatile uint64_t attribute_used __attribute__((aligned(8))) b5Dither;
 static volatile uint64_t attribute_used __attribute__((aligned(8))) g5Dither;
 static volatile uint64_t attribute_used __attribute__((aligned(8))) g6Dither;

More information about the ffmpeg-devel mailing list