[FFmpeg-devel] [PATCH] make img_convert symbol conditional on lavc version, not libswscale

Diego Biurrun diego
Fri Jun 6 16:25:30 CEST 2008


On Thu, Jun 05, 2008 at 05:20:46PM +0200, Michael Niedermayer wrote:
> On Thu, Jun 05, 2008 at 04:58:25PM +0200, Diego Biurrun wrote:
> > On Thu, Jun 05, 2008 at 04:35:05PM +0200, Michael Niedermayer wrote:
> > > On Thu, Jun 05, 2008 at 09:52:13AM +0200, Diego Biurrun wrote:
> > > > On Thu, Jun 05, 2008 at 12:38:11AM -0700, Baptiste Coudurier wrote:
> > > > > 
> > > > > Diego Biurrun wrote:
> > > > > > On Tue, Jun 03, 2008 at 01:46:18PM +0200, Diego Biurrun wrote:
> > > > > >> Currently we declare img_convert() in avcodec.h conditional to
> > > > > >>
> > > > > >> #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
> > > > > >>
> > > > > >> However, in imgconvert.c, img_convert is defined conditional to
> > > > > >>
> > > > > >> #ifndef CONFIG_SWSCALE
> > > > > >>
> > > > > >> so that img_convert() is not available when compiling with swscale
> > > > > >> enabled although it is declared in avcodec.h.
> > > > > >>
> > > > > >> Here is a patch to change the condition in imgconvert.c, which I believe
> > > > > >> is the correct solution.
> > > > > > 
> > > > > > I will commit this tomorrow unless I hear objections.
> > > > > 
> > > > > imgresample.c uses img_convert, is it safe ?
> > > > 
> > > > That is indeed a problem, but separate from the one my patch addresses.
> > > > The header promises the symbol conditional on lavc version, so the
> > > > implementation must IMO follow.  We cannot make a condition based on
> > > > CONFIG_SWSCALE in avcodec.h because installed headers do not #include
> > > > config.h.
> > > 
> > > Iam not completely sure what is the correct awnser but
> > >  --enable-swscale means "use the new API", one should not use that and then
> > >  complain that the old isnt available anymore ...
> > 
> > But our header says that it is still available and the condition in the
> > header contradicts the condition in the implementation.  So something
> > must be buggy...
> 
> well then, it should not be in the header when sws is enabled.

Then how about adding the declarations to imgconvert.h and installing
that header depending on swscale being enabled or not?  Alternatively, I
could add an option to configure --disable-oldscaler or whatever that
controls enabling this code.

Diego




More information about the ffmpeg-devel mailing list