Announcing gst-vmeta: GStreamer 1.0 plugins for Marvell's vMeta hardware video decoder
Carlos Rafael Giani
dv at pseudoterminal.org
Thu Aug 8 03:57:04 PDT 2013
vMeta is a hardware video decoding engine made by Marvell. It is
included in Marvell's Armada SoCs. Some devices that use this SoC are
the SolidRun CuBox, the One Laptop Per Child platforms, and Google's
Chromecast.
Marvell released plugins, but only for 0.10 . Also, these plugins did
not make use of the base classes. Two good reasons for coming up with
new plugins :)
The code can be found here: https://github.com/dv1/gst-vmeta . It is
written from scratch, and so far has been tested on the CuBox (by me)
and on OLPC (by John Nettleton, thanks!).
Currently, there is a decoder and a modified xvsink element. (The latter
will be rewritten soon.) Encoder elements will come later. I consider
the decoder to be in a "release candidate" state, that is, it has worked
perfectly for all videos I have tested it with so far, so the only thing
missing is more testing to label it stable.
It makes use of a custom allocator and buffer pool to be able to push
decoded frames downstream directly, without having to use memcpy() .
These frames are stored in DMA buffers. A downstream sink can then look
at the incoming buffer metadata, determine if it is a DMA buffer, and if
so, read from it directly, again without copying anything. This is
similar to how the VDPAU and the xvimagesink pools work.
Suggestions, comments, bugreports, etc. are welcome.
cheers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130808/e97d6a78/attachment.html>
More information about the gstreamer-devel
mailing list