VDPAU or software decode selection?
#1
Is there any way to select a particular decoder for each video codec?

The reason I ask is I notice that for h264 video (SD and HD) VDPAU is selected, but for mpeg2 VDPAU is not. This impacts on which deinterlacer can be used. I watch mainly interlaced video and I prefer VDPAU temporal/spatial full rate deinterlace to the half rate software deinterlacer (and bob looks too ugly, sorry bob).

Stu-e
Reply
#2
Not at the moment. The problem is that we can't use vdpau for dvd's which are mpeg2.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#3
could you clarify please why it's not possible to use vdpau for mpeg2 sd video (dvd, dvb video from satellite)
Nvidia Shield
kodi 18.1 RC1
Reply
#4
stillframes (menus) among others.
Reply
#5
I feel, there a tons of questions in this regard.
Is there a wiki page that documents all this a little bit further?
- I could imagine that some kind of table could visualize the scenarios once for all.

Thanks!
Marcus
TV: Samsung 40U6300ES Full HD LCD
HTPC: Asus H97M-Plus, Intel Core i3-4150 CPU, 2GB RAM, DigitalDevices CineC/T Twin DVB-C adapter; Asus Blueray/DVD drive; Samsung 256GB 830 series SSD drive; Kodi 14.0 on OpenELEC 5.0.5
Reply
#6
As I see it the majority of XBMC users do not watch interlaced content so the decision to fallback to software decode is a sensible one. However this truly sucks for all of the pvr-testing/2 people out there including myself.

So as a short term compromise could you implement some very simple decision logic that only falls back to software if the content is from a DVD-like structure (a DVD or an iso image) and everything else (mpeg2 dvb streams or video files) uses VDPAU (if available)?

Stu-e
Reply
#7
I'm using for a few years Linux HTPC with VDR which now works perfectly for SD and now for HD materials (interlace and non interlaced too ). When I see, that VDPAU and VDR ( pvrtesting2 branch ) is supported in XBMC, I'm very glad. But I'm very confused now, because SD material is in MPEG2/interlaced format and SD/MPEG2 is not supported! Blush The interlaced picture over XBMC and software deinterlacer looks horrible in comparison with HW deinterlacer over VDPAU and mplayer or xineliboutput. XBMC is very good project, but most people will want to use XBMC for watching live TV ( sport, music, .. ) - and there will be problem !
Another problem for HTPC is : most home videos from camcorder is still in MPEG2 - without HW deintarlacer (VDPAU or dedicated HW card like DXR3 and other.. ) video looks terrible over SW deinterlacer.
I spent many hours with testing MPEG2 format and with finding information, that VDPAU is not supported for MPEG2 material. Wiki page about supporting VDPAU not exist ....
As I wrote - XBMC is very good project. I hope XBMC wil be in my HTPC in future.

Sorry for my bad english .....
Reply
#8
Support MPEG2 over VDPAU is in progress - http://forum.xbmc.org/showpost.php?p=493552&postcount=3
Reply
#9
If you wish to force VDPAU decode of mpeg2 video at standard definition then here is a patch:
Code:
--- DVDFactoryCodec.cpp (revision 29122)
+++ DVDFactoryCodec.cpp (working copy)
@@ -184,7 +184,7 @@
       CDVDCodecOptions dvdOptions;

#ifdef HAVE_LIBVDPAU
-      if (hint.height >= 720)
+//      if (hint.height >= 720)
       {
         CLog::Log(LOGNOTICE,"Trying VDPAU-MPEG from FFMPEG");
         if( (pCodec = OpenCodec(new CDVDVideoCodecFFmpeg(), hint, dvdOptions)) ) return pCodec;
Note this will break playback of DVDs.

FYI See this ticket about an issue that is currently ruining vdpau deinterlace quality:
http://trac.xbmc.org/ticket/9069

Stu-e
Reply
#10
It is great to see progress here. I have a number of interlaced DVD rips and am also considering moving away from DirectTV and doing cable / of air recording on my puter and so a higher quality deinterlacing option is very cool.

I had ripped my entire DVD collection to ISO or to a DVD directory structure (VOB files etc) and have been debating transcoding them into h.264 (deinterlacing the interlaced ones etc). I hate to use more lossy compression though. If I strip out the menu's using MakeMKV, then forcing VDPAU for Mpeg2 should work correct (for the most part)?
Reply
#11
svn xbmc uses vdpau for sd mpeg2.. The deinterlacers are still abit shitty thou. not enough reference frames yet.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#12
Thanks - got it. I'm really excited about the VDPAU deinterlacing and shader based upscaling improving the look of the bulk of my video collection "automagically".

As far as the deinterlacing reference frames, is it a fairly simple matter (e.g. should I wait for a patch before jumping back into SVN)? Maybe I'll just keep an eye on the trac ticket and go from there.
http://trac.xbmc.org/ticket/9069
Reply
#13
Yay! Pleased to see VDPAU is now allowed to decode mpeg2 SD (svn only at present of course).

The patch submitted in 9069 is not right as pointed out by the devs but it does work good enough for me. I doubt it will make it into svn as it is. If you are ok with applying patches and recompiling then give it a try. There should be an audio sync issue since the video has been delayed by 1frame/2fields but I do not notice it. I assume it uses a lot of graphics memory so I suggest you enable debug logging and look at your logs carefully to see if there are any complaints about being unable to create new video surfaces with your graphics card. You will notice regular pauses if it is running out of memory. FYI I have a 1gbyte card and it can create about 500 with standard definition video before complaining. The patch creates only 50 video surfaces which should be more than plenty for decode reference frames and deinterlace context.

My motivation is so I can watch TV using the pvr-testing2 branch where quality deinterlacing is a necessity.

Don't forget to select 'Auto' for deinterlacing if your graphics can support temporal-spatial.

Unfortunately I cannot yet see a way to turn off deinterlacing automatically for progressive video (1 frame encoded over 2 fields). VDPAU inverse telecine does not seem to detect this so you will have to turn off deinterlacing for progressive video.

Stu-e
Reply
#14
According to the last post in this thread, the VDPAU can now be used for decoding SD material, however, does the "svn only at present of course" mean its only if I build the XBMC from SVN? Not in Dharma Beta 2?

Also, my experience with Dharma Beta 2 is that the de-interlacers are not turned off when playing progressive video(tried with 720p MPEG 2). Does anyone know if there is a feature request or bug open for it?
Reply

Logout Mark Read Team Forum Stats Members Help
VDPAU or software decode selection?0