Visible interlacing artifacts (combing) during motion
#1
I'm using XBMC to play back recordings from BBC HD on my TV. The programmes are recorded using Elgato EyeTV on the Mac, then exported from there using the "Native, no re-encoding" option.

The BBC HD signal is 50Hz (25fps) 1080i encoded with h.264, that means the export is basically rewrapping the h.264 data from a DVB-S transport stream to a h.264 MPEG4 file with no transcode. ie: the video data is the same, only the encapsulation format has changed. XBMC on Linux, Windows and OSX has no trouble playing back these files, where the machines are quick enough to do so.

I've set up XBMC on both my iMac, which is fast enough to manage playback entirely in software, and on my Aspire Revo running Ubuntu Jaunty, which is using the new VDPAU support to do hardware decoding. (And has to: as discussed elsewhere the Atom CPU is far, far too slow to do it in software.)

What I find is that on the Mac playback is fine, but on the Revo I get quite visible combing artifacts affecting on-screen motion. In all other respects the Revo is now doing its job perfectly, and would be much more convenient than the 5m cables trailing across the room from my Mac. It's just the combing when there's motion, which is more or less distracting to watch depending on the content and my mood!

I tried changing the XBMC resolution (Settings->Appearance->Screen->Resolution) from "Auto" to "1080i 16:9" (and restarted XBMC to be sure) but while that seems to improve the combing a *bit* it introduces a timing glitch every second-and-a-bit which I think is a 60Hz/50Hz (ie: 30fps/25fps) issue. (There doesn't appear to be a 50Hz 1080i option.) So leaving resolution on Auto is currently the best I can get, with combing the only issue.

The TV is reporting that it's receiving a 1080p signal (despite changing the resolution setting as above) so presumably the deinterlacing is happening in the computer. The same applies on the Mac btw; the TV reports that it's getting a 1080p signal, so presumably the deinterlacing must be happening on the computer; but presumably because it's doing it in software it's using a different algorithm - one that works better! I don't know whether the problem is in the hardware decoding (I'd have thought not) but it is the main difference between the two systems.

I don't seem to have the option in the nvidia-settings or elsewhere outside XBMC to actually emit 1080i to the TV so the computer doesn't have to deinterlace at all.

I need a solution so it works better on the Revo. If it's just a setting someone already knows about that I can change, and I just haven't found it, that's great; if there's a way to do the deinterlacing in software in advance (ie: convert my recordings from 1080i to 1080p without any other lossiness) that's also acceptable. Or if the XBMC developers - maybe specifically wrt the VDPAU implementation - need to do something, this is maybe a bug report. :-)
Reply
#2
To pre-empt some obvious questions; version info:

xbmc: 9.04.1-jaunty1 from the xbmc ppa
nvidia-glx-180: 180.53-0ubuntu2 from the x-updates ppa
nvidia-180-libvdpau: 180.53-0ubuntu2 from the x-updates ppa

everything else is virgin up-to-date jaunty ubuntu-desktop with compiz turned off.

xorg.conf untouched by human hands, written by nvidia-settings:

Code:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 1.0  (buildd@palmer)  Sun Feb  1 20:21:04 UTC 2009

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildmeister@builder63)  Tue Apr 21 15:39:54 PDT 2009

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Panasonic-TV"
    HorizSync       15.0 - 68.0
    VertRefresh     23.0 - 61.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Unknown"
EndSection

Section "Screen"

# Removed Option "TwinView" "1"
# Removed Option "metamodes" "CRT: nvidia-auto-select +1680+0, DFP: nvidia-auto-select +0+0"
# Removed Option "metamodes" "1920x1080 +0+0; nvidia-auto-select +0+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "TwinViewXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "1920x1080_50 +0+0; nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
Reply
#3
You should have the VDPAU deinterlacing option available via the on-screen display video settings menu whilst playing back a source. This should be an high quality deinterlace.
Reply
#4
exactly, it definitely is an interlacing problem, not 50/60Hz. just try some 720p or even 1080p material, you should not have any combing on the revo.
OpenElec Standalone --> Asus Chromebox 'Panther' --> Onkyo TX-NR709 --> Sony 55" X85C Android TV (also with Kodi!)
Asus Chromebox EZ Script
Kodi on Sony Bravia Android TVs
Reply
#5
alternatively, if you have an external deinterlacer (such as in your tv), grab latest svn and enjoy's elupus latest weaved renderer effort.
Reply
#6
motd2k Wrote:You should have the VDPAU deinterlacing option available via the on-screen display video settings menu whilst playing back a source. This should be an high quality deinterlace.

Cool beans, that did it. :-) Option's actually called "(VDPAU)Temporal". I even found where to set it as default, just before posting a question asking that next question. :-)
Reply
#7
Hannes The Hun Wrote:exactly, it definitely is an interlacing problem, not 50/60Hz. just try some 720p or even 1080p material, you should not have any combing on the revo.

I know the deinterlacing problem wasn't to do with the 50/60Hz difference; that just came up in passing in trying to fix it. I'd selected the "resolution" of "1080i 16:9" (in the hope that it would switch the *output* to the TV to 1080i thus letting the TV sort it out as it does with live BBC HD broadcasts) but presumably *that* forces a 60Hz refresh rate and of course 25fps into 60Hz does not go, so there's a periodic jerk as it repeats or skips a frame (not sure which) to get back into sync, which is surprisingly noticeable on shots where there is some constant motion going on.

But yes, it is irrelevant to the interlacing issue, which as the post above attests, has just been fixed another way. :-) ie: resolution left on Auto, select a better deinterlacer from a UI I hadn't known existed. (I'd suggest that setting ought to be in the Settings->Appearance->Screen section. and should obviously only be applied on interlaced source media.)
Reply

Logout Mark Read Team Forum Stats Members Help
Visible interlacing artifacts (combing) during motion0