[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