VA plugins?

Julien Moutte julien at fluendo.com
Mon Jul 11 02:33:31 PDT 2011


Hi Arnaud,

The Fluendo VA decoder is a binary GStreamer plugin that can be installed
either in /usr/lib/gstreamer-0.10 or in ~/.gstreamer-0.10/plugins

It will provide 3 elements :

fluvadec : a video decoder supporting MPEG2, VC1, H264 and MPEG4 Part 2 on
some platforms
fluvasink : a video sink rendering hardware accelerated video frames in an
XWindow like xvimagesink does
fluvaclutsink : a video sink rendering hardware accelerated video frames in
a Clutter scene

Those elements are compatible with playbin2 and decodebin2 in GStreamer
version >= 0.10.26

The plugin will dynamically load either VDPAU or LIBVA symbols and is
compatible with various ABI versions of those libraries.

Best regards,

Julien Moutte
CTO
Fluendo
San Francisco, USA & Barcelona, SPAIN
Tel BCN. +34 933 175 153
Tel USA. +1 415 773 5353

www.fluendo.com & www.moovida.com

P *Please consider the environment before printing this e-mail.*



On Mon, Jul 11, 2011 at 11:26 AM, arnaud tonda <arnaud.tonda at gmail.com>wrote:

> Hi,
>
> two more questions.
>
> the first is for Julien Moutte.
>
> How works fluendo decoders? is there some package to install?
>
>
> the second one is :
>
> considering using of playbin2 or decodebin, is it possible (is c
> source or other) to force the call of ffmpeg plugins?
> i have installed gwenole gst_vaapi and it work like a charm in command
> line.
> But when i try to use vaapi in a light c source code project,
> vaapiDecode, and vaapiSink are called, but not the "compatible"
> demuxers like ffdemux_matroska_webm of ffdemux_mpegts.
>
> i tried to modify the rank of these demuxers and set matroskademux's
> rank to none, but in this case no demuxer is found for Mkv in my case.
>
> In fact, one difference in gstreamer debug traces between gst-launch
> and my code is that in command line i can see the registration of
> ffmpeg typefind functions :
>
>
> ***********
> 0:00:00.138976669 18418  0x8dba008 INFO      GST_PLUGIN_LOADING
> gstplugin.c:800:gst_plugin_load_file: plugin
> "/usr/lib/gstreamer-0.10/libgstplaybin.so" loaded
> 0:00:00.139073349 18418  0x8dba008 INFO     GST_ELEMENT_FACTORY
> gstelementfactory.c:361:gst_element_factory_create: creating element
> "playbin2" named "play-bin"
> 0:00:00.673985428 18418  0x8dba008 INFO            GST_TYPEFIND
> gsttypefind.c:82:gst_type_find_register: registering typefind function
> for fftype_aea
> 0:00:00.674260228 18418  0x8dba008 INFO            GST_TYPEFIND
> gsttypefind.c:82:gst_type_find_register: registering typefind function
> for fftype_anm
> 0:00:00.674385867 18418  0x8dba008 INFO            GST_TYPEFIND
> gsttypefind.c:82:gst_type_find_register: registering typefind function
> for fftype_apc
> 0:00:00.674529427 18418  0x8dba008 INFO            GST_TYPEFIND
> gsttypefind.c:82:gst_type_find_register: registering typefind function
> for fftype_applehttp
> 0:00:00.674728147 18418  0x8dba008 INFO            GST_TYPEFIND
> gsttypefind.c:82:gst_type_find_register: registering typefind function
> for fftype_avs
> ...
> ***********
>
> this result on the load of the ffmpeg library.
>
> in the case of my code, i never see these lines and so
> ffdemux_matroska_webm is never selected.
>
> if anyone can help.
>
> Best regards
>
>
> 2011/7/5 Edward Hervey <bilboed at gmail.com>:
> > Hi,
> >
> > On Tue, 2011-07-05 at 00:42 +0200, arnaud tonda wrote:
> > [...]
> >> I was facing the same problem. the "not negotiated" error. in fact, it
> >> seems that the gwenole's decoder wan't some mandatory informations on
> >> demuxer caps (height, width, framerate). it seems that original
> >> demuxers (matroskademux, mpegtsdemux) don't provide these
> >> informations. it's not the case if you try to construct a pipeline
> >> with ffmpeg demuxers like ffdemux_mpegts or ffdemux_matroska_webm.
> >> with these demuxer the video play fines.
> >
> >  Adding a 'parsed=True' in the sink pad template caps of the decoder
> > will normally force decodebin to add a parser before the decoder...
> > which will automatically get width/height/framerate from the stream and
> > set it before pushing any data.
> >
> >  The other alternative is having the decoder or demuxer being 'richer'
> > and extracting that information itself (it can for 'some' codecs)... but
> > that would be duplicating the work already done in the standalone
> > parsers.
> >
> >  So, to summarize :
> >  * Each type of element should ideally only do one task (a demuxer
> > should demux/deinterleave, a parser should extra bitstream information,
> > and a decoder should be given stream information and data and just
> > decode).
> >  * Duplicating bitstream parsing into each element would incurr extra
> > work and code duplication (and therefore risk of divergence).
> >
> >  A middle ground solution which is being worked on by Thibault Saunier
> > and others right now is to write a low-lewel set of bitstream parsing
> > for various common video formats (mpeg 1/2/4, h264, vc1 maybe) so that
> > we can have a unique codebase for:
> >  * Decoder wrappers like vdpau/vaapi to use to parse the stream and
> > extract some information,
> >  * Parser elements (which would then just be ligthweight elements
> > wrapping those parsing methods),
> >  * Demuxers and muxers, to extra basic information when needed like
> > frame type if not present, width/height/framerate/par ...,
> >  * Payloaders/Depayloaders
> >  * ....
> >
> >   Edward
> >
> >>
> >> >
> >> >  I think Gwenole mentionned some interest in reviving it. If you give
> >> > more details on the issue you're seeing, he could point you to how to
> do
> >> > it (or even fix it ! :)).
> >> >
> >> >  Edward
> >> >
> >> > >
> >> > > _______________________________________________
> >> > > gstreamer-devel mailing list
> >> > > gstreamer-devel at lists.freedesktop.org
> >> > > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >> >
> >> >
> >> > _______________________________________________
> >> > gstreamer-devel mailing list
> >> > gstreamer-devel at lists.freedesktop.org
> >> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >>
> >> Arnaud
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> gstreamer-devel at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
>
>
>
> --
> Arnaud Tonda
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110711/de3a26fb/attachment.htm>


More information about the gstreamer-devel mailing list