铁友人工客服电话:GStreamer-plugin

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 23:11:36
I need to play 1080p H264 movies from html5 video tag in webkit. The system
features a relatively weak CPU (Atom 230), which is unable to decode such a
video in realtime. However, the system features nVidia chipset that is able
to play 1080p videos utilizing HW acceleration (vdpau).

I have installed vdpauh264dec plugin, which handles this. For example, I can
play a 1080p video in Quicktime container (mov) using this command:

gst-launch filesrc location=101_ice_age_2-tlrD_h1080p.mov ! qtdemux !
vdpauh264dec ! vdpauvideopostprocess ! vdpausink

When I try to play the file using playbin, I will get an error that
gstreamer does not know how to handle a h264 video:

gst-launch playbin uri=file:///local/gstreamer/101_ice_age_2-tlrD_h1080p.mov

yields:

** Message: don't know how to handle video/x-h264, level=(string)4,
profile=(string)main, codec_data=(buffer)014d4028ffe10
014274d4028a9180f0042d803501010130ad7bdf01001000428ce09c8, width=(int)1920,
height=(int)1056, framerate=(fraction)2997/125                        ,
pixel-aspect-ratio=(fraction)1/1

However

gst-inspect vdpauh264dec

yields (among other things):

  SINK template: 'sink'
    Availability: Always
    Capabilities:
      video/x-h264
             interlaced: false


I do not understand why playbin will not use vdpauh264dec to play the file.

html5 video tag in webkit cannot play the file either, problably for the
same reason.


If I install ffmpeg plugins (including a h264 decoder), I can play the file
using playbin and webkit, however, without any acceleration in HW.


Gstreamer registry should be up-to-date. I rebuilt it with gst-inspect to
make sure.

Please, help me to get HW acceleration in webkit.

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Stefan KostReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail  Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:03pm

Re: vdpauh264dec plugin not recognized by playbin

898 posts hi,

On 23.02.2011 00:30, Robert Szelepcsenyi wrote:
> I need to play 1080p H264 movies from html5 video tag in webkit. The system
> features a relatively weak CPU (Atom 230), which is unable to decode such a
> video in realtime. However, the system features nVidia chipset that is able
> to play 1080p videos utilizing HW acceleration (vdpau).
>
> I have installed vdpauh264dec plugin, which handles this. For example, I can
> play a 1080p video in Quicktime container (mov) using this command:
>
> gst-launch filesrc location=101_ice_age_2-tlrD_h1080p.mov ! qtdemux !
> vdpauh264dec ! vdpauvideopostprocess ! vdpausink
>
> When I try to play the file using playbin, I will get an error that
> gstreamer does not know how to handle a h264 video:
>
> gst-launch playbin uri=file:///local/gstreamer/101_ice_age_2-tlrD_h1080p.mov
>
> yields:
>
> ** Message: don't know how to handle video/x-h264, level=(string)4,
> profile=(string)main, codec_data=(buffer)014d4028ffe10
> 014274d4028a9180f0042d803501010130ad7bdf01001000428ce09c8, width=(int)1920,
> height=(int)1056, framerate=(fraction)2997/125                        ,
> pixel-aspect-ratio=(fraction)1/1
>
> However
>
> gst-inspect vdpauh264dec ... [show rest of quote] Please post the whole gst-inspect output here. Is the RANK for the
element >0?

Stefan

> yields (among other things):
>
>   SINK template: 'sink'
>     Availability: Always
>     Capabilities:
>       video/x-h264
>              interlaced: false
>
>
> I do not understand why playbin will not use vdpauh264dec to play the file.
>
> html5 video tag in webkit cannot play the file either, problably for the
> same reason.
>
>
> If I install ffmpeg plugins (including a h264 decoder), I can play the file
> using playbin and webkit, however, without any acceleration in HW.
>
>
> Gstreamer registry should be up-to-date. I rebuilt it with gst-inspect to
> make sure.
>
> Please, help me to get HW acceleration in webkit.
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Robert SzelepcsenyiReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail  Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:33pm

RE: vdpauh264dec plugin not recognized by playbin

4 posts >Please post the whole gst-inspect output here. Is the RANK for the
>element >0?

Hi Stefan,


The rank is none (0).

Here comes the complete output of "gst-inspect vdpauh264dec":


-------BEGIN-------
Factory Details:
  Long name:    VDPAU H264 Decoder
  Class:        Decoder
  Description:  Decode h264 stream with vdpau
  Author(s):    Carl-Anton Ingmarsson <[hidden email]>
  Rank:         none (0)

Plugin Details:
  Name:                 vdpau
  Description:          Various elements utilizing VDPAU
  Filename:             /usr/local/lib/gstreamer-0.10/libgstvdpau.so
  Version:              0.10.20
  License:              LGPL
  Source module:        gst-plugins-bad
  Binary package:       GStreamer
  Origin URL:           http://gstreamer.net/

GObject
 +----GstObject
       +----GstElement
             +----SatBaseVideoDecoder
                   +----GstVdpDecoder
                         +----GstVdpH264Dec

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      video/x-vdpau-video
            chroma-type: 0
                  width: [ 1, 4096 ]
                 height: [ 1, 4096 ]
      video/x-raw-yuv
                 format: I420
                  width: [ 1, 4096 ]
                 height: [ 1, 4096 ]
      video/x-raw-yuv
                 format: YV12
                  width: [ 1, 4096 ]
                 height: [ 1, 4096 ]
      video/x-raw-yuv
                 format: NV12
                  width: [ 1, 4096 ]
                 height: [ 1, 4096 ]

  SINK template: 'sink'
    Availability: Always
    Capabilities:
      video/x-h264
             interlaced: false


Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: 0x7fbf8381ded0
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Element has no clocking capabilities.
Element has no indexing capabilities.
Element has no URI handling capabilities.

Pads:
  SRC: 'src'
    Implementation:
      Has custom eventfunc(): 0x7fbf8381e740
      Has custom queryfunc(): 0x7fbf8381e430
        Provides query types:
                (1):    position (Current position)
                (2):    duration (Total duration)
                (8):    convert (Converting between formats)
      Has getcapsfunc(): gst_pad_get_fixed_caps_func
      Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
      Has acceptcapsfunc(): gst_pad_acceptcaps_default
    Pad Template: 'src'
  SINK: 'sink'
    Implementation:
      Has chainfunc(): 0x7fbf838211e0
      Has custom eventfunc(): 0x7fbf8381efb0
      Has custom queryfunc(): 0x7fbf8381e690
      Has setcapsfunc(): 0x7fbf8381eac0
      Has acceptcapsfunc(): gst_pad_acceptcaps_default
    Pad Template: 'sink'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: null Current: "vdph264dec0"
  sink-clipping       : If enabled GstBaseVideoDecoder will clip outgoing
frames
                        flags: readable, writable
                        Boolean. Default: false Current: false
  packetized          : Whether the incoming data is already packetized into
suitable packets
                        flags: readable, writable
                        Boolean. Default: false Current: false
  display             : X Display name
                        flags: readable, writable
                        String. Default: null Current: null

--------END------


Robert Szelepcsényi

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Akihiro TSUKADAReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail  Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:38pm

Re: vdpauh264dec plugin not recognized by playbin

7 posts In reply to this post by Robert Szelepcsenyi hi,

Have you tried the latest git code?
I'm afraid that it's related to the same problem as the following bugs:
[Bug 642174] [Bug 642433], if the ranks are OK.

regards,
Akihiro
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Philippe NormandReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail  Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:54pm

Re: vdpauh264dec plugin not recognized by playbin

7 posts In reply to this post by Robert Szelepcsenyi The GStreamer media-player in WebKit uses playbin2, not playbin.
Have you tried gst-launch with playbin2 ?

Philippe

On Tue, 2011-02-22 at 23:30 +0100, Robert Szelepcsenyi wrote:
> I need to play 1080p H264 movies from html5 video tag in webkit. The system
> features a relatively weak CPU (Atom 230), which is unable to decode such a
> video in realtime. However, the system features nVidia chipset that is able
> to play 1080p videos utilizing HW acceleration (vdpau).
>
> I have installed vdpauh264dec plugin, which handles this. For example, I can
> play a 1080p video in Quicktime container (mov) using this command:
>
> gst-launch filesrc location=101_ice_age_2-tlrD_h1080p.mov ! qtdemux !
> vdpauh264dec ! vdpauvideopostprocess ! vdpausink
>
> When I try to play the file using playbin, I will get an error that
> gstreamer does not know how to handle a h264 video:
>
> gst-launch playbin uri=file:///local/gstreamer/101_ice_age_2-tlrD_h1080p.mov
>
> yields:
>
> ** Message: don't know how to handle video/x-h264, level=(string)4,
> profile=(string)main, codec_data=(buffer)014d4028ffe10
> 014274d4028a9180f0042d803501010130ad7bdf01001000428ce09c8, width=(int)1920,
> height=(int)1056, framerate=(fraction)2997/125                        ,
> pixel-aspect-ratio=(fraction)1/1
>
> However
>
> gst-inspect vdpauh264dec
>
> yields (among other things):
>
>   SINK template: 'sink'
>     Availability: Always
>     Capabilities:
>       video/x-h264
>              interlaced: false
>
>
> I do not understand why playbin will not use vdpauh264dec to play the file.
>
> html5 video tag in webkit cannot play the file either, problably for the
> same reason.
>
>
> If I install ffmpeg plugins (including a h264 decoder), I can play the file
> using playbin and webkit, however, without any acceleration in HW.
>
>
> Gstreamer registry should be up-to-date. I rebuilt it with gst-inspect to
> make sure.
>
> Please, help me to get HW acceleration in webkit.
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> ... [show rest of quote]

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Stefan KostReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail  Report Inappropriate Content♦♦♦♦Feb 23, 2011; 8:04pm

Re: vdpauh264dec plugin not recognized by playbin

898 posts In reply to this post by Robert Szelepcsenyi On 23.02.2011 13:33, Robert Szelepcsenyi wrote:
>> Please post the whole gst-inspect output here. Is the RANK for the
>> element >0?
> Hi Stefan,
>
>
> The rank is none (0).
rank=0 elements are not auto-plugged. You need to change it in the code
to have e.g. GST_RANK_MARGINAL

Stefan

> Here comes the complete output of "gst-inspect vdpauh264dec":
>
>
> -------BEGIN-------
> Factory Details:
>   Long name:    VDPAU H264 Decoder
>   Class:        Decoder
>   Description:  Decode h264 stream with vdpau
>   Author(s):    Carl-Anton Ingmarsson <[hidden email]>
>   Rank:         none (0)
>
> Plugin Details:
>   Name:                 vdpau
>   Description:          Various elements utilizing VDPAU
>   Filename:             /usr/local/lib/gstreamer-0.10/libgstvdpau.so
>   Version:              0.10.20
>   License:              LGPL
>   Source module:        gst-plugins-bad
>   Binary package:       GStreamer
>   Origin URL:           http://gstreamer.net/
>
> GObject
>  +----GstObject
>        +----GstElement
>              +----SatBaseVideoDecoder
>                    +----GstVdpDecoder
>                          +----GstVdpH264Dec
>
> Pad Templates:
>   SRC template: 'src'
>     Availability: Always
>     Capabilities:
>       video/x-vdpau-video
>             chroma-type: 0
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: I420
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: YV12
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: NV12
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>
>   SINK template: 'sink'
>     Availability: Always
>     Capabilities:
>       video/x-h264
>              interlaced: false
>
>
> Element Flags:
>   no flags set
>
> Element Implementation:
>   Has change_state() function: 0x7fbf8381ded0
>   Has custom save_thyself() function: gst_element_save_thyself
>   Has custom restore_thyself() function: gst_element_restore_thyself
>
> Element has no clocking capabilities.
> Element has no indexing capabilities.
> Element has no URI handling capabilities.
>
> Pads:
>   SRC: 'src'
>     Implementation:
>       Has custom eventfunc(): 0x7fbf8381e740
>       Has custom queryfunc(): 0x7fbf8381e430
>         Provides query types:
>                 (1):    position (Current position)
>                 (2):    duration (Total duration)
>                 (8):    convert (Converting between formats)
>       Has getcapsfunc(): gst_pad_get_fixed_caps_func
>       Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
>       Has acceptcapsfunc(): gst_pad_acceptcaps_default
>     Pad Template: 'src'
>   SINK: 'sink'
>     Implementation:
>       Has chainfunc(): 0x7fbf838211e0
>       Has custom eventfunc(): 0x7fbf8381efb0
>       Has custom queryfunc(): 0x7fbf8381e690
>       Has setcapsfunc(): 0x7fbf8381eac0
>       Has acceptcapsfunc(): gst_pad_acceptcaps_default
>     Pad Template: 'sink'
>
> Element Properties:
>   name                : The name of the object
>                         flags: readable, writable
>                         String. Default: null Current: "vdph264dec0"
>   sink-clipping       : If enabled GstBaseVideoDecoder will clip outgoing
> frames
>                         flags: readable, writable
>                         Boolean. Default: false Current: false
>   packetized          : Whether the incoming data is already packetized into
> suitable packets
>                         flags: readable, writable
>                         Boolean. Default: false Current: false
>   display             : X Display name
>                         flags: readable, writable
>                         String. Default: null Current: null
>
> --------END------
>
>
> Robert Szelepcsényi
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Robert SzelepcsenyiReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail  Report Inappropriate Content♦♦♦♦Feb 24, 2011; 9:02pm

RE: vdpauh264dec plugin not recognized by playbin

4 posts Thanks to all who replied to my post.

I have made some progress, but stiall I am unable to get HW accelerated
playback of h264 video in webkit.

I changed the rank of vdpauh264dec to primary (I had some problem with
marginal, which I haven't investigated yet). Now playbin2 can autoplug the
plugin and play a h264 video. I have also tried totem, which is based on
gstreamer. Totem can also open and play h264 files with HW acceleration. So
far no problem.

However, I can't play h264 files in webkit. Just nothing happens. I don't
know, how to debug it. Do you have any idea what to look at?

Should I recompile webkit? I thought this was not necessary.


Robert Szelepcsényi



-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On
Behalf Of Stefan Kost
Sent: Wednesday, February 23, 2011 1:04 PM
To: [hidden email]
Subject: Re: vdpauh264dec plugin not recognized by playbin

On 23.02.2011 13:33, Robert Szelepcsenyi wrote:
>> Please post the whole gst-inspect output here. Is the RANK for the
>> element >0?
> Hi Stefan,
>
>
> The rank is none (0).
rank=0 elements are not auto-plugged. You need to change it in the code
to have e.g. GST_RANK_MARGINAL

Stefan

> Here comes the complete output of "gst-inspect vdpauh264dec":
>
>
> -------BEGIN-------
> Factory Details:
>   Long name:    VDPAU H264 Decoder
>   Class:        Decoder
>   Description:  Decode h264 stream with vdpau
>   Author(s):    Carl-Anton Ingmarsson <[hidden email]>
>   Rank:         none (0)
>
> Plugin Details:
>   Name:                 vdpau
>   Description:          Various elements utilizing VDPAU
>   Filename:             /usr/local/lib/gstreamer-0.10/libgstvdpau.so
>   Version:              0.10.20
>   License:              LGPL
>   Source module:        gst-plugins-bad
>   Binary package:       GStreamer
>   Origin URL:           http://gstreamer.net/
>
> GObject
>  +----GstObject
>        +----GstElement
>              +----SatBaseVideoDecoder
>                    +----GstVdpDecoder
>                          +----GstVdpH264Dec
>
> Pad Templates:
>   SRC template: 'src'
>     Availability: Always
>     Capabilities:
>       video/x-vdpau-video
>             chroma-type: 0
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: I420
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: YV12
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: NV12
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>
>   SINK template: 'sink'
>     Availability: Always
>     Capabilities:
>       video/x-h264
>              interlaced: false
>
>
> Element Flags:
>   no flags set
>
> Element Implementation:
>   Has change_state() function: 0x7fbf8381ded0
>   Has custom save_thyself() function: gst_element_save_thyself
>   Has custom restore_thyself() function: gst_element_restore_thyself
>
> Element has no clocking capabilities.
> Element has no indexing capabilities.
> Element has no URI handling capabilities.
>
> Pads:
>   SRC: 'src'
>     Implementation:
>       Has custom eventfunc(): 0x7fbf8381e740
>       Has custom queryfunc(): 0x7fbf8381e430
>         Provides query types:
>                 (1):    position (Current position)
>                 (2):    duration (Total duration)
>                 (8):    convert (Converting between formats)
>       Has getcapsfunc(): gst_pad_get_fixed_caps_func
>       Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
>       Has acceptcapsfunc(): gst_pad_acceptcaps_default
>     Pad Template: 'src'
>   SINK: 'sink'
>     Implementation:
>       Has chainfunc(): 0x7fbf838211e0
>       Has custom eventfunc(): 0x7fbf8381efb0
>       Has custom queryfunc(): 0x7fbf8381e690
>       Has setcapsfunc(): 0x7fbf8381eac0
>       Has acceptcapsfunc(): gst_pad_acceptcaps_default
>     Pad Template: 'sink'
>
> Element Properties:
>   name                : The name of the object
>                         flags: readable, writable
>                         String. Default: null Current: "vdph264dec0"
>   sink-clipping       : If enabled GstBaseVideoDecoder will clip outgoing
> frames
>                         flags: readable, writable
>                         Boolean. Default: false Current: false
>   packetized          : Whether the incoming data is already packetized ... [show rest of quote] into
> suitable packets
>                         flags: readable, writable
>                         Boolean. Default: false Current: false
>   display             : X Display name
>                         flags: readable, writable
>                         String. Default: null Current: null
>
> --------END------
>
>
> Robert Szelepcsényi
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Philippe NormandReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail  Report Inappropriate Content♦♦♦♦Feb 24, 2011; 9:23pm

RE: vdpauh264dec plugin not recognized by playbin

7 posts What version of WebKit are you using?
You might want to try the latest development version, 1.3.12.
A GST_DEBUG log could also help to figure out the issue.

I'll try to setup vdpau on my machine and do some tests here.

Philippe

On Thu, 2011-02-24 at 14:02 +0100, Robert Szelepcsenyi wrote:
> Thanks to all who replied to my post.
>
> I have made some progress, but stiall I am unable to get HW accelerated
> playback of h264 video in webkit.
>
> I changed the rank of vdpauh264dec to primary (I had some problem with
> marginal, which I haven't investigated yet). Now playbin2 can autoplug the
> plugin and play a h264 video. I have also tried totem, which is based on
> gstreamer. Totem can also open and play h264 files with HW acceleration. So
> far no problem.
>
> However, I can't play h264 files in webkit. Just nothing happens. I don't
> know, how to debug it. Do you have any idea what to look at?
>
> Should I recompile webkit? I thought this was not necessary.
>
>
> Robert Szelepcsényi
>
>
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On
> Behalf Of Stefan Kost
> Sent: Wednesday, February 23, 2011 1:04 PM
> To: [hidden email]
> Subject: Re: vdpauh264dec plugin not recognized by playbin
>
> On 23.02.2011 13:33, Robert Szelepcsenyi wrote:
> >> Please post the whole gst-inspect output here. Is the RANK for the
> >> element >0?
> > Hi Stefan,
> >
> >
> > The rank is none (0).
> rank=0 elements are not auto-plugged. You need to change it in the code
> to have e.g. GST_RANK_MARGINAL
>
> Stefan
>
> > Here comes the complete output of "gst-inspect vdpauh264dec":
> >
> >
> > -------BEGIN-------
> > Factory Details:
> >   Long name:    VDPAU H264 Decoder
> >   Class:        Decoder
> >   Description:  Decode h264 stream with vdpau
> >   Author(s):    Carl-Anton Ingmarsson <[hidden email]>
> >   Rank:         none (0)
> >
> > Plugin Details:
> >   Name:                 vdpau
> >   Description:          Various elements utilizing VDPAU
> >   Filename:             /usr/local/lib/gstreamer-0.10/libgstvdpau.so
> >   Version:              0.10.20
> >   License:              LGPL
> >   Source module:        gst-plugins-bad
> >   Binary package:       GStreamer
> >   Origin URL:           http://gstreamer.net/
> >
> > GObject
> >  +----GstObject
> >        +----GstElement
> >              +----SatBaseVideoDecoder
> >                    +----GstVdpDecoder
> >                          +----GstVdpH264Dec
> >
> > Pad Templates:
> >   SRC template: 'src'
> >     Availability: Always
> >     Capabilities:
> >       video/x-vdpau-video
> >             chroma-type: 0
> >                   width: [ 1, 4096 ]
> >                  height: [ 1, 4096 ]
> >       video/x-raw-yuv
> >                  format: I420
> >                   width: [ 1, 4096 ]
> >                  height: [ 1, 4096 ]
> >       video/x-raw-yuv
> >                  format: YV12
> >                   width: [ 1, 4096 ]
> >                  height: [ 1, 4096 ]
> >       video/x-raw-yuv
> >                  format: NV12
> >                   width: [ 1, 4096 ]
> >                  height: [ 1, 4096 ]
> >
> >   SINK template: 'sink'
> >     Availability: Always
> >     Capabilities:
> >       video/x-h264
> >              interlaced: false
> >
> >
> > Element Flags:
> >   no flags set
> >
> > Element Implementation:
> >   Has change_state() function: 0x7fbf8381ded0
> >   Has custom save_thyself() function: gst_element_save_thyself
> >   Has custom restore_thyself() function: gst_element_restore_thyself
> >
> > Element has no clocking capabilities.
> > Element has no indexing capabilities.
> > Element has no URI handling capabilities.
> >
> > Pads:
> >   SRC: 'src'
> >     Implementation:
> >       Has custom eventfunc(): 0x7fbf8381e740
> >       Has custom queryfunc(): 0x7fbf8381e430
> >         Provides query types:
> >                 (1):    position (Current position)
> >                 (2):    duration (Total duration)
> >                 (8):    convert (Converting between formats)
> >       Has getcapsfunc(): gst_pad_get_fixed_caps_func
> >       Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
> >       Has acceptcapsfunc(): gst_pad_acceptcaps_default
> >     Pad Template: 'src'
> >   SINK: 'sink'
> >     Implementation:
> >       Has chainfunc(): 0x7fbf838211e0
> >       Has custom eventfunc(): 0x7fbf8381efb0
> >       Has custom queryfunc(): 0x7fbf8381e690
> >       Has setcapsfunc(): 0x7fbf8381eac0
> >       Has acceptcapsfunc(): gst_pad_acceptcaps_default
> >     Pad Template: 'sink'
> >
> > Element Properties:
> >   name                : The name of the object
> >                         flags: readable, writable
> >                         String. Default: null Current: "vdph264dec0"
> >   sink-clipping       : If enabled GstBaseVideoDecoder will clip outgoing
> > frames
> >                         flags: readable, writable
> >                         Boolean. Default: false Current: false
> >   packetized          : Whether the incoming data is already packetized
> into
> > suitable packets
> >                         flags: readable, writable
> >                         Boolean. Default: false Current: false
> >   display             : X Display name
> >                         flags: readable, writable
> >                         String. Default: null Current: null
> >
> > --------END------
> >
> >
> > Robert Szelepcsényi
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> ... [show rest of quote]

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Philippe NormandReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail  Report Inappropriate Content♦♦♦♦Feb 24, 2011; 10:02pm

RE: vdpauh264dec plugin not recognized by playbin

7 posts BTW WebKit uses a custom video sink to render frames to a Cairo surface.
I see you need to use a postprocess element and the vdpausink to render
video with VDPAU acceleration, I guess the WebKit video-sink would need
adaptations...

My knowledge of VDPAU is very limited, but I think that even if you
manage to get the vdpauh264dec element used by playbin2 you'd still need
to hook in the vdpauvideopostprocess ! vdpausink part.

Got this working with gst-launch:

gst-launch playbin2 uri=file://$HOME/101_ice_age_2-tlrD_h1080p.mov
video-sink="vdpauvideopostprocess ! vdpausink"


Philippe

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Zhao, HalleyReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail  Report Inappropriate Content♦♦♦♦Mar 21, 2011; 4:50pm

RE: vdpauh264dec plugin not recognized by playbin

71 posts It is caused by decodebin2 doesn't expose VDPAU output as a raw caps to terminate auto-plug.
Playbin2 works because:
        Playbin2 find vdpausink in autoplug_select_cb() with "GST_AUTOPLUG_SELECT_EXPOSE" as return value
        Playbin2 use sink from auto-plug (vdpausink) instead of sink from 'video-sink' property in no_more_pads_cb. -- your customized sink isn't used.

https://bugzilla.gnome.org/show_bug.cgi?id=624699
https://bugzilla.gnome.org/show_bug.cgi?id=624697

I suggest add 'caps' property of playbin2 to let app control it.

There is another work around to get decodebin2 from playbin2 and change the 'caps' property.



-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Philippe Normand
Sent: Thursday, February 24, 2011 10:03 PM
To: Discussion of the development of and with GStreamer
Subject: RE: vdpauh264dec plugin not recognized by playbin

BTW WebKit uses a custom video sink to render frames to a Cairo surface.
I see you need to use a postprocess element and the vdpausink to render
video with VDPAU acceleration, I guess the WebKit video-sink would need
adaptations...

My knowledge of VDPAU is very limited, but I think that even if you
manage to get the vdpauh264dec element used by playbin2 you'd still need
to hook in the vdpauvideopostprocess ! vdpausink part.

Got this working with gst-launch:

gst-launch playbin2 uri=file://$HOME/101_ice_age_2-tlrD_h1080p.mov
video-sink="vdpauvideopostprocess ! vdpausink"