After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 598615 - vdpau support
vdpau support
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-10-15 20:49 UTC by Carl-Anton Ingmarsson
Modified: 2011-09-26 18:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
small ffmpeg patch (1.20 KB, patch)
2009-10-15 20:49 UTC, Carl-Anton Ingmarsson
none Details | Review
ffmpeg patch without garbage changes (674 bytes, patch)
2009-10-15 20:53 UTC, Carl-Anton Ingmarsson
none Details | Review
really fixed ffmpeg patch (677 bytes, patch)
2009-10-15 20:55 UTC, Carl-Anton Ingmarsson
none Details | Review
patch to support vdpau (16.76 KB, patch)
2009-11-21 11:40 UTC, Carl-Anton Ingmarsson
none Details | Review
updated patch after gst-plugins-bad api changes (16.78 KB, patch)
2009-11-24 19:40 UTC, Carl-Anton Ingmarsson
none Details | Review
updated patch (17.90 KB, patch)
2010-05-10 14:06 UTC, Carl-Anton Ingmarsson
none Details | Review

Description Carl-Anton Ingmarsson 2009-10-15 20:49:38 UTC
Created attachment 145548 [details] [review]
small ffmpeg patch

I've created a proof of concept patch adding vdpau support to gst-ffmpeg. The
patch is available at http://github.com/satis/gst-ffmpeg/tree/vdpau and depends
on some not merged changes to gst-plugins-bad at
http://github.com/satis/gst-plugins-bad/tree/vdpau.

It also depends on a small patch to ffmpeg which I will attach to the bug.

As I said it's all kind of rough but any suggestions how it should be done, or
even opinions whether it's a welcome addition or not is very much welcome.

The patch makes five decoders available: ffdec_h264_vdpau,
ffdec_mpegvideo_vdpau,
ffdec_mpeg1video_vdpau, ffdec_vc1_vdpau and ffdec_vmw3_vdpau, but I've only
tested
the h264 and mpeg decoders.
Comment 1 Carl-Anton Ingmarsson 2009-10-15 20:53:06 UTC
Created attachment 145549 [details] [review]
ffmpeg patch without garbage changes
Comment 2 Carl-Anton Ingmarsson 2009-10-15 20:55:57 UTC
Created attachment 145553 [details] [review]
really fixed ffmpeg patch
Comment 3 Edward Hervey 2009-10-16 07:19:08 UTC
I'm slightly confused here. What exactly are you trying to achieve ?

At first I thought you were trying to expose the ffmpeg vdpau decoders... but then you use the gst-plugins-bad vdpau code.

Could you explain exactly what you're trying to do ?

Also, that ffmpeg patch just looks plain wrong (unless it's a backport from ffmpeg trunk). We don't patch ffmpeg, if you want that fix, you'll have to submit it to ffmpeg.
Comment 4 Carl-Anton Ingmarsson 2009-10-16 07:45:05 UTC
ffmpeg doesn't really do any vdpau decoding on it's own. What it does is that it fills out the VdpPictureInfo[H264|MPEG1Or2|VC1] structures for you. The player (mplayer, mythtv, gstreamer) then does the decoding based on this data. So what the gstreamer plugins does is that it decodes the data and then push out the result as GstVdpVideo buffers, which are defined in libgstvdp from gst-plugins-bad. Then the plugins in gst-plugins-bad can do something with this data eg. output it to the screen.
The ffmpeg decoders should ofcourse also be able to negotiate the output format to video/x-raw-yuv, but I haven't done any work on this as of yet.

I really don't know if the ffmpeg patch is correct, except that it produces correct output and doesn't affect the other decoders. But I think that it could be hacked around in gst-ffmpeg instead of patching ffmpeg.
Comment 5 Carl-Anton Ingmarsson 2009-11-21 11:40:46 UTC
Created attachment 148215 [details] [review]
patch to support vdpau

The patch adds support for vdpau decoders to the gst-ffmpeg plugin. It now longer requires ffmpeg patching, and it also supports output of video/x-raw-yuv along with the former video/x-vdpau-video.

It's unfortunately kindof ugly spreading around ifdefs, so any suggestions how to make it better is much appreciated.
Comment 6 Carl-Anton Ingmarsson 2009-11-24 19:40:06 UTC
Created attachment 148409 [details] [review]
updated patch after gst-plugins-bad api changes
Comment 7 kxra 2010-03-04 03:20:30 UTC
Is this a duplicate of Bug #561225 ?
Comment 8 Tobias Mueller 2010-05-02 21:28:49 UTC
Yep. Looks pretty much like a dup. I won't, however, close it myself, because we have patches lying around.
Yes maintainers, that's right: Fresh and hot patches waiting for being reviewed ;-)
Comment 9 Carl-Anton Ingmarsson 2010-05-03 10:37:48 UTC
This is not really a duplicate since this bug is for exposing the vdpau support available in ffmpeg. During my gsoc I'll be working on writing standalone decoders so that depending on ffmpeg will not be necessary. Nevertheless I'll try to update the patch here so that it works against recent gst-ffmpeg and gst-plugins-bad.
Comment 10 Carl-Anton Ingmarsson 2010-05-10 14:06:18 UTC
Created attachment 160724 [details] [review]
updated patch
Comment 11 Christian Fredrik Kalager Schaller 2011-05-20 13:15:12 UTC
Carl-Anton, is this bug report still valid or have the stuff been merged into the vdpau stuff in bad?
Comment 12 Akhil Laddha 2011-07-07 05:15:09 UTC
Carl-Anton, awaiting for your response.
Comment 13 Tim-Philipp Müller 2011-09-26 18:04:32 UTC
Resolving this as OBSOLETE.

We now have vdpau elements in -bad, and I don't think we want to go down the road this patch suggests.