[TESTING] Debian 11 Bullseye

Hah! I very carefully checked that my system was as up to date as possible before testing this morning, but some major updates have materialised since then; so maybe I wasn’t actually testing the same version @grahamh and co. have been using internally?

Testing this evening (after updating again) I’m happy to report that the 1080i/60 wedge test-pattern is being deinterlaced correctly with deinterlacing set to Auto-Select, which is great! I shall run through some of my other test clips and report back on those shortly.

1 Like

Hello again, @grahamh .

Okay, I’ve gone through my other test clips. The bad news is that on 50Hz stuff, I’m now seeing a lot of stutter with Deinterlacing set to Auto-Select, which I wasn’t seeing before. On the plus side, I think this is actually an indication that Auto-Select is now working properly on 50Hz stuff: for 25p material it is exactly mimicking what happens with Deinterlacing set to Off, it’s just that this unfortunately includes the stutter problem! (A secondary test for this is to switch the video mode to 1080p/25Hz - this produces output that looks good, which means it must be correctly reconstructing the original 25p frames).

The slight shimmer I was complaining about in the old Little Dorrit clip is also now gone. And, as I said before, the 1080i/60 wedge pattern is now being handled correctly with Deinterlacing set to Auto-Select - including switching output to 1080p/24Hz.

So, I would say that in every case I’ve looked at where the source is progressive (what you were calling “frame-interlace”) Auto-Select is now working correctly. It also correctly handles the transition from 25p film to 50i (field-interlace) scrolling text in the titles.

However (as I think you said yourself) for the things where the BBC strangely decided to do a 50->60Hz conversion, Auto-Select is not producing the correct result there. I noticed it most in the bit from Cranford season 1 that I uploaded - you still need to manually set Deinterlacing to Deinterlace in order to get optimal results on that one. (The hand-painted titles are smoother and the text on the gravestone is clearer). The other similar clips (Bleak House and the bit from The End of Time) also benefit from being set to “Deinterlace”, although the benefits are more subtle.

So, to sum up:

  1. Auto-Select somehow needs to identify those 50->60Hz cases and behave like “Deinterlace” rather than “Off”. (But keep the current “Off” behaviour on the 60Hz wedge pattern).

  2. You still need to fix the 50Hz stuttering problem.

But otherwise, as far as VC-1 deinterlacing is concerned, it’s looking very good indeed.

Sadly, I don’t think it did. :slightly_frowning_face:

We are looking at improving decode performance - but for VC-1 we might’ve done the best we can

It is looking a lot better than it was. If it weren’t for those weird flashes of pseudo-macro-blocking in the End of Time clip, I would think it was perfect.

@grahamh Addendum to my previous long post…

Actually, I think there is still something not quite right on my first two Being Human clips. I think Auto-Select is switching to field-deinterlace (i.e. switching to “Off” instead of “Deinterlace” behaviour) well before the title text appears.

If you want to know how I know that, I noticed that if you choose Auto-Select and then force 25Hz output then, so long as Auto-Select is mimicking “Off” behaviour, the output looks good, but as soon as it switches to “Deinterlace” behaviour, everything goes into slow motion. That’s a bit odd, but probably not worth changing - doing those things puts the player into a position where there really isn’t any correct option! But this behaviour provides a visual check for what the deinterlacer is doing at any given point.

On the first two Being Human clips, with Auto-Select and 25Hz output, it goes into slow-motion right at the start; so I think it must be in Deinterlace mode at that point. However, if I set Deinterlacing to Off and force 25Hz output, then everything plays correctly right up to the point where the titles start (after which there is combing). That suggests to me that the video actually is 25p, but Auto-Select is nonetheless treating it as 50i.

Actually it changes from frame to field interlace and back again several times for about 20 seconds before settling on field interlace when the credits roll. Then switches back to frame just before the last credit scrolls off the screen. There’s not much we can do if the metadata in the frame headers is not signalling the right thing.

I think you are just going to have to mark all those BBC 60i mixes for deinterlacing.

If it’s switching rapidly in the metadata, maybe that actually does reflect changes in the video? The end of episodes of Being Human tend to include a lot of fast cuts as it previews the next episode - it could conceivably be progressive between the cuts but interlaced across the cuts…

Given that the thing you took out doesn’t seem to have helped with the stutter, would it be possible to make the decision frame-by-frame rather than once per second?

On that point: I’m going to go out on a limb and say I think that videos which were captured as 1080p/30, then released on blu ray as 1080i/60 using the VC-1 codec, are essentially non-existent. If you have to take other codecs into account, that makes things considerably more complicated; but specifically for VC-1, if the file is 1080i/60, there are pretty much only two realistic possibilities: it’s either 24p or 60i; it’s hardly ever (and possibly never) going to be 30p.

So (IMO) while you do need to check the frame rate (and handle it as frame-interlaced if it’s 24 or 23.98fps - which is already working!), if the frame-rate is actually 60 or 59.94, then you should default to treating it as field-interlaced, regardless of what the metadata might say.

(Obviously the situation with 1080i/50 videos is very different - because 25p is quite common - so for those, paying attention to the metadata is the right way to go).

I wouldn’t expect the Vero or any other platform to be able to automatically achieve optimal results with the BBC 50->60Hz conversions. For the David Tennant bluray specials the publisher (2Entertain) botched the conversion. See details at links below. An enthusiast who evidently knows their stuff wrote custom scripts to try and construct clean 50i versions. If 2Entertain botched other releases as well I don’t think we can expect clean 50i to be obtainable unless the title is re-released in 50i (as the Tennant specials were in Germany).

https://horman.net/doctorwho/specials.php

1 Like

So the switch occurs too early? Is it one seconds, two seconds too early or just a blink of an eye?

Thanks for finding that. I’m reluctant to hard-code something on the basis of one (botched) series of releases. I do have other VC1 clips that probably came from US 24 and 30Hz which play fine with the current scheme.

I did try that and it was a mess because of a short delay while the setting changed. It surprised me how often that metadata changed, even in a sequence that you would expect to be all one thing or the other.

Well, yes: no way a Vero 4K could unscramble them in real time. But as things stand now, treating those videos as 60Hz field-interlaced looks substantially better than treating them as 60Hz frame-interlaced. So, if there’s any way to identify them and for the Auto-Select option to default to “Deinterlace” behaviour when playing them, that would be desirable. Right now they’re the only case where Auto-Select very consistently looks worse than one of the manual options.

1080p/24, sure. 1080p/30, maybe. 1080p/24 encoded as 1080i/60, sure. But 1080p/30 encoded as 1080i/60, and VC-1? Where are they from? :slightly_smiling_face:

The thing to consider here is, how often we will come across legitimate 1080i/60 frame-interlace VC-1 videos vs how often we will come across videos that are actually 1080i/60 field-interlace VC-1 videos but with incorrect metadata? Something labelled as 24p is probably legit and needs to be handled as such; but (IMO) frame-interlace 1080i/60 VC-1 is rare enough that treating all non-24p 1080i/60 VC-1 files as field-interlaced is probably a better strategy than following the metadata. (At the very least, it gives what is probably the best feasible result on all those “converted” BBC discs).

Fair enough.

Pretty much from the start of the clip. But from what Graham is saying, it sounds like it is actually following the metadata as closely as it can, it’s just that the metadata is signalling constant cadence changes for some reason. For 50Hz stuff, following the metadata is probably the best option (so long as a manual override remains available for when it’s needed) - there’s probably not much point in trying to compensate for questionable authoring.

(There might be other options in the very long term - for example, actually outputting the raw 1080i fields as a 1080i video signal and letting an external deinterlacer handle it - but that’s not something to consider for this release).

@grahamh Is there a way to monitor from the command-line whether the Auto-Select deinterlacer is currently in field-interlace or frame-interlace mode? I know you said this appears in the log; I’m wondering if there’s a way to display it with real-time updates rather than having to look through the log after the fact. Maybe with a watch command or something.

tail -f combined with grep on the log file?

specifically
tail -f ~/.kodi/temp/kodi.log | grep VC1

1 Like

That doesn’t produce any output at all. :slightly_frowning_face:

did you play a file that you know has different interlaces?

Several.

If I do cat ~/.kodi/temp/kodi.log | grep VC1 that doesn’t produce any output either - but cat ~/.kodi/temp/kodi.log | grep INFO gives me quite a lot. So I can only conclude there are no references to “VC1” in the log.

There was a software update this morning - I don’t know if that changed something?

That was only kernel to restore HDR recognition in VP9.

You do have debug logging on ??

1 Like

I didn’t. :rofl:

Okay, that’s working now!