[FFmpeg-devel] C99 or GCC extensions

Måns Rullgård mans
Fri Jul 4 21:34:30 CEST 2008

"Axel Holzinger" <aholzinger at gmx.de> writes:

> Hi there,
> I post this question to ffmpeg-devel on purpose, because I think this
> has nothing to do with using FFmpeg (neither FFmpeg as an application
> nor libav).
> As a fairly longtime reader of ffmpeg-devel I'm convinced that FFmpeg
> is based on C99 rather than GCC.

This is true for the most part.  We of course use gcc inline assembler
in some places.

> To my surprise I did find GCC specifics in the FFmpeg source code.
> For example I found:
> Variadic macros in GCC extension style
> statement blocks inside expressions
> My question is: Did the FFmpeg developers give up C99 compatibility in
> favour of GCC extensions (or did I only find remnants of pre C99
> code)?

It is almost certainly remnants of days gone by, when rules were less

> If not, what is the current policy on this and are patches welcome to
> remove GCC specifics in favour of C99?

The current policy is that new code should compile with a C99
compiler, unless it is an optional assembler optimisation.  Patches to
rectify non-standard code are always welcome.

M?ns Rullg?rd
mans at mansr.com

More information about the ffmpeg-devel mailing list