New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resolution: Choose most matching refreshrate #10243
Conversation
I used to do this in Pi builds, but there was an issue with interlaced video. They tend to vary between 25 and 50 (or 30 and 60) with different deinterlace modes. Special casing 25 and 30/29.97 to prefer 2x the framerate would be one way of avoiding this issue, but I guess @FernetMenta would be better placed to comment. |
@popcornmix In fact I talked with @FernetMenta before that and he told me "we can get interlaced content detected properly", but yes - you are right - we need something ontop of that most likely. |
Easy fix however: http://sprunge.us/MQcU but I would consider this a hack :-) |
It is not on renderer to decide but player. |
Yeah, but we need a player change. If you play 1080i50 player does not know about the 50 hz at the beginning, so it will switch to 25 hz first and after some seconds it will switch to 50hz mode. |
a tiny one. if it is interlaced, it can't be 25hz |
ede269b
to
c00178d
Compare
@FernetMenta two hacks added - I am not sure how to solve it properly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
drop this please. the strategy for videoplayer is making to kill all dependencies to pvr. this change does not cover all cases anyway
c00178d
to
b1d7bf4
Compare
force pushed |
the comment was for 2nd commit, don't know if github shows this correctly |
b1d7bf4
to
f3b0fe3
Compare
// the content is interlaced at the start, only | ||
// punish when refreshrate > 60 hz to not have to switch | ||
// twice for 30i content | ||
if (refresh > 60 && round > 1) |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Not possible. Some tvs only have 120 and 119.9x Did I remove the right one? Am 01.10.2016 7:47 vorm. schrieb "Rainer Hochecker" <
|
If tvs have only a single resolution, we can't switch anyway and stay at desktop. So it is possible to ignore all > 60 |
+1 after discussion with @fritsch on slack |
jenkins build this please |
Admiral Schneider on the forum had an issue with his new 120 hz TV. This TV also has a 119.8804 mode which is used for 23.97608 content. Because our metric always ends with a distance measure of 0.0 if (refreshrate / video_fps) / round(refreshrate / video_fps) == 0.0. So basically every division without rest gets this 0.0
As we render with refreshrate 120 hz and this puts immense load for 24.0 fps content onto GPUs, we shall punish modes so that 24.0 gets a lower measure than 120 fps.
Another example: 30 fps
TV has: 30 hz, 60 hz and 120 hz
Before this PR:
w(30) == w(60) == w(120) = 0.0
After this PR:
w(30) < w(60) < w(120)
but still:
w(60) < w(59.94) < w(118.88)