This is a set of GStreamer 1.0 plugins for plugins for Marvell's hardware video accelerator, called "vMeta". Currently, a decoder and a modified xvimagesink are implemented. Encoders will follow soon.
Unlike Marvell's official GStreamer 0.10 vMeta plugins, these make use of GStreamer's base classes, thus integrating better with the other elements. These plugins also allow for passing on output data directly, without having to copy it from the DMA buffers. This is possible thanks to GStreamer 1.0's new allocator and buffer pool features.
Currently, this software has been tested on the SolidRun CuBox only.
These plugins are licensed under the LGPL v2.
vmetadec: video decoder plugin
vmetaxvsink: modified version of the xvimagesink that comes in the gst-plugins-base package; the modifications pass on the physical pointer of DMA buffers directly, instead of memcpy'ing the frame pixels (NOTE: this sink will only work properly with Marvell's dovefb Xorg driver)
You'll need a GStreamer 1.0 installation, and Marvell's IPP package. To get the vmetaxvsink plugin to work, you need an Xorg installation, and the dovefb Xorg driver from Marvell.
Building and installing
This project uses the waf meta build system. To configure , first set the following environment variables to whatever is necessary for cross compilation for your platform:
./waf configure --prefix=PREFIX
(The aforementioned environment variables are only necessary for this configure call.) PREFIX defines the installation prefix, that is, where the built binaries will be installed.
Once configuration is complete, run:
This builds the plugins. Finally, to install, run:
Note that there is a shared object that is not a plugin, called
libgstvmetacommon.so. This shared
object contains common functionality used in all plugins.