XBMC Deinterlacing
#1
Hi,

I was thinking of switching to using the internal xbmc dvd player rather than using external player for dvds (mpchc).

My first experience with this just now on an interlaced pal dvd was... well shocking. There was no de-interlacing at all. Is this what all users will get out of the box without having to fiddle with settings etc?

Is a trac ticket needed to have de-interlacing working by default with pal dvds? Using GTX 295 in Windows 7 64bit.
Reply
#2
Star 
I suppose if your settings out of the box, are no interlacing then that's what you get.. I just checked and it looks like I have options for interlaced etc from the OSD. When you say 'thinking' about switching players, you didn't make clear what player the question was about? If it's an external player, then the default is whatever that player has set-up. Internally there is plenty of options.
Reply
#3
I use mpc-hc and if I output yv12 with the interlaced flag not hidden, I get perfect deinterlacing performed by my graphics card.

Why can't this be the case with xbmc, im thinking of switching back to xbmc for some content like dvd, but might leave things as is for the moment as mpc-hc does a great job for all content but of course would love if xbmc could handle all content as well. Is everyone in the same boat? ie the interlaced flag isn't sent by xbmc? Why would it not send it by default and let the users graphics cards control panel settings decide what form of deinterlacing they prefer...?
Reply
#4
Hi, If there is anyone / developers that agree that the interlaced flag isn't being sent out correctly causing the graphics card to not de-interlace, I can go ahead and create a ticket to track it to see if it can be resolved before dharma is finalized.

Regards,
Reply
#5
Are you implying that if only the interlaced flag was sent to the graphic card correctly nothing else would be needed for it to properly deinterlace?

Is this container specific (ie. mkv, avi, mp4) or where exactly should this "flag" reside?
For troubleshooting and bug reporting please make sure you read this first (usually it's enough to follow instructions in the second post).
Reply
#6
Hi, I am playing a DVD so mpeg2. The flag will be set in the mpeg2 stream (actually for most PAL dvd's even those that don't require deinterlacing, the flag is set incorrectly, thats a known issue but nothing that should be brought up here, I manually disable the flag for these DVDs myself using ffdshow)

If you have a look at ffdshow or mpc-hc, they have options to either send or not send the interlaced flag contained within the mpeg2 stream, to the renderer (or next item in the chain).

If the flag isn't sent, the graphics card when rendering through evr / vmr9 etc will say, oh theres no interlaced flag, no deinterlacing is necessary.. I just have a feeling this flag isn't being sent from the decoder in xbmc, to the renderer, otherwise I would get lovely deinterlacing. What decoder and renderer does xbmc use?

Image below of an old version of ffdshows output tab where you can actually decide whether or not to send the flag onto the next item in the chain (Set interlace flag in output media type" http://mewiki.project357.com/images/thum...output.gif

Without this enabled, the renderer (and in turn the graphics card) never gets the hint to deinterlace, hence the horrible interlaced images.

I think this should internally be enabled in xbmc's decoder if its not being sent, unless software decoding / software deinterlacing is used, in which case, deinterlacing is already done in software so need to enable the flag at all.
Reply
#7
trac ticket created
http://trac.xbmc.org/ticket/10750
Reply
#8
The problem is the flag is not reliable and set on many things that are not interlaced. And since our default deinterlacer is horrible, we don't have xbmc set to auto mode by default.
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
#9
And we can't use your gfx's deinterlacer unless we use DXVA2 decode. (we are in essence a game loop running normally). I don't think you get deinterlacing even if you turn on hw accell either.
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
#10
Thanks eplusplus, I agree that the flag is not reliable for mpeg2 content but for other "newer" content I think its very reliable.

When you say default deinterlacer, do you mean a software based deinterlacer? Could yadif with double frame rate be integrated for use as the default as its really excellent.

I suppose I'm asking for suggestions from a developer as to what is the best course of action. I have so many music DVD's that require de-interlacing, its just a shame to have the beautiful xbmc interface but without the ability to control deinterlacing like the other players

ie

1 ) Have the option to have the graphics card perform hardware deinterlacing (which should work with software and hardware decoding I think) and which have lovely detection algorithms which workaround the bad flag most of the time by detecting whether deinterlacing is really needed or not.
and
2) Have the ability to enable / disable deinterlacing on the fly with a key so those dvd's that don't require it just require one press to disable the deinterlacer.

What do you think is best, or is xbmc just programatically not capable of having these added?
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC Deinterlacing0