[FFmpeg-devel] ff_idct_xvid_sse2-cannot-be-inline.patch

Pavel Pavlov pavel
Tue Mar 9 01:32:57 CET 2010


> On Mon, Mar 08, 2010 at 06:43:11PM -0500, Pavel Pavlov wrote:
> > > > The function ff_idct_xvid_sse2 simply cannot be static because
> > > > it's
> > > referenced inside dsputil_mmx.c:
> > > >   c->idct    = ff_idct_xvid_sse2;
> > > > I have no idea how gcc could compile/link this kind of code.
> There
> > > should have been a link error at least
> > > > <ff_idct_xvid_sse2-cannot-be-inline.patch>
> > >
> > > It's C99 inline. C99 doesn't make inline functions static if
> there's
> > > a prototype, and there is one.
> > >
> >
> >
> > I don't know why I wrote static, if it's actually inline :) Anyways,
> > I'm getting a link error and I have to remove inline to fix it.
> 
> the function in question must be marked inline due to speed reasons
> 

In this case I think there should be 
static av_inline_always void ff_idct_xvid_sse2_static(short *block){
...
}

void ff_idct_xvid_sse2(short *block){
   ff_idct_xvid_sse2_static(block);
}

And the other two places should call ff_idct_xvid_sse2_static instead



More information about the ffmpeg-devel mailing list