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

Måns Rullgård mans
Sat Jun 13 00:31:51 CEST 2009


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.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-cvslog mailing list