[FFmpeg-devel] FOMS 2009 FFmpeg outbrief

Reimar Döffinger Reimar.Doeffinger
Mon Jan 26 23:10:12 CET 2009

On Mon, Jan 26, 2009 at 09:23:45PM +0000, Robert Swain wrote:
> I just had a chat with some of the videolan developers to see if I
> could get them involved in this discussion. We ended up having a
> discussion off list, but these were their points:

Well, this is how I see things, I do not claim to represent the "truth"
just my view.

> - stop renaming/moving public API files/their contents for 'internal'
> consistency
>   e.g. http://git.videolan.org/?p=vlc.git;a=blob;f=modules/codec/avcodec/avcodec.c;h=2d67ef75703068983a65447b186c9448f9e640b6;hb=HEAD#l38

Well, it is a bit more that consistency, the problem was possible name
collissions, too. I would hope that such changes don't happen anymore.
There may be better examples for "renaming for consistency" though.

> - keep the API/ABI as consistent as possible
>   e.g. http://git.videolan.org/?p=vlc.git;a=commitdiff;h=0a778174db0192075a3194fb05b06a034ad940d2

Hm, maybe there are instances but this is a really bad example.
At least IMO this did not change API, it was wrong all the time since it
would create broken/invalid files and thus this was a bug fix.
Bug fixes sometimes will break applications, but I can't see how this
could be avoided...

> - fix .pc (package config files)

To me it seems like nobody knows what a correct .pc file looks like,
this is definitely a case of us not knowing any better.
Do they really still have issues?!?
IMHO the solution here is to kick the package-config people to create
proper documentation (or tell us where it can be found)...

> - less dependency of libavformat on libavcodec would be welcome

I agree fully, but what exactly are you thinking of?
There are only two dependencies I know of: AVParser (which I think is
unavoidable) and that extradata formats may be incompatible (theora, and
IMHO it is justified to blame that on Ogg-braindeadness).

> - feature probing API (to find out supported formats/other
> functionality from the libraries rather than guessing from version
> number and
>   other information)
>   e.g. get_fourcc() would simplify this:
> http://git.videolan.org/?p=vlc.git;a=blob;f=modules/codec/avcodec/fourcc.c;

You are aware of avcodec_find_decoder and av_codec_next ?
Of course that will not solve the issue of the codec ids not being
defined, but that seems unavoidable...
About probing other functionality: more specific examples would be good.

Reimar D?ffinger

More information about the ffmpeg-devel mailing list