1080i/50 playback (Vero 4K, August release)

There are two (related) issues I want to talk about here. The first was already raised in the V19 testing thread, but is still outstanding; the second I haven’t mentioned before; but there is some important interaction between the two.

Test clips here: Dropbox - Deinterlacing test patterns - Simplify your life

Start by whitelisting both 1080p/25 and 1080p/50. Now play the Sherlock clip. It starts playing at 1080p/25, and looks like it’s playing in slow motion. After a few seconds it switches to 1080p/50 and starts playing incredibly fast. Then the speed settles down, but motion is extremely jerky. You can work around this by de-whitelisting 1080p/25 - so long as it starts playing at 1080p/50, it seems okay. (There are some deinterlacing errors, but that’s not what this thread is about - motion, at least, is fairly smooth).

Now, again, make sure 1080p/25 and 1080p/50 are both whitelisted. Play the Planet Earth clip. Pause it, set the deinterlacing to Off (it’s a VC-1 video so you have this option), stop playback, and then play it again. The whole clip now plays correctly at 1080p/25 and the camera motion is smooth pretty much throughout the whole video.

Now de-whitelist 1080p/25 and play the Planet Earth clip again (with deinterlacing still set to Off - it will remember from last time so you don’t have to set it again). It plays at 1080p/50, but now the motion is jerky. It’s not actually skipping frames, I don’t think, but the effect looks rather like that.

EDIT: The jerkiness on this clip doesn’t always show itself. I’d say it happens about 50% of the time.

So, you have to de-whitelist 1080p/25 to get the Sherlock clip to play correctly; but if you do that then the Planet Earth clip won’t play correctly with deinterlacing set to Off. (Setting deinterlacing to Auto-Select makes the Planet Earth clip play smoothly at 1080p/50 but reduces picture detail).

Some logs of me following the above procedure: https://paste.osmc.tv/purexodayo

This guy was having some issues which were fixed by de-whitelisting 1080p/29.97; so I’m guessing his issue is similar to the first problem I raised, but affecting 1080i/60 material instead of 1080i/50…

I think I’ve fixed the double refreshrate switching. Kodi had a patch for it back in February last year but it doesn’t quite do what it said on the tin.

When do I get a chance to test? :slightly_smiling_face:

I think @sam_nazarko’s going to bump mediacenter ‘real soon now’.

1 Like

I just turned off all whitelisting. It is only usefull when playing <GUI-refreshrate (1080p advised) and I hardly ever do that no more. Mainly because SD just looks like sh*t :grin:

Thanks for the patterns! They are great for testing and making this hobby fun.

Indeed, but my 4k TV makes a better job of upscaling than Vero does. YMMV.

You mean less than GUI resolution. And actually, while it is useful for <GUI resolution, there are other uses too. If, for example, you have a video that is 2560x1440, without the whitelist active it will be downscaled to 1080p, with consequent loss of detail; with a whitelist it will be upscaled to 4K instead. The whitelist also enables resolution-switching on the fly, and there are a few other situations where it’s useful.

May I recommend my whitelist guide…?

Plus, the issue of what happens when you play a 1080i/50 VC-1 clip at 50Hz with deinterlacing set to Off is still a problem even with the whitelist disabled, so that’s not a panacea.

I usually watch SD at less than full screen. 576p 4:3, for example, I watch as 1536x1152 (on a 65" 4K screen). It looks much clearer and sharper that way.

Yes, indeed, that’s true on most setups.

See this post for a list of things you can get from those test clips:

And I guess also this one:

Just gently bumping this one, as the issues are still outstanding.

My understanding is that this is already fixed and will be in next build.

Okay, cool. Has that made it to the staging repository yet?

Not yet, no.
There are some other changes to merge first.

Just stay on staging if you want – it should be pretty stable now that v19 and 4.9 is out.

Hello, Graham. Things have obviously changed re: this stuff in the latest staging build - but it’s still not quite right.

To recap, there were two issues here. The first was that, with 1080p/25Hz whitelisted, a 1080i/50 h.264 file would start playing at 1080p/25, then switch to 1080p/50; and this was accompanied by various other weird playback effects.

The second was that a 1080i/50 VC-1 file, with deinterlacing set to Off, experienced jerky playback with 1080p/50Hz output (about 50% of the time, anyway), and only played reliably at 1080p/25Hz.

What seems to have changed in the latest staging build is that all 1080i/50 files default to 1080p/50Hz output under all circumstances. That fixes the first problem - 1080i/50 h.264 now starts playing at 1080p/50Hz and there’s no accompanying weirdness - but the second issue is arguably worse now.

You used to be able to start playing a 1080i/50 VC-1 file, pause it immediately, set Deinterlacing to Off, and continue, and it would then continue playback at 1080p/25. In addition, if you later played the same file again, it would remember that deinterlacing is Off for that file, and keep on outputting 1080p/25 for the duration of playback. Now, while it still remembers that deinterlacing is Off, the output always defaults to 1080p/50Hz (with accompanying jerkiness about 50% of the time). Every time you watch the file you have to manually switch the output mode to 1080p/25 to make it play reliably.

(If you leave deinterlacing set to Auto-Select it plays without jerkiness at 1080p/50, but then you get deinterlacing errors - circumventing those was the whole point of adding the option to turn deinterlacing off).

On the face of it, there’s no obvious reason why what is effectively 1080p/25 can’t be correctly output as 1080p/50; so, figuring out why that’s happening is probably the way to go. Forcing all 1080i/50 stuff to be played as 1080p/50 wouldn’t then be a problem.

Thanks for the feedback. Seems VC-1 is always going to be a PITA. We’ve been poking around in more recent kernels than the 4.9 we ship right now but can’t find any improvements. Not giving up, yet, though.

I’m not sure to what extent this issue is directly connected to the video being VC-1. On the face of it, it seems more like an issue with post-processing. If the output is correct at 1080p/25Hz but wrong at 1080p/50, that’s not a decoding issue. (There are issues with decoding VC-1 - discussed in another thread! - but this isn’t one of them).

You might be better off looking at earlier versions. On a whim I decided to reinstall the November 2020 build. In that version, 1080i/50 VC-1 with deinterlacing off plays smoothly at 1080p/50Hz. [EDIT: although, it may not actually be working correctly… it doesn’t play smoothly at 1080p/25Hz, which is ominous, and turning deinterlacing off on 1080i/60 VC-1 definitely doesn’t do anything; and with deinterlacing set to Auto-Select, the end result is much better than when you use that setting on the current build, so I’m not sure if setting it to Off actually makes a difference!]

VC-1 decoding quality is definitely much better in the November version.

There are some other regressions, too. In the November version, hardware deinterlacing of MPEG2 was far better than it is now. It correctly recognises my 480i wedge clip as progressive (which the current version doesn’t), and it also has very nice diagonal filtering when deinterlacing natively-interlaced material - this is entirely disabled in the current build.

Thanks again for your insights/research.

Just FYI it’s not just about post-processing. The decoder presents each field to the deinterlacer with an appropriate timestamp. It’s the deinterlacer’s job to interpolate according to the output framerate. In 3.14 the ‘deinterlacing off’ option was a switch in the decoder, not the deinterlacer, which altered the way the fields were output. That was why we could do that with VC-1 but not other codecs which don’t have that switch. That switch is missing completely in 4.9 and yes, we are looking to see if the same effect can be achieved.

There are, however, only 24 hours in a day.

Gently bumping this one, as the changes to 1080i/50 VC-1 playback have now moved out of the staging respository and into the mainstream release.

To recap: when playing 1080i VC-1, you have the option to manually set deinterlacing to “Off” (with improved picture quality as a result if the video was captured progressively). But if the video is 1080i/50, with deinterlacing set to off and the output resolution set to 1080p/50, you get jerky playback about 50% of the time. Since the output now defaults to 1080p/50, even with 1080p/25 whitelisted and deinterlacing off, this happens quite a lot. You can work round it by manually switching to 1080p/25 output, but it’s still annoying.