Gstreamer-VAAPI and Totem

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Gstreamer-VAAPI and Totem

Alessandro Crismani-2
 > The problem is that Totem is using the videobalance element, which is a
 > pure software element. Using software element prevent using hardware
 > acceleration like libva or VDPAU.

 > I suggested a while ago to add color balance interface to clutter-gst,
 > and change totem code to use that instead, which end up with the
 > conclusion that clutter should provide effects to implement this
 > feature. I haven't look at the status of it since.

 > cheers,
 > Nicolas

Thanks a lot Nicolas,

Have you got some pointers about the Totem/Clutter thing, so that I can
follow its status?

As a second thought, do you happen to know if there are gstreamer based
video players that are capable of using VAAPI as of today? I'd really
like to benefit from hardware decoding and lower CPU cycles (for the
sake of avoiding cooking my legs when watching movies).

Again, thanks for the prompt feedback and keep up the nice work on
gstreamer :)

Alessandro

PS: could you CC me back since I am not subscribed to the ML (yet)
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer-VAAPI and Totem

Holger Kaelberer
Hi

On 06/05/2012 07:55 PM, Alessandro Crismani wrote:
>  > The problem is that Totem is using the videobalance element, which is a
>  > pure software element. Using software element prevent using hardware
>  > acceleration like libva or VDPAU.

Hm, works for me with:
gconftool-2  -s /system/gstreamer/0.10/default/videosink vaapisink --type=string

I aggree though, that the resulting pipeline looks strange: there are some software-only elements
(like ffmpegcolorspace) added to the pipe but obviously not used.

>
> As a second thought, do you happen to know if there are gstreamer based video players that are
> capable of using VAAPI as of today?

You can also try snappy (git://git.gnome.org/snappy), works nicely together with clustter-gst (and
gst-vaapi) out-of-the-box ;-)

Holger
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer-VAAPI and Totem

Alessandro Crismani-2
Dear Holger,

Let me thank you for the kind feedback! Other questions are inline

Il 05/06/2012 21:33, Holger Kaelberer ha scritto:

> Hi
>
> On 06/05/2012 07:55 PM, Alessandro Crismani wrote:
>> > The problem is that Totem is using the videobalance element, which is a
>> > pure software element. Using software element prevent using hardware
>> > acceleration like libva or VDPAU.
>
> Hm, works for me with:
> gconftool-2 -s /system/gstreamer/0.10/default/videosink vaapisink
> --type=string
>
> I aggree though, that the resulting pipeline looks strange: there are
> some software-only elements (like ffmpegcolorspace) added to the pipe
> but obviously not used.
>

Tried it, unfortunately the CPU usage with Totem is still far higher
than the simple gst-launch-0.10 playbin2 uri=file:///xyz.mkv (60% versus
around 10% as seen by top).

Furthermore, if I open gstreamer-properties and "test" the default sink
(which is now vaapisink), I get an error saying something as "cannot
link ffmpegcsp2 to vaapisink2"

>>
>> As a second thought, do you happen to know if there are gstreamer
>> based video players that are
>> capable of using VAAPI as of today?
>
> You can also try snappy (git://git.gnome.org/snappy), works nicely
> together with clustter-gst (and gst-vaapi) out-of-the-box ;-)

Tried it, it sure looks awesome, however the CPU usage stays high :(

Am I missing some other bits? Can I print more (VAAPI) debug information
with a magic debug command line parameter?

Thanks a lot anyway for the welcomed suggestions,
Alessandro

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer-VAAPI and Totem

Bastien Nocera-2
In reply to this post by Holger Kaelberer
On Tue, 2012-06-05 at 21:33 +0200, Holger Kaelberer wrote:
> Hi
>
> On 06/05/2012 07:55 PM, Alessandro Crismani wrote:
> >  > The problem is that Totem is using the videobalance element, which is a
> >  > pure software element. Using software element prevent using hardware
> >  > acceleration like libva or VDPAU.
>
> Hm, works for me with:
> gconftool-2  -s /system/gstreamer/0.10/default/videosink vaapisink --type=string

That will only work with Totem 3.0 and earlier though.

> I aggree though, that the resulting pipeline looks strange: there are some software-only elements
> (like ffmpegcolorspace) added to the pipe but obviously not used.

That need has been removed in the devel version leading to Totem 3.6.

> > As a second thought, do you happen to know if there are gstreamer based video players that are
> > capable of using VAAPI as of today?
>
> You can also try snappy (git://git.gnome.org/snappy), works nicely together with clustter-gst (and
> gst-vaapi) out-of-the-box ;-)

I see no reason that Totem wouldn't work in the same way (apart from the
use of ffmpegcolorspace in 3.2 and 3.4).

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer-VAAPI and Totem

Holger Kaelberer
Hi

On 06/12/2012 08:44 PM, Bastien Nocera wrote:
>>
>> Hm, works for me with:
>> gconftool-2  -s /system/gstreamer/0.10/default/videosink vaapisink --type=string
>
> That will only work with Totem 3.0 and earlier though.

Yes indeed, I tested with:

totem 3.0.1
gstreamer + plugins: git 0.10 2 weeks old
gst-vaapi: git HEAD of my own clone on gitorious

For vaapisink from upstream (Gwenole's) to work correctly with foreign X windows (XOverlay) one
needs git HEAD or at least the commits
http://gitorious.org/vaapi/gstreamer-vaapi/commit/bd08610e0774b223888574f41f24a1315199dc53
http://gitorious.org/vaapi/gstreamer-vaapi/commit/c37c9ca6cfa85e249209924e6a2b405dbd9db54d

>>
>> You can also try snappy (git://git.gnome.org/snappy), works nicely together with clustter-gst (and
>> gst-vaapi) out-of-the-box ;-)
>
> I see no reason that Totem wouldn't work in the same way (apart from the
> use of ffmpegcolorspace in 3.2 and 3.4).

With totem 3.0.1 and
gconftool-2  -s /system/gstreamer/0.10/default/videosink cluttersink --type=string
I find totem opening a new window for the video texture. But vaapidecode is autoplugged correctly.

Holger
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer-VAAPI and Totem

Bastien Nocera-2
On Wed, 2012-06-13 at 15:03 +0200, Holger Kaelberer wrote:

> Hi
>
> On 06/12/2012 08:44 PM, Bastien Nocera wrote:
> >>
> >> Hm, works for me with:
> >> gconftool-2  -s /system/gstreamer/0.10/default/videosink vaapisink --type=string
> >
> > That will only work with Totem 3.0 and earlier though.
>
> Yes indeed, I tested with:
>
> totem 3.0.1
> gstreamer + plugins: git 0.10 2 weeks old
> gst-vaapi: git HEAD of my own clone on gitorious
>
> For vaapisink from upstream (Gwenole's) to work correctly with foreign X windows (XOverlay) one
> needs git HEAD or at least the commits
> http://gitorious.org/vaapi/gstreamer-vaapi/commit/bd08610e0774b223888574f41f24a1315199dc53
> http://gitorious.org/vaapi/gstreamer-vaapi/commit/c37c9ca6cfa85e249209924e6a2b405dbd9db54d
>
> >>
> >> You can also try snappy (git://git.gnome.org/snappy), works nicely together with clustter-gst (and
> >> gst-vaapi) out-of-the-box ;-)
> >
> > I see no reason that Totem wouldn't work in the same way (apart from the
> > use of ffmpegcolorspace in 3.2 and 3.4).
>
> With totem 3.0.1 and
> gconftool-2  -s /system/gstreamer/0.10/default/videosink cluttersink --type=string
> I find totem opening a new window for the video texture. But vaapidecode is autoplugged correctly.

That very obviously will not work. You need to put the cluttersink
inside a clutter stage. That's how it's done in Totem 3.2 and above.

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer-VAAPI and Totem

Holger Kaelberer


On 06/13/2012 03:07 PM, Bastien Nocera wrote:

>
> That very obviously will not work. You need to put the cluttersink
> inside a clutter stage. That's how it's done in Totem 3.2 and above.

I see, works with totem from git master.

Holger
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel