[SOLVED] 23.976fps display, but CVideoReferenceClock: Detected refreshrate: 50 hertz
#1
Update: Solved by installing missing libgtk, see below for explanation

Hi,

I'm having a rather strange problem with refresh rates which I fail to understand. To put it into a nutshell: Although the screen is properly switched to 23.976 fps to match the media, DVDPlayer detects a refresh rate of 50 Hz and subsequently falls over with audio discontinuities. I have 4 other installations of XBMC which don't exhibit this behavior, but they are on different hardware and have all been migrated upwards from older XBMC installations.

The key info:

Platform: Ubuntu 12.04.1 Server, i686
Install method: unstable PPA
GIT revision: 12.0-RC3 Git:7a6cb7f
GFX: GeForce 610 GT, Nvidia driver 310.19
Display: Denon AVR-4811 with a LG TV as monitor

To reproduce:

-- set XBMC initial refresh rate to at either 23.976 or 50 Hz (at 1080p)
-- play back any "24p" (23.976) stream
-- watch XBMC switch the refresh rate to 23.976 if it is not at that already. Confirmed with xrandr, xrandr-xbmc and also status output from TV

The IMHO interesting lines from the debug log:

Upon start of playback, the stream rate is properly detected and the display is switched:

21:35:01 T:2805988160 NOTICE: fps: 23.976024, pwidth: 1920, pheight: 1080, dwidth: 1920, dheight: 1080
21:35:01 T:2805988160 DEBUG: OutputPicture - change configuration. 1920x1080. framerate: 23.98. format: VDPAU
21:35:01 T:2805988160 NOTICE: Display resolution ADJUST : HDMI-0: 1920x1080 @ 23.97Hz (22) (weight: 0.000)

then

21:35:02 T:2823772992 DEBUG: CVideoReferenceClock: detected 1 vblanks, missed 57, refreshrate might have changed
21:35:02 T:2823772992 DEBUG: CVideoReferenceClock: Received RandR event 124
21:35:02 T:2823772992 DEBUG: CVideoReferenceClock: Detected refreshrate: 50 hertz
21:35:05 T:2792356672 DEBUG: CDVDPlayerAudio:: Discontinuity1 - was:1279005.392333, should be:1411800.840667, error:132795.448333

Files:

Debug log: http://pastebin.com/C3fRc299
xrandr output: http://pastebin.com/C3fRc299
xrandr-xbmc output: http://paste.ubuntu.com/1504395/
xorg.conf: http://paste.ubuntu.com/1504411/
lshw output: http://paste.ubuntu.com/1504414/

Thanks!

Best Regards,
Olli

Reply
#2
http://paste.ubuntu.com/1504395/ <- You are missing the correct Modeline.

That is an nvidia problem since a long time, try this xorg.conf (tested with 304.xy):
http://xbmclogs.com/show.php?id=25902&hash=35732252

Especially the following Modeline will appear after a reboot:
Code:
ModeLine       "1920x1080_23.976" 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#3
Hi,

thanks for this. However, this still yields bogus results for me:

22:37:15 T:2959563584 DEBUG: CVideoReferenceClock: Attaching glX context
22:37:15 T:2959563584 DEBUG: CVideoReferenceClock: detected 1 vblanks, missed 62, refreshrate might have changed
22:37:15 T:2959563584 DEBUG: CVideoReferenceClock: Received RandR event 124
22:37:15 T:2959563584 DEBUG: CVideoReferenceClock: Detected refreshrate: 51 hertz
22:37:15 T:2959563584 DEBUG: CVideoReferenceClock: detected 3 vblanks, missed 6, refreshrate might have changed

The 51 herz is strange, as it kind-of looks as if NVidia's fake DynamicTwinView refresh rate reporting would still be in effect (the difference between your config and mine is that mine surpresses detection of VGA-0)

Olli
Reply
#4
remove this line

Option "FlatPanelProperties" "Scaling = Native"

No longer used with 30x.x deprecated.
Reply
#5
Can you turn on debug logging in xbmc, then restart xbmc, reproduce the issue, then post a debug log.
CVideoReferenceClock reads the refreshrate from nvidia-settings on nvidia, but those log lines are missing completely here.
Reply
#6
known issue. in case the call to nvidia-settings fails (popen), it falls back to xrandr. the xrandr method in video ref clock does not work for drivers > 304.

I have fixed this on top of the "drop sdl" pr. windowing listens to all xrandr events, internal and external. video ref clock is hooked into windowing and gets notified about changes in refresh rate.
Reply
#7
Indeed:

23:05:07 T:2897132352 DEBUG: CVideoReferenceClock: Setting up GLX
23:05:07 T:2897132352 DEBUG: CVideoReferenceClock: nvidia-settings -nt -q RefreshRate3 produced no output
23:05:07 T:2897132352 DEBUG: CVideoReferenceClock: Using RandR for refreshrate detection
23:05:07 T:2897132352 DEBUG: CVideoReferenceClock: Detected refreshrate: 50 hertz

Reason is:

root@nhtpc:~# nvidia-settings -nt -q RefreshRate3
nvidia-settings: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

Fixed with

apt-get install libgtk2.0-0

The reason that this wasn't present on the system was that that it was intentionally minimally installed from the 12.04.1 server distribution. X11 was pulled in as a dependancy for xbmc, but that doesn't depend on GTK. The NVIDIA installer otoh doesn't check this dependancy explicitely, and I never tried to run nvidia-settings myself.

Thank you very, very much!

Best Regards,
Olli
Reply

Logout Mark Read Team Forum Stats Members Help
[SOLVED] 23.976fps display, but CVideoReferenceClock: Detected refreshrate: 50 hertz0