[FFmpeg-devel] Moving if(constant expression) to preprocessor?

Axel Holzinger aholzinger
Sat Sep 18 13:02:37 CEST 2010

Hi all,

if compiling FFmpeg code with zero optimisations (even without dead
code elimination) there are linker errors (undefined references to
functions or structs) that come from constructs like i.e. the
following in libavcodec/allcodecs.c:

if(CONFIG_##X##_HWACCEL) av_register_hwaccel(&x##_hwaccel); )

The runtime (lower case) "if" leads to an undefined reference, because
it is evaluated at runtime and not at compile time.

If dead code eliminitation optimisation is on, this isn't an issue,
but with optimisations completely off it is.

Is there interest in doing this in a way where already the
preprocessor is solving this (instead of the optimiser)? Then I would
try and find a solution based on preprocessor magic.


More information about the ffmpeg-devel mailing list