[MPlayer-dev-eng] Re: [matroska-devel] Re: Common Opensource codec API
attila at kinali.ch
Thu Dec 25 11:58:14 CET 2003
On Sat, 28 Jun 2003 16:35:45 +0200
ChristianHJW <christian at matroska.org> wrote:
> >>so, basically i think it would be interesting to see if it is possible
> >>to agree on a common standard for free multimedia plugins, especially
> I 'd have high hopes on this also, but i am not convinced that it is
> possible to find a common denominator easily.
Leaving all politcal reasons aside, i don't think that this is as
easy as you believe. I only know the code of mplayer and parts of vlc,
but sofar i've seen too many differences on how things are done,
that a common plugin standard could be acchieved w/o turning all
players into one using the same code base and ideas.
Beside imho it wouldn't be a good idea. The power of opensource
comes from diversity, if you restrict that by using a common plugin
format that restricts the whole player to use this api/abi everywhere
internaly, then you also restrict the diversity of code.
And i also dont think that a common plugin api would help much,
as less then 10% of the code of filters and output modules are
interface code, so porting code from one interface to another
(w/o optimizing to the new interface) is quite easy.
The only place where a common api makes imho sense are the codecs
as this code is quite complex and only a few people have enough
knowledge to handle that stuff properly. But there, we already have
a quite common api for codecs: libavcodec
> >What I'd love to see is the codec API not being an actual lib, but just
> >a protocol, like X. Each application can then write it's own
> >implementation code for this, and the codec API can, if wanted, provide
> >a header file describing all structs (if any) etc. used in the protocol.
> >Tying ourselves to one and the same lib likely won't work, even now
> >we're already reproducing so much of the same code... Do people agree
> >with this?
That's imho a quite bad idea. If you have ever written anything
time critical with using X11 than you know how much time you loose
just for the protokol conversion. Nevertheless X11 is a great protokol
and it has enabled us to do a lot of things, but it was never meant
to be fast enough for real time applications (which movie player are
in a certain way) and thus a few extensions were invented like DGA
and XVideo which allow a more or less direct hardware access.
If you want to write an api for movie players, than you have to
first realize that time is a critical resource and you have to do
anything to save it. You also have to see how different applications
try to get the data from the codec to the output modules and how
they optimize this process for speed. Any api that restricts the
use of such optimizations wouldn't be used much.
[a lot of blah about protocols and api]
I leave that stuff to people who understand much more
about codecs than i do :)
But that's definitly something that could be discussed
at the video application developer meeting i proposed in a
mail i send to a few lists earlier this week.
Just my 2c
egp ist vergleichbar mit einem ikea bausatz fuer flugzeugtraeger
-- reeler in +kaosu
More information about the MPlayer-dev-eng