Few refresh rate questions
#1
Running a chrome box connected to an HP monitor which supports 25hz, 29.97hz, 30hz, 50hz, 59.94hz, 60hz. Naturally I have "adjust display refresh rate" turned on.

How come when I play 25fps videos, Kodi selects 50hz, not 25hz?
Same thing for when I play 29.97 fps videos, Kodi selects 59.94hz, not 29.97hz?

I made the changes myself manually and played the videos, and it works fine, however if I have "sync playback to display" on, the video becomes jittery, with it off, it's smooth. (This is just for the 25fps and 29.97 fps videos)

So basically, should I...

Let kodi choose the refresh rates by itself, let 25 fps play at 50, and 29.97 fps play at 59.94, 23.976 fps plays at 59.94 also

And if I do that, should I sync playback to display or no? (This was a question I've been wondering about for a while anyway) (If I'm playing a 23.976 video at 50hz, then obviously sync playback has to be turned on, but if it's 25 into 25 or 25 into 50 (2x) or 23.976 into 59.94 (2.5x), then it seems to me like it wouldn't need to be turned on, but I'm not sure)

OR should I...

Edit the advanced settings so that 25 fps plays at 25hz and 29.97 fps plays at 29.97hz. 23.976 would still play at 59.94. And have sync playback turned off cause I would have to because of what I mentioned above.
Reply
#2
depends:
if the monitor really supports all those rates in progressive mode, but the EDID is broken to not expose them you can manually add the missing modes in xorg.conf or with xrandr.
If the videos you are playing are interlaced, its totally normal that a higher refresh rate(optimally double) is chosen.

Providing the output of /usr/lib/kodi/kodi-xrandr will tell what kodi sees as available modes.
Reply
#3
The refresh rates are there. I can select them in system settings and if I put this into advancedsettings, it makes the correct change

Code:
<advancedsettings>
  <video>
    <adjustrefreshrate>
      <override>
        <fpsmin>24.9</fpsmin>
        <fpsmax>25.1</fpsmax>
        <refresh>25</refresh>
      </override>
      <override>
        <fpsmin>29.8</fpsmin>
        <fpsmax>30.0</fpsmax>
        <refresh>29.97</refresh>
      </override>
    </adjustrefreshrate>
  </video>
</advancedsettings>

I think I'm just going to stick with that and with "sync playback to display" turned off. Unless someone cares to explain to me why that would be wrong.
Reply
#4
(2015-08-29, 09:16)ilovethakush Wrote: The refresh rates are there. I can select them in system settings and if I put this into advancedsettings, it makes the correct change

Code:
<advancedsettings>
  <video>
    <adjustrefreshrate>
      <override>
        <fpsmin>24.9</fpsmin>
        <fpsmax>25.1</fpsmax>
        <refresh>25</refresh>
      </override>
      <override>
        <fpsmin>29.8</fpsmin>
        <fpsmax>30.0</fpsmax>
        <refresh>29.97</refresh>
      </override>
    </adjustrefreshrate>
  </video>
</advancedsettings>

I think I'm just going to stick with that and with "sync playback to display" turned off. Unless someone cares to explain to me why that would be wrong.
I don't beliebte your TV. 25 most likely is 50i as wsnipex told. Provided the kodi-xrandr output, please.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#5
(2015-08-29, 07:45)wsnipex Wrote: depends:
if the monitor really supports all those rates in progressive mode, but the EDID is broken to not expose them you can manually add the missing modes in xorg.conf or with xrandr.
If the videos you are playing are interlaced, its totally normal that a higher refresh rate(optimally double) is chosen.

Providing the output of /usr/lib/kodi/kodi-xrandr will tell what kodi sees as available modes.

(2015-08-29, 10:17)fritsch Wrote:
(2015-08-29, 09:16)ilovethakush Wrote: The refresh rates are there. I can select them in system settings and if I put this into advancedsettings, it makes the correct change

Code:
<advancedsettings>
  <video>
    <adjustrefreshrate>
      <override>
        <fpsmin>24.9</fpsmin>
        <fpsmax>25.1</fpsmax>
        <refresh>25</refresh>
      </override>
      <override>
        <fpsmin>29.8</fpsmin>
        <fpsmax>30.0</fpsmax>
        <refresh>29.97</refresh>
      </override>
    </adjustrefreshrate>
  </video>
</advancedsettings>

I think I'm just going to stick with that and with "sync playback to display" turned off. Unless someone cares to explain to me why that would be wrong.
I don't beliebte your TV. 25 most likely is 50i as wsnipex told. Provided the kodi-xrandr output, please.

Yeah it looks like you guys are correct, the lower refresh rates are for 1920x1080i. Here's the output...

Code:
<screen id="0" minimum_w="320" minimum_h="200" current_w="1920" current_h="1080" maximum_w="32767" maximum_h="32767">
  <output name="HDMI1" connected="true" w="1920" h="1080" x="0" y="0" crtc="0" wmm="473" hmm="296">
    <mode id="0x48" name="1680x1050" w="1680" h="1050" hz="59.95425" current="false" preferred="true"/>
    <mode id="0xa9" name="1920x1080" w="1920" h="1080" hz="60.00000" current="false" preferred="false"/>
    <mode id="0xaa" name="1920x1080" w="1920" h="1080" hz="50.00000" current="false" preferred="false"/>
    <mode id="0xab" name="1920x1080" w="1920" h="1080" hz="59.94020" current="true" preferred="false"/>
    <mode id="0xac" name="1920x1080i" w="1920" h="1080" hz="30.00000" current="false" preferred="false"/>
    <mode id="0xad" name="1920x1080i" w="1920" h="1080" hz="25.00000" current="false" preferred="false"/>
    <mode id="0xae" name="1920x1080i" w="1920" h="1080" hz="29.97010" current="false" preferred="false"/>
    <mode id="0xaf" name="1600x1000" w="1600" h="1000" hz="60.00838" current="false" preferred="false"/>
    <mode id="0xb0" name="1280x1024" w="1280" h="1024" hz="75.02467" current="false" preferred="false"/>
    <mode id="0xb1" name="1280x1024" w="1280" h="1024" hz="60.01974" current="false" preferred="false"/>
    <mode id="0xb2" name="1440x900" w="1440" h="900" hz="59.90146" current="false" preferred="false"/>
    <mode id="0xb3" name="1280x960" w="1280" h="960" hz="60.00000" current="false" preferred="false"/>
    <mode id="0xb4" name="1152x864" w="1152" h="864" hz="75.00000" current="false" preferred="false"/>
    <mode id="0xb5" name="1280x720" w="1280" h="720" hz="60.00000" current="false" preferred="false"/>
    <mode id="0xb6" name="1280x720" w="1280" h="720" hz="50.00000" current="false" preferred="false"/>
    <mode id="0xb7" name="1280x720" w="1280" h="720" hz="59.94020" current="false" preferred="false"/>
    <mode id="0xb8" name="1152x720" w="1152" h="720" hz="59.96699" current="false" preferred="false"/>
    <mode id="0xb9" name="1440x576i" w="1440" h="576" hz="25.00000" current="false" preferred="false"/>
    <mode id="0xba" name="1024x768" w="1024" h="768" hz="75.07622" current="false" preferred="false"/>
    <mode id="0xbb" name="1024x768" w="1024" h="768" hz="60.00384" current="false" preferred="false"/>
    <mode id="0xbc" name="1440x480i" w="1440" h="480" hz="30.00000" current="false" preferred="false"/>
    <mode id="0xbd" name="1440x480i" w="1440" h="480" hz="29.97003" current="false" preferred="false"/>
    <mode id="0xbe" name="832x624" w="832" h="624" hz="74.55127" current="false" preferred="false"/>
    <mode id="0xbf" name="800x600" w="800" h="600" hz="75.00000" current="false" preferred="false"/>
    <mode id="0xc0" name="800x600" w="800" h="600" hz="60.31654" current="false" preferred="false"/>
    <mode id="0xc1" name="720x576" w="720" h="576" hz="50.00000" current="false" preferred="false"/>
    <mode id="0xc2" name="720x480" w="720" h="480" hz="60.00000" current="false" preferred="false"/>
    <mode id="0xc3" name="720x480" w="720" h="480" hz="59.94006" current="false" preferred="false"/>
    <mode id="0xc4" name="640x480" w="640" h="480" hz="75.00000" current="false" preferred="false"/>
    <mode id="0xc5" name="640x480" w="640" h="480" hz="60.00000" current="false" preferred="false"/>
    <mode id="0xc6" name="640x480" w="640" h="480" hz="59.94048" current="false" preferred="false"/>
    <mode id="0xc7" name="720x400" w="720" h="400" hz="70.08166" current="false" preferred="false"/>
  </output>
  <output name="DP1" connected="false">
  </output>
  <output name="HDMI2" connected="false">
  </output>
  <output name="VIRTUAL1" connected="false">
  </output>
</screen>

So that means I should leave it as is, right? Let 25fps play at 50, and 29.97 fps play at 59.94?

That only leaves one question. Should sync playback to display be turned on?

On 25 fps and 29.97 fps vids it's

speed:+0.000% sync:+0% avg: 0% error: 0%

but for 23.976 fps vids it's

speed:+0.000% sync:+0% avg: 0% error: 25%
Reply
#6
If you don't passthrough, turn it on. Together with adjust refreshrate to match Video that will be perfect smooth playback.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#7
(2015-08-29, 20:58)fritsch Wrote: If you don't passthrough, turn it on. Together with adjust refreshrate to match Video that will be perfect smooth playback.

Thanks. I don't use passthrough and that's what I will do.

But since we're on this topic, if it's not too much trouble, can you explain to me why it's better?

If my understanding of what it does is correct (sync playback), you only need to turn it on if the fps doesn't match your refresh rate. For example, a 23.976 into 50hz, fps moves up to 25 and the audio needs to be sped up. But if the refresh rate matches (or is double, as it is in this case), then what's the point of having it turned on?

Also again, if it's not too much trouble, can you explain to me why a 25 fps video shouldn't run on 1080i 25hz, but is perfectly ok to run on 1080p 25hz?
Reply
#8
Check the Windows dx11 thread, I explained it in high detail there 4 days ago, please.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#9
(2015-08-30, 06:45)fritsch Wrote: Check the Windows dx11 thread, I explained it in high detail there 4 days ago, please.

Thanks, I read through it, and it's pretty much how I thought it worked.

There is one more thing I'm curious about...

Specifically for 23.976 into 59.94hz. What's the difference in how the video plays with sync playback on, and with it off. Like does it just do the regular 3:2 pulldown, or does it up the frame rate to 29, or what?

Also how do other programs like vlc for example handle this. Just wondering
Reply
#10
Code:
<mode id="0xad" name="1920x1080i" w="1920" h="1080" hz="25.00000" current="false" preferred="false"/>

Why does kodi change (or calculate differently) what xrandr says the refresh rate of interlaced modes is?

I know kodi doesn't handle interlaced as such, but IME the rate should be field rate eg. put glxgears on an interlaced display and it will vsync field rate.

IIRC from some mpv bug xrandr explicitly special cases interlaced modes to advertise field rate.
Reply
#11
I think you answered that yourself :-) think on it from a practical pov with the goal to switch rate only once no matter how user will postprocess.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply

Logout Mark Read Team Forum Stats Members Help
Few refresh rate questions0