[MPlayer-dev-eng] libvo2 under way
David Holm
dholm at telia.com
Tue Nov 13 00:32:05 CET 2001
Hi,
I just got permission from Arpi to take charge of libvo2 development. As
some of you know libvo2 focuses more on the hardware used than just
being a mere mplayer<->hardware implementation. I'm thinking of features
as query_format() in libvo where you had to have support for n different
formats for the device to be usable. In libvo2 we are going to approach
this problem in a whole different way, we are going to tell mplayer
which format(s) out device supports.
Say for instance you are writing a device for a hardware mpeg decoder
(such as I am for the dxr3/h+), in libvo you will have to implement alot
of different converters to get the output you requier. In libvo2 we tell
mplayer that (in the case of the dxr3) we want mpegpes packets for video
playback, making it up to mplayer to convert the stream to the
appropriate format. This produces a number of extremely useful features
say encoder X encodes an mpeg1 stream 12% faster than encoder Y using
input format K, then mplayer could automatically choose X for the job.
Another feature of libvo2 will be overlays/raw output, this is mostly a
movement towards a pluggable gui where the developer designs the gui and
it's functionality, not just the theme. Why raw output you might ask
when mplayer already converts K to X? Well, alot of cards have a number
of acceleration options, again referring to the DXR3 (it's an MPEG-1,
MPEG-2 AC3 hardware decoder card for those of you not familiar with it)
uses an overlay cable to produce output on your monitor, meaning that it
will put 0% load on the video board, also when playing mpeg-(1/2) you
will have a VERY low cpu-usage. Other cards might support hardware
scaling, pixel conversion and so on, the list goes on.
What I need from both you the developers and you the users are any
thoughts, ideas, (scanned) napkins with scribbles on them. As
development moves along I will post info on changes, features etc. I
will also make cvs commits whenever reaching a point where I think a
reasonable amount of new features have been implemented (I will do my
best to document the api along the road, there will also be a "Moving
from libvo to libvo2" book available from O'Reilly Publ.... just
kidding, but I'll try to put together an easy to use libvo->libvo2 guide
for you.
If I get no feedback either by ideas, or by reading my code I will
assume you cannot come up with a more genious way of solving that
particular problem. Remember, it's up to you to help me and the other
developers make this a better product, and move to a pluggable gui-api
which I personally am looking forward to.
Well, it's getting late here in sweden, and I have had my first look at
the current libvo2 status, and read through the cvs-howto. But now I
really have to go to bed, but expect development moving at a high pace,
but libvo2 will not be finalized (standardized) until "significant"
people have had a look at it and found it flawless, so it's not like you
have until the upcoming weekend to come with ideas etc.
Sleep tight
//David Holm
More information about the MPlayer-dev-eng
mailing list