There are actually two different ways you could approach this… My original suggestion was to change the checkbox behaviour so that, if checked, it is interpreted as “allow double frame rates” instead of “prefer double frame rates”. That’s still my preferred option. But there is another way you could go: keep the checkbox as meaning “prefer double frame rates” but change the default frame rate for interlaced videos when the box is not checked.
At the moment, unchecking the box isn’t a viable option because a 1080i/50 frame-interlaced video gets output at 25Hz, which goes crazy. But if you were to change that behaviour so that, even with the box not checked, 1080i/50 is still output as 50Hz, then unchecking the box would then be a safe way to output 1080p/25fps as 1080p/25Hz if desired.
(In fact, now that I think about it, it might even be better to make both of those changes: change the default output mode for interlaced videos with the box not checked, and change the box being checked to mean “allow” rather than “prefer”).
Assuming your user who prefers 1080p/30 to be output as 2160p/30 is using the whitelist, he could uncheck the “allow double frame rate” box - for a 1080p/30fps video, Kodi would then prefer 2160p/30Hz over 1080p/60Hz. It seems to me it would be better to give the user the option to control what happens rather than forcing the same behaviour on everyone.
How you handle the behaviour when the whitelist is not enabled is something that probably does require some thought; in particular, the question of whether 1080p/30fps should default to 1080p/60Hz or 2160p/30Hz isn’t obvious (given the problems that Vero 4K has with doubling frame rates). But with the whitelist active, you want the user to be able to choose the behaviour for themselves.
EDIT:
Actually, the more I think about this, the more it makes sense to make both of those changes.
So, in the American case:
-
A 1080i/60 video should never be output as 1080p/30Hz by default, even if 1080p/30Hz is whitelisted and the checkbox is not checked.
-
If the video is 1080p/30fps and 1080p/30Hz is available and whitelisted, Kodi should use that, regardless of checkbox status.
-
If 1080p/30Hz is not available, and the checkbox is checked, Kodi should output 1080p/60Hz.
-
If 1080p/30Hz is not available, and the checkbox is not checked, it should output 2160p/30Hz.
Same principle applies for 25/50 in Europe.
As I say, I’ll leave it up to you to decide what the behaviour should be if the whitelist isn’t active. But with the whitelist active, that covers all possibilities.