Native interlace support
#1
I tried Raspberry Pi XBMC for the first time, having been using XBMC on a PC with Openelec for a year now.

I was disappointed to see that support for interlace video was not as good as mainline XBMC. Mainline XBMC Weave deinterlace mode was altered a few months back so that interlaced video would display with correct field synch on a an interlaced display mode (e.g. 1080i video on a 1080i HDMI display). This meant no power hungry deinterlacing was required to display 50/60Hz field rate video.

Considering the Pi cannot perform any decent deinterlacing I would expect proper interlace support to be of paramount importance.

Please will the latest incarnation of Weave be supported on the Raspberry Pi?

Note this is not related to the recent problem with playback of 1080i/576i video due to broken firmware.
Reply
#2
(2012-11-09, 11:40)Stu-e Wrote: Mainline XBMC Weave deinterlace mode was altered a few months back so that interlaced video would display with correct field synch on a an interlaced display mode (e.g. 1080i video on a 1080i HDMI display). This meant no power hungry deinterlacing was required to display 50/60Hz field rate video.
Can you point me at a link to this. I wasn't aware of this being done.
Reply
#3
https://github.com/xbmc/xbmc/commit/6b63...2c66c7c831
Reply
#4
...
Reply
#5
Last I heard about XBMC outputting interlaced content was that there are some clean up issues with the code that would need to be done first. It is something that caught my eye, since it sounded like another thing that could be off-loaded from the Pi to free up resources. I'm not a developer myself, so I don't know how significant this would be, but when you're on something as limited as the Pi then it probably wouldn't hurt :)
Reply
#6
(2012-12-23, 08:37)PobjoySpecial Wrote: The Raspberry Pi doesn't seem to let my TV deinterlacer work properly. My Pi is connected @ 1080i. Other playback devices deinterlace properly on the TV, but DVD rips on the Pi exhibit combing.

Use a progressive mode and turn on the deinterlacer.
Reply
#7
(2012-12-23, 08:43)Ned Scott Wrote: Last I heard about XBMC outputting interlaced content was that there are some clean up issues with the code that would need to be done first. It is something that caught my eye, since it sounded like another thing that could be off-loaded from the Pi to free up resources. I'm not a developer myself, so I don't know how significant this would be, but when you're on something as limited as the Pi then it probably wouldn't hurt Smile

As far as I know, no general purpose media player supports native deinterlace of arbitrary files. (Despite the OP asertion I can't find any evidence that XBMC supports native deinterlace on any platform).

Whilst it is straghtforward for a hardware DVD or BluRay player to support this (due to tightly define specs guaranteeing resolution and framerate timing), it is almost impossible to always handle correctly with arbitrary files.

If the source video requires resizing, or the framerate doesn't exactly match (and these things can change dynamically during a stream), then things get very complicated.
Reply
#8
...
Reply
#9
(2012-12-23, 20:35)PobjoySpecial Wrote: Here's the link the OP is referencing.

It seems XBMC supports playing back 1080i material natively on most platforms, but not 480i/576i due to scaling issues.

That link seems to refer to an out of tree patch, and nothing in the mainline xbmc code.
(And no confirmation that it works well for different types of files).
Reply
#10
My objective was to see native support for 1080i, 576i and 480i TV/PVR over interlaced output at the same HDMI mode i.e.1080i, 576i or 480i. Anything progressive will still work on interlaced output or you could just switch to a progressive HDMI mode.

Quote:As far as I know, no general purpose media player supports native deinterlace of arbitrary files.
Popcornmix, please can you explain what you mean by native deinterlace of arbitrary files?

Stu-e

Reply
#11
(2013-01-28, 13:02)Stu-e Wrote:
Quote:As far as I know, no general purpose media player supports native deinterlace of arbitrary files.
Popcornmix, please can you explain what you mean by native deinterlace of arbitrary files?

DVD/Blu-Ray (and direct rips) is well contrained in resolution and framerate, so native deinterlace is more straightforward.
An Arbitrary file (e.g. a mkv file) may have a resolution and/or a framerate that doesn't exactly match the current hdmi/composite display mode and so are much more complicated.
Reply
#12
I appreciate it would be difficult to cater for everything, but considering live TV/PVR is now a big part of XBMC, support for well constrained TV broadcast material would be highly beneficial to those who would use their Rpi as a PVR client.

I believe video decode is performed by OMXPlayer in Rpi. Is this correct? How would one process frame output from OMXPlayer? If the frame stream is output to a pipeline of texture buffers, could a programmable shader be used to perform the field rate weave?

Thanks
Stu-e
Reply
#13
Please excuse resurrecting this old thread. It appears that omxplayer does have --nativedeinterlace option, would it be possible to integrate it in Kodi?
Reply
#14
(2016-04-27, 08:01)belegdol Wrote: Please excuse resurrecting this old thread. It appears that omxplayer does have --nativedeinterlace option, would it be possible to integrate it in Kodi?

It's complicated.
Native deinterlace only works with simple deinterlace (i.e. strictly alternating top field/bottom field). Interlaced streams can be much more complicated with changes in this order and progressive frames.
The frame rate must be fixed and exactly match the display rate. Native deinterlace will be broken by any variation in this, such as bad timestamps, dropped/skipped frames, sync playback to display disabled with an external sound card.
There must be a 1:1 pixel scaling between video and display. Kodi doesn't support switching resolution, so switching between SD and HD channels wouldn't work. The GUI OSD would also look bad in a SD HDMI mode. Choosing any custom zoom setting would break deinterlace. Any change in aspect ratio (which can happen mid-stream) would break.

Command line omxplayer ignores all these issues, because it is a much simpler program.
Reply
#15
Thank you for the detailed explanation. I understand why it is not a top priority now - complicated to implement and will only work in a limited set of circumstances.
Having said that, such option would be nice. It could be used to let the TV handle the deinterlacing or inverse telecine of recorded 1080i DVB streams.
About not supporting resolution switching: I saw references where kodi switches to native resolution for 2160p streams, could this not be adopted?

Wysłane z mojego Nexus 9 przy użyciu Tapatalka
Reply

Logout Mark Read Team Forum Stats Members Help
Native interlace support0