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

Diego Biurrun diego
Thu Jun 5 16:58:25 CEST 2008


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...

> thus IMHO the patch is wrong in the sense that either --enable-swscale should
> not be used or the code using lavc should use swscale instead of the old API.

Debian and Mandriva use the following patch which enables both
libswscale and imgrescale:

http://svn.debian.org/wsvn/pkg-multimedia/unstable/ffmpeg/debian/patches/015_reenable-img_convert.diff?op=file&rev=0&sc=0

I've attached it for convenience.

> besides this the patch may or may not be totally buggy ive not checked this
> but i think using the old scaler while the new is enabled has not been
> considered when the code was written ...

Is enabling img_convert really a problem?  Can't the scalers be used
side by side?

Diego




More information about the ffmpeg-devel mailing list