[FFmpeg-devel] [PATCH] broken build with --disable-optimizations

Michael Niedermayer michaelni
Mon Jan 18 15:50:23 CET 2010


On Mon, Jan 18, 2010 at 02:01:11PM +0000, M?ns Rullg?rd wrote:
> Jai Menon <jmenon86 at gmail.com> writes:
> 
> > On Sun, Jan 17, 2010 at 10:06:17PM +0100, Michael Niedermayer wrote:
> >> On Mon, Jan 18, 2010 at 01:11:40AM +0530, Jai Menon wrote:
> >> > Hi,
> >> > 
> >> > Attached patch fixes it. This probably isn't correct and is just meant to be an indicator of what the issue is.
> >> 
> >> Could you show me the error message with which it fails?
> >
> > here you go :
> >
> > /home/jai/ffbuild/libavcodec/libavcodec.a(h264.o): In function
> > `decode_significance_8x8_x86':
> > /home/jai/ffmpeg/libavcodec/x86/h264_i386.h:97: undefined reference to
> > `last_coeff_flag_offset_8x8'
> 
> The problem is all those non-inline functions in h264*.h. 

> There is
> absolutely no sense whatsoever in having a non-inline function in a
> header file.  

There is a sense, some things like CABAC are constants that way but would
not if its in a C file. inlining OTOH may or may not be good, its independant


> Either the function should be inlined or it should not.
> In the former case it should be marked inline explicitly, in the
> latter it should be in a .c file.  Having multiple copies of
> non-inline functions in the object code is obviously a bad thing.
> 
> Michael, if this is a work in progress and you're experimenting with
> inlining, say so and that's fine.  If you do not intend for these
> functions to be inlined, please move them to .c files.

someone has to benchmark if static, static inline or static in .c is faster
for each function. If someone does iam perfectly fine with these functions
being changed to their fastes variant.
If someone wants they can also temporary mark all as static inline until
someone has time to benchmark them.

besides the static function this time is in h264_i386.h and that was
there since a long time and not commited by me, actually i was unaware
that it was non inline until now.

and jais compiler is broken if it does not remove unused static functions

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

When the tyrant has disposed of foreign enemies by conquest or treaty, and
there is nothing more to fear from them, then he is always stirring up
some war or other, in order that the people may require a leader. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100118/e16ab975/attachment.pgp>



More information about the ffmpeg-devel mailing list