[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