[FFmpeg-cvslog] r29354 - trunk/libswscale/swscale-example.c

Michael Niedermayer michaelni
Sat Jun 13 00:31:39 CEST 2009


On Fri, Jun 12, 2009 at 11:31:51PM +0100, M?ns Rullg?rd wrote:
> Michael Niedermayer <michaelni at gmx.at> writes:
> 
> > On Fri, Jun 12, 2009 at 09:36:11AM +0100, M?ns Rullg?rd wrote:
> >> Diego Biurrun <diego at biurrun.de> writes:
> >> 
> >> > On Fri, Jun 12, 2009 at 02:06:41AM +0100, M?ns Rullg?rd wrote:
> >> >> 
> >> >> For the record, the stuff in libavutil/internal.h is intended to be
> >> >> used everywhere in FFmpeg.  All that used to be scattered about
> >> >> common.h under separate #ifdef HAVE_AV_CONFIG_H.  We moved it to a
> >> >> separate file to clean things up a bit.
> >> >
> >> > Didn't I just hear Michael say the opposite?
> >> 
> >> He's wrong then.  Just look at the file.  Some of it is *only* used in
> >> lavc even.  The name "internal" means internal to FFmpeg, not to lavu.
> >
> > theres still the issue of some functions in internal.h using
> > internal tables of libavutil like ff_inverse this creates
> > dependancies between any part of ffmpeg and libavutils internal
> > stuff
> > Of course this issue is not new and as you say some of it is only used
> > outside lavu but its still an issue.
> >
> > I mean that someone who wants to change the sqrt algorithm sees the code
> > is in internal.h and has a ff_ prefix also meaning internal and so goes
> > ahead and changes it while beliving there wont be an ABI/API issue
> > month later some distro maintainer tries to hire a hitman to take us out
> > for the resulting mess ...
> 
> What do you suggest then?  I can only think of worse options:
> 
> 1. Duplicate all those functions/macros in each of libav*.
> 2. Make them public, and remove all asm optimisations.
> 
> In the past I have suggested moving the parts only used by lavc back
> there, but you didn't like that either.  Some macros did get moved,
> but some still remain.

My naive suggestion would be to make all tables used in internal.h, public

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

> ... defining _GNU_SOURCE...
For the love of all that is holy, and some that is not, don't do that.
-- Luca & Mans
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20090613/415d7bac/attachment-0001.pgp>



More information about the ffmpeg-cvslog mailing list