First things first:
It's on top of XvMC, so you do not need to patch any of media players
(on top of what was already needed to get this to work in the past with
If you are using xine, then you have to provide:
Option "XvMCBrokenXine" "True"
because xine's video_out_xxmc module is a horrible mess. You will notice
many start/stop glitches and errors bourne out of this same issue too.
Performance is 1/3rd slower than the competing implementation. A DVD
uses 30-35% (combined xine and Xorg) cpu on a 600Mhz samuel2, compared
to 20-25% with openchrome. This is highly respectable since my
* sends individual slices over the X protocol.
* No mpeg register writes (this includes slices) are sent over the
This code provides a new X extension that's meant to be purely in
driver. The base idea is: the output of the mpeg engine needs to get
fed into the other video engines to be displayed. So, we need to spend
some of our time managing the communication of both engines. We already
have the other video engines implemented nicely, so, why not stick this
code next to that and have everyone be happy?
The XvMC protocol is mostly about managing fb space from the X driver,
and thinks that the only way the rest should be implemented is fully in
the client library. It's a very weird protocol. To top it off, the
client side libraries, for some reason, got wrapped, and that's what
libXvMCW is for. Scary stuff. I hope the new media protocols are better
This code here extends XvMC, and sends some extra info straight over the
X protocol, so that the driver can manage everything. This results in a
very clear and overviewable implementation, and new mpeg2 slice decoder
hardware can be implemented with just a few hundred lines of hardware
What stops this code from working without drm and without SHM is just
the implementation of the XvMC wrapper. If it wasn't for that, it would
be just dandy sent over the actual network.
So yes, it is slower, but 35% cpu usage on a samuel2 600Mhz is fast
enough. No point in speeding it up; it's time to do important work
Get latest updates about Open Source Projects, Conferences and News.