[mythtv] OSX backend beta test

Daniel Kristjansson danielk at cuymedia.net
Sun Jan 8 16:35:14 UTC 2006


On Sun, 2006-01-08 at 11:20 -0500, David Abrahams wrote:
> Daniel Kristjansson <danielk at cuymedia.net> writes:
> 
> > On Sat, 2006-01-07 at 16:56 -1000, David Abrahams wrote:
> >> * As noted in numerous places in my patch, the project's use of 
> >> 
> >>     #define always_inline
> >> 
> >>   is problematic.  That practice should end; for now it's worked
> >>   around through careful management of #include order and a
> >>   strategically-placed #undef always_inline
> > Not a MythTV problem; you need to make your case with the ffmpeg people.
> >
> > They are much more ornery than us, so steel yourself. :)
> 
> Err, wait a minute.  The MythTV configure script generates 
> 
>      #define always_inline
> 
> Isn't that part, at least, our problem?
> 
> Are you saying that even if we fix that, FFMPEG is still #defining
> always_inline in their headers?
This is an inherited problem from ffmpeg, grep the code for
always_inline.. And yes it is defined in libs/libavutil/common.h
if we don't do it.. Our ./configure is a modification of the
ffmpeg configure, we are just aping their always_inline handling.

What is going on here is that some functions should always be
inlined, but depending on the compiler there are different
keywords or attributes to achieve this. gcc for instance has
the function attribute 'always_inline', while icc does not
respect that attribute (and does not have it at all in earlier
versions). If the MacOSX system headers define always_inline
then the ffmpeg version must be renamed to something like
ALWAYS_INLINE, and in the case of OSX, simply be defined as
always_inline.

But this is something to discuss in the ffmeg mailing list, 
since the developers there may have some reason for not doing 
this, or they may simply not know that OSX uses this define.

-- Daniel



More information about the mythtv-dev mailing list