[FFmpeg-devel] Linking failure with --disable-optimizations

Jeff Downs heydowns
Tue Apr 15 04:50:24 CEST 2008


Hi,

On x86_64, ffmpeg fails to compile when configured with 
--disable-optimizations due to one minor issue.  This was previously 
reported at least once:

http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/64090

The problem is in cabac.h, decode_significance_8x8_x86().  This function 
uses a table, last_coeff_flag_offset_8x8, via MANGLE.  This table is 
only defined (static) in h264.c.  

Linking fails because that symbol is undefined in other translation units 
which include cabac.h

This isn't a problem when compiled with optimization enabled because the 
function using that table is never called except from h264.c;  
optimization removes the function in other translation units.


What is preferred way to fix this?

Follow the comment above decode_significance_x86() and move these to 
something under i386 which is only included from h264.c? (and is that ok 
given the death-threat part of the comment :)?

Move the table into the header?
extern the table?

Or should these functions be disabled entirely with 
--disable-optimizations?

Thoughts welcome.

	-Jeff





More information about the ffmpeg-devel mailing list