[LINUX] De-interlacing video in XBMC for Linux with NVIDIA VDPAU?
#1
Question 
Hi guys

A newbie here (though one with a broadcast video background). Just installed XBMC Live (9.04.1 I think) on my self-build HTPC E7300 and E7AUM-DS2H nVidia 9400 motherboard, with VDPAU H264 and VC1 decoding working.

Have managed to get everything working (even HDMI audio) really nicely (some very nice skins and I love the scrapers) All is very good - EXCEPT de-interlacing. I watch a lot of native interlaced SD DVDs and HD interlaced TV stuff, as well as progressive movies (which don't require full field to frame de-interlacing and can be de-interlaced using a straight weave usually)

For some reason all the de-interlacing options seem to be de-interlacing to the frame rate not the field rate - so all the interlaced motion is juddery not fluid as it is half-rate.

So if I have a 576/50i source, it is de-interlaced to 25p not 50p. Thus the motion is wrong. Similarly 1080/50i native content is de-interlaced to 25p.

Is this a known bug? When I try changing the de-interlace settings BOB doesn't appear to do a field bob to 50p, it appears to do a field discard to 25p. Blend doesn't work at all and neither does VDPAU (temporal)

I've read that VDPAU doesn't work on DVD content - but surely BOB should?

Or am I missing something?

I've managed to get 576/50i de-interlaced to 50p in MythTV on the same system, and in Windows 7 MC and PDVD etc. However XBMC has such a nice user interface and great container support I'd really like to move over - however I can't if de-interlacing isn't working.

All help gratefully received - should I log this as a bug somewhere? As I'm a newbie I don't want to
Reply
#2
These are interesting questions indeed. i have wondered about some of that stuff myself. Im sure there might be some devs around that might share some insight into this.
Reply
#3
VDPAU doesn't work at all on DVD content (its decoded in software).

You could force it on if you don't mind losing overlays (DVD menus and subtitles). There is work on allowing us to overlay over VDPAU so this should be resolved soon(ish)...

If you decide to force it on, change this line from 720 to 0.



motd
Reply
#4
I'm going to have to learn how to compile in Linux aren't I?

I'm a former hardware engineer - and used to code a bit - but in Pascal under VMS. Suspect I'm going to have to learn a lot about Linux to get anywhere aren't I?!

Oh well - all part of the fun.

Is it possible to trigger an external player app for DVDs (that might do proper de-interlacing of native interlaced content shot on video cameras) using the external player bit of the advancedsettings.xml file - or is that only for non-DVD content? (VLC does a Linear de-interlace that isn't terrible, haven't looked at Xine yet. I don't absolutely need VDPAU for SD content - my CPU should be up to it)
Reply
#5
I bellive this user has tried to enable external players with xbmc in linux:
http://www.xbmc.org/forum/showthread.php...nal+player

Maybe hook up with him to discuss possibilites ?
Reply
#6
motd2k Wrote:VDPAU doesn't work at all on DVD content (its decoded in software).

You could force it on if you don't mind losing overlays (DVD menus and subtitles). There is work on allowing us to overlay over VDPAU so this should be resolved soon(ish)...
this is great news :cool2:
Reply
#7
noggin Wrote:I'm going to have to learn how to compile in Linux aren't I?
http://wiki.xbmc.org/?title=HOW-TO_compi...ource_code

Before compiling, change the line motdk mentioned and you're done.

I did this but now i'm confused which deinterlacer it is actually using.. I tried flicking through different deinterlacers but didn't notice any difference.
I tried do decipher a debug log and it seemed like it automatically uses vdpau deinterlacer when vdpau set as a renderer (even though deinterlacer is set not none in video OSD)?

I'll look more into this when i get back home..
Reply
#8
I am wandering about the vdpau de-interlacing for a while too. I am not sure if this is the right place to discuss this.

The following is what I was told:

if you use the following command with mplayer, you can get different result of de-interlacing with vdpau

code:

mplayer -fs -vo vdpau:deint=x -vc ffh264vdpau -ao alsa:device=hw=0.3 file

where x = 0..4
0: Weave no de-interlace
1: Bob 1x, each frame has 1 field selected and displayed. The field is stretched; doubled in resolution vertically. Thus, half the image resolution is lost

2: Bob 2x, each field of each frame has bob applied and displayed. The displayed frame is 1/2 the resolution of the source frame. However, all fields are displayed, so the eye effectively sees pretty much all the resolution

3: Temporal, VDPAU "real" de-interlacing algorithm

4: Temporal spatial, a better quality vdpau "real" de-interlacing algorithm

However, I was told that XBMC does not support 1&2 and if you are using ION platform, it is too slow for 3&4. So you are end up with no good de-interlace with ION+XBMC

However, I tested vdpau temporal with qvdpautest program, it shows that it can get up to 90 fields with ION. So it should be fast enough to do vdpau temporal de-interlacing.

My test with mplayer shows that, with ION, the deint setting for 0, 1 do what they suppose to do. But with deint setting for 2, the video starts to get a lot of delay. With deint set to 3, then the audio starts to break up and video is very juddering

So, I am wandering, can someone tell me what de-interlacing schemes are really implemented in XBMC?
Reply
#9
Any News on this matter? I´d be interested in this too... using an ION Board für XBMC und Mythtv. 1080p works flawlessly, but DVB-S2 HD Streams in 1080i coming from MythTV stutter badly and the deinterlace options seem to be the cause...
Reply
#10
Did some further Tests yesterday and updated my whole system to latest edge:

- Zotac ION ITX A Board, 2GB RAM, 512MB (max.) for Graphics
- Ubuntu 9.10
- VPDAU support works
- HD TV Card setup & MythTV 0.22
- XBMC latest SVN Version

What I´ve found so far:

- 1080p .mkv Files from local and network drives work without a Problem
- SD TV Streams from MythTV get deinterlaced flawlessly - no problem here
- 720p TV Streams from MythTV look perfect, no artifacts, no lag - just working great
- 1080i TV Stream from MythTV (AstraHD Testchannel) works great in matters of speed and artifacts, but won´t get De-Interlaced - no matter what option I choose. If there is fast movement, it looks crappy. Selecting VDPAU as Deinterlacer crashed on me once, but was OK in the next try... just did not do anything - exactly like the other De-Interlacing Options. No matter what i choose (Deinterlacer, Bob, VDPAU, usw.) De-Interlacing the 1080i Stream won´t work.

Is this by Design? Or a Bug? Any suggestions?

Thanks in advance,
ingrimsch
Reply
#11
vdpau isn't doing the 25->50fps change for any of the modes. that is normally not an issue + i'm not sure it is possible in some reasonable way.

If you are not using vdpau bob will do that however it's still quite an horrible deinterlacing method as it will loose half the vertical resolution. For 1080i stuff that is normally not so horrible thou.
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
elupus Wrote:vdpau isn't doing the 25->50fps change for any of the modes. that is normally not an issue + i'm not sure it is possible in some reasonable way.

De-interlacing to 25Hz is fine for material that is originated on film or 25p video - mainly drama and movies and some documentaries.

For SD and HD content that is shot on 50i video (i.e. each field is sampled at a different time) you can only de-interlace to 50Hz to get decent results. De-interlacing to 25Hz rather than 50Hz will halve the temporal resolution, and looks horrible.

For watching video content - like off-air TV recordings of entertainment, sport, news etc. you have to de-interlace to 50p, not 25p.

I think MythTV manages this using VDPAU - as do most video playback apps under Windows and Mac OSX (VLC has a number of options that do it as well - including YADIF 2x)

Quote:If you are not using vdpau bob will do that however it's still quite an horrible deinterlacing method as it will loose half the vertical resolution. For 1080i stuff that is normally not so horrible thou.

VDPAU Temporal 2x or Advanced 2x are the best to use if you have the GPU power and they are implemented properly ISTR.

Lack of proper 50Hz interlaced handling was the main reason I gave up with XBMC last time (on the XBox) - is it still really an issueHuh

I guess most users are using XBMC for 24/25Hz progressive comment (movies and downloaded content?) with few using it for 50Hz interlaced stuff ?
Reply
#13
my ticket about temporal_spatial and temporal
http://trac.xbmc.org/ticket/7596
Nvidia Shield
kodi 18.1 RC1
Reply
#14
elupus Wrote:vdpau isn't doing the 25->50fps change for any of the modes.

but xine-vdpau is supposing so

temporal and temporal_spatial is doing 25->50fps

about it wrote in tips in xine gui
Nvidia Shield
kodi 18.1 RC1
Reply
#15
noggin Wrote:Hi guys

A newbie here (though one with a broadcast video background). Just installed XBMC Live (9.04.1 I think) on my self-build HTPC E7300 and E7AUM-DS2H nVidia 9400 motherboard, with VDPAU H264 and VC1 decoding working.

Have managed to get everything working (even HDMI audio) really nicely (some very nice skins and I love the scrapers) All is very good - EXCEPT de-interlacing. I watch a lot of native interlaced SD DVDs and HD interlaced TV stuff, as well as progressive movies (which don't require full field to frame de-interlacing and can be de-interlaced using a straight weave usually)

For some reason all the de-interlacing options seem to be de-interlacing to the frame rate not the field rate - so all the interlaced motion is juddery not fluid as it is half-rate.

So if I have a 576/50i source, it is de-interlaced to 25p not 50p. Thus the motion is wrong. Similarly 1080/50i native content is de-interlaced to 25p.

Is this a known bug? When I try changing the de-interlace settings BOB doesn't appear to do a field bob to 50p, it appears to do a field discard to 25p. Blend doesn't work at all and neither does VDPAU (temporal)

I've read that VDPAU doesn't work on DVD content - but surely BOB should?

Or am I missing something?

I've managed to get 576/50i de-interlaced to 50p in MythTV on the same system, and in Windows 7 MC and PDVD etc. However XBMC has such a nice user interface and great container support I'd really like to move over - however I can't if de-interlacing isn't working.

All help gratefully received - should I log this as a bug somewhere? As I'm a newbie I don't want to

We know about it, and it's being looked at but unfortunately it's not quite as simple as 'it works with Myth and so should work with XBMC'. We're having to do some pretty heavyweight fudging just to get the VDPAU image into an OpenGL texture, which Myth, mplayer, xine et al don't have to deal with.

We'll get it done in the end.
Reply

Logout Mark Read Team Forum Stats Members Help
[LINUX] De-interlacing video in XBMC for Linux with NVIDIA VDPAU?0