Too many whitelist modes (Pi 3B+, Kodi 19)

Looking at the modes that are listed as available in the whitelist now, there are clearly too many. A number are actually duplicated. And, in addition, many also have alternative versions labelled “tab” or “sbs”. It may well be correct that the TV can handle SBS or TAB at those resolutions, but they shouldn’t be listed as if they were separate output modes.

Logs: https://paste.osmc.tv/nopijukota

I know very little about 3-D but why not? What if you wanted to restrict 3-D output to one or other of SBS and TAB?

The duplicate 2-D modes has been a feature since whitelists were introduced. Never became a priority to fix but I’ll take a look.

There are other ways to control that. For example, Settings / System / Display / Stereoscopic 3D / Preferred Mode, Settings / Player / Videos / Stereoscopic 3D / Playback mode of stereoscopic 3D videos, and a corresponding option in the UI during playback. And that’s not to mention the fact that, under Kodi 19, the Pi can’t even decode MVC 3D any more, while any other 3D video file format can be passed through as if it were 2D and the TV handles it.

All those SBS and TAB modes don’t appear as whitelist options on the Vero 4K, which does handle 3D.

SBS and TAB shouldn’t really be considered as separate “modes” anyway. It’s a bit like 576p 4:3 and 576p 16:9 - they may be different VIC modes under the surface, but it wouldn’t make any sense to the user to whitelist them independently of each other. You just want to whitelist 576p once and then (if necessary!) have a separate setting that says “tell the TV to switch aspect ratios as appropriate”. Similarly here, you want to be able to whitelist 1080p/23.98 and (if necessary) have a separate setting which says “tag the content as SBS 3D or TAB 3D as appropriate”, not treat those as separate whitelist entries.

We didn’t have all these SBS and TAB modes showing up under Leia. There was no need for them then, and there still isn’t.

… and not much about Matrix on RPi. Maybe @tanio99 can take a look.

Meanwhile, thanks for the alert - I’ve removed the duplicate 2160p30 mode on Vero :slight_smile:

That’s an interesting discussion. I’m currently trying to rework the whole 3D related resolution handling. My idea is to make those resolutions available in the whitelist :rofl: .

Currently, the 3D resolutions are hidden from the rest of Kodi’s whitelist code. When you play a 3D movie, Kodi tries to find a matching resolution based on the whitelisting ruleset without looking at the various 3D flags. So Kodi finds a matching 2D resolution.

In the Amlogic part of Kodi I’ll try to match a suitable 3D resolution with the chosen 2D one. If there is none, then I’m just using the 2D one. That has caused many playback issues (who wonders).

Consider a user who nailed down his resolution to say 1080p60. If there’s no frame packed 60p support, then I can’t do anything about it and FP playback fails (you just get a black screen). The user then complains about Kodi not playing his 3D MVC video.

What I could do is to play the video as 2D instead. But I can’t switch the playback mode in the Amlogic part. That has to be done in Kodi above.

So there’s the idea to offer the 3D resolutions to the whitelist handling. When the playback starts and no suitable 3D resolution could be found, then I can restrict playback to 2D in that case.

That is because Kodi did/does not check if TAB/SBS support is available for a certain resolution. If you’re playing a SBS video at any resolution then Kodi just accepts that and starts playback. Internally, Kodi asks the whitelist for a 2D resolution and reworks that to fit the 3D needs. Regardless of whether it is supported or not.

In which case we definitely don’t need all those tab and sbs modes in the whitelist! But if you actually want that to work differently and have the 3D modes explicitly whitelisted… well, okay. I am dubious about how often anyone would want to use a tab or sbs mode that isn’t 1080p, though.

And, as I said before, it’s not like you can play 3D on the Pi anymore anyway. And on the Vero I’m not seeing any sbs or tab modes listed.

Incidentally, all those modes also show up in the list of available resolutions to run the Kodi desktop UI in - and there’s no good reason to run the desktop in a tab or sbs mode (and no visible difference if you select it).

It seems like you need to have an error message explaining that 3D playback won’t work unless you enable refresh-rate switching, and then abort playback. If they’re asking the TV to do something it can’t do, then inform them of that and tell them what they need to do to fix the issue. Of course they’re going to complain if all they get is a black screen. They’ll complain about 2D playback too. But if they’re told “you can’t do that, but here’s what to do” maybe they won’t complain.

Well, there is at least one :slight_smile: : if you’re playing many 3D movies in a row, using a 3D GUI can reduce mode switching a lot :slight_smile: .

Unfortunately, it’s not possible to stop playback in the Amlogic layer :frowning: . Well, I could crash Kodi in that case :rofl: .

Indeed. But I need the 3D resolutions in the whitelist to find a supported one. Maybe we could filter the 3D resolutions in the UI?

That makes sense to me: if you enable or disable, say, 1080p/23.98 then also enable or disable 1080p/23.98 SBS and 1080p/23.98 TAB in the background, without explicitly displaying them in the list.

Selecting one of those modes as your desktop mode doesn’t actually switch the TV into 3D mode, and I don’t see 3D output from the desktop. Anyway, jf you wanted to do that, you’d use the “Stereoscopic 3D mode / Current” setting, wouldn’t you?

Hm, when you disable 1080p23.98 then the whitelist algorithm would search for an alternative resolution, e.g. 2160p60 and the video playback would start with that resolution. Kodi would also try to start playback for your 1080p24 MVC video at 2160p60 and miserably fail. If 1080p24 frame packed would be selectable in the whitelist, then I could select both resolutions in the whitelist.

Is it really likely that a user would choose to whitelist 1080p/23.98 frame packed but not whitelist 1080p/23.98 2D? Or vice versa? If there’s one entry in the list that whitelists or blacklists both modes, I don’t think the user will be inconvenienced.

I take the point about it causing problems if you don’t have access to the frame packed mode when you need it. But again, is a user who wants to play 3D movies frame-packed, and who cares enough about outputting video at native resolution that he’s using the whitelist at all, really ever going to de-whitelist 1080p/23.98?

Maybe, in the frame-packed 3D case, you should just ignore the whitelist and activate frame-packed output anyway if it’s requested? How many TVs support frame-packed input at anything other 1080p/23.98 (or 24)?

Hm, if I want to use 1080p60 for all my 2D videos (to avoid mode switches), but I need to use 1080p24 for my MVC ones? In that case I would select these two resolutions in the whitelist, right?

My Samsung TV does (e.g. 720p50), but to be honest I’ve never used it and I haven’t checked if it would work with the Vero :smiley: .