Setting the zoom mode to “Stretch 16:9” seems to get the aspect ratio right, or at least very nearly right - whether it’s really bypassing scaling altogether, I can’t be certain.
Surely not.
So, 720p/24 output is a non-starter, then?
It occurred to me yesterday, there are also a few situations where 480p/50 output would be useful. (As opposed to 480p/60 or 576p/50).
720p24 is not supported by HDMI. 24p output is only permitted for 1080p and 4K.
480p60 and 576p50 are also only supported by HDMI. A different combination with different framerates won’t work.
These are the formats supported by most devices only:
640x480p @ 60Hz
720x480p @ 60Hz
720x576p @ 50Hz
1280x720p @ 50Hz
1280x720p @ 60Hz
1920x1080p @ 24Hz
1920x1080i @ 50Hz
1920x1080p @ 50Hz
1920x1080i @ 60Hz
1920x1080p @ 60Hz
3840x2160p @ 24hz
3840x2160p @ 25hz
3840x2160p @ 30hz
3840x2160p @ 50hz
3840x2160p @ 60hz
My Lumagen RadiancePro processor explicitly supports 720p/24 and 720p/25 input resolutions; and for output it supports (among others) 540p/50, 540p/60, 720p/96 and 720p/120. So clearly all of those modes are possible via HDMI. That doesn’t mean the Vero 4K can handle them, but don’t blame it on HDMI.
Assuming that’s true, that means there are actually a few cases where my fallback strategy of embedding a 1:1 pixel image within a larger frame would still be useful, even if 480p and 576p are working.
An example of this is watching SD material on Netflix where the show was originally made in the UK - old episodes of Red Dwarf, Fawlty Towers, things like that. These are (rather bizarrely) encoded as 480p/25 (or possibly 480p/50? 25, I think). So, if you output at 480p/60 you have to convert 25 frames per second to 60Hz output, which doesn’t look good; if you output as 576p/50, then it’s difficult to avoid vertical scaling.
This isn’t a very common situation, and doesn’t look too bad, because (on Netflix) they’re h.264, meaning the Vero 4K+ can decode them in software and use Lanczos3 upscaling, which isn’t too hideous. But in this specific situation it would be useful to get an exact 720x480 image embedded within a 576p/50 or 720p/50 or 1080p/50 frame.
As this is a request in general that has only occured once now, I don’t think there’s enough demand to invest too many resources into this. We’ll be looking into 480 and 576 output - it should work, but other resolution/framerate combinations as well as pixel-by-pixel output in 1080p frames (e.g.) is not something quite likely to be looked into IMHO.
BTW… The HDMI foundation has a chart of formats that are defined by HDMI (there are other resolutions and framerates devices can choose to support, but they are not standardized):
Supporting the standard resolutions and framerates is the basic goal here (keeping in mind that the chart is also for HDMI 2.1 and resolutions above 4K, which are obviously not supported by the Vero 4K/4K +).
Fair enough. Allowing 480p and 576p video to be output as 480p and 576p with no scaling is certainly the most important option we’ve talked about here, by a large margin - and would benefit plenty of other people besides me.
It’s no promise that it will work at some point though… @sam_nazarko and @grahamh might have a look and we’ll post an update as soon/if there’s one.
But you’re right, basic SD output of 480p60 and 576p50 has been discussed before as well and it would be a nice thing to output SD live TV and NTSC/PAL DVDs at their native resolution. That should cover most scenarios.
I started a thread about my SD issues over on the Kodi forums - I know Sam spotted that. Summarised version here:
-
As I get similar issues on a Vero 4K+ and on a Raspberry Pi 3B+ running LibreELEC, it’s quite likely a Kodi-level issue.
-
After some thought, I think the issue may not be with SD generally, but specifically with 4:3 videos.
When Kodi plays a 4:3 DVD rip, with View Mode = Normal, it scales the video vertically to full screen and horizontally to (screen_x_pixels * 0.75). This is correct for 720p or higher; but if the output is SD, this means the video is horizontally downscaled.
What it should do (if the output is 576p or 480p, and if the video is SD) is not do any scaling at all, and let the display handle the aspect ratio.
Ideally it should also signal via HDMI to let the TV know that it needs to switch to 4:3.
Vero does do that (or will, if that is whitelisted and the aspect ratio bug is squashed). It will output exactly 720x576 or 720x480. Your TV will know that for these modes, as defined by CTA, the pixel aspect ratios are 16:15 and 8:9 respectively and do the scaling. I’ve no idea what you can achieve with your processor, given that.
Be aware though that lots of DVB transmissions are in fact 544x576, so if you have been recording off the airwaves, that 544 is going to have to be scaled by Vero to 720 to conform with a defined CTA format.
If the aspect ratio bug is squashed, yes.
I was pointing out what the logic should be in cases where Kodi is playing 4:3 video. Right now, the logic (in Normal mode) is:
“If the aspect ratio is 4:3, scale the video horizontally to display_width * 0.75; otherwise scale to display_width.”
What it should be is:
“If the aspect ratio is 4:3 and the output resolution is neither 720x576 nor 720x480, scale the video horizontally to display_width * 0.75; otherwise scale to display_width.”
Well Ok, but all I’m pointing out is - that logic is in your TV (or processor). There’s nothing we can do in Vero about that. Maybe there’s something you can do in your processor.
No, I’m sorry, @grahamh, but that’s not right. I’m happy to accept that it’s a Kodi issue rather than an OSMC one, but it is categorically a problem with the media player and not with the processor or the TV.
Here are some screen shots which might make things clearer… This is a direct MPEG2 rip of a 480i DVD, no transcoding. I’ve whitelisted 720x480 and nothing else, so it’s playing at that resolution. I’ve set my video processor to upscale to 2160p, and also to shrink the upscaled image by 10% on all sides, as if it were compensating for 10% overscan. The region outside the shrunk image is filled in grey. We begin with View Mode set to Normal.
Here’s what it looks like with the final aspect ratio locked to 16:9:
Here’s what it looks like with the final aspect ratio set to 4:3:
The grey region outside the image is being generated by the processor; everything inside the grey border is the picture that the media player is producing. See the black vertical bars? Kodi is producing those, and downscaling the image horizontally in the process.
Now compare what happens when we set the Kodi View Mode to “Stretch 16:9”…
Final aspect ratio 16:9:
Final aspect ratio set to 4:3:
The fourth picture is the only one that’s correct.
In case you think the processor is doing something odd, here’s what we get connecting directly to the TV, with View Mode set to Normal.
TV aspect ratio set to 16:9 gives us a 4:3 image:
TV aspect ratio set to 4:3 gives us a squashed image:
It’s not a major flaw - it’s simply that, if the output is set to either 576p or 480p, what it currently does when the View Mode is set to “Stretch 16:9” is what it should be doing when the View Mode is set to “Normal”; what it actually does with the View Mode set to Normal is incorrect (it downscales horizontally).
What it currently does in “Normal” mode is correct for output resolutions of 720p or higher, of course; but wrong for output resolutions of 576p and 480p.
Does this issue on v17?
Is 576p or 480p output possible on v17?
EDIT: Oh, it is possible, yes. (On the Pi, anyway). And yes, the problem exists there too.
We’re making rather heavy weather of this. It’s not actually a complicated issue (now I understand it properly!).
If the View Mode is Normal, and the output resolution is W pixels wide by H pixels high, and the video is tagged as 16:9, Kodi scales it to W by H; if the video is tagged as v4:3, Kodi scales it to (W * 0.75) by H. It clearly does the same thing for all output resolutions.
That’s the correct behaviour for 720p or higher, but for 576p or 480p, it isn’t. You simply need to change the logic from “if the aspect ratio is 4:3” to “If the aspect ratio is 4:3 and the output resolution is neither 576p nor 480p”.
If anyone is having trouble reproducing this, btw, check the following:
- Video has a resolution of 720x480 or 720x576.
- Both those resolutions are white-listed, and nothing else is.
- Video is tagged as 4:3.
- TV aspect ratio is locked to 4:3.
Under those conditions the picture on the screen will be horizontally squashed. If you set the TV to 16:9 aspect ratio, you’ll see a 4:3 image; but the reason for that is because Kodi downscaled it horizontally, and then the TV scaled it back up again; if everything were working correctly, the video would fill the whole screen with a 16:9 image.
So that appears to be 4:3 material broadcast with a aspect ratio of 16:9 for a typical modern TV. The black bars would be put there by the publisher, right?
If by ‘final aspect ratio’ you mean what you have set your screen to then that is entirely consistent. The TV is squashing the image you show in the previous capture from 16:9 to 4:3.
So now kodi is taking the image and widening it. Most of the black bars go outside the nominal width of 720 and are discarded. A 720x480/576 signal is being sent at 16:9.
No! As I said above, Kodi is not scaling anything, it’s just signalling to the sink that the signal needs to be displayed at a particular aspect ratio. The result is the same but the answer doesn’t lie in Kodi or Vero.
Ah, OK. Yes, Kodi is putting in the black bars then. Because your TV is probably not advertising that it can display any 4:3 modes. (Why would it?)
So I may have to eat some of words. Kodi will be scaling a 4:3 image so that it can send it to a display it thinks can only render at 16:9.
If your processor is so clever, can’t it signal to Kodi that it will accept a 4:3 signal (in its EDID)?
Edit: Then again (after a few more tests) maybe it is indicating support for 4:3. Let me look into that display bug in Leia and see whether Kodi is trying to pick a 4:3 mode if it’s advertised in the EDID.
Okay, @grahamh, let’s go back to first principles, here.
We’ll leave the video processor out of it for the moment, and focus on the media player talking directly to the TV. The TV is an LG OLED65G6V. This was LG’s flagship model for 2016, with a suggested retail price of £6,000 at launch. I think we can probably assume that it is capable of playing DVDs with the correct aspect ratio. (And, in fact, it does, when fed from my Oppo 105D player playing an actual disk).
If it is fed a 720x576 or 720x480 video, there are only two possible ways it can handle it. If the aspect ratio setting on the TV is 16:9, it scales it to fill the entire screen with a 3840x2160 image; if the aspect ratio setting on the TV is 4:3, it scales it to 2880x2160, with black bars at the sides. There are no other possibilities - either you get a 16:9 image that fills the entire screen, or you get a 4:3 image. There is a third setting - “Original” - but that means “use either the 16:9 setting or the 4:3 setting, depending on what the player tells you to do”; so, even in that case, there are still only the same two possible outcomes in terms of what you see on the screen.
With Kodi playing a 720x480 video (and the media player connected directly to the TV), if the TV’s aspect ratio set to 16:9, I see a 4:3 image; if the TV aspect ratio is set to 4:3, I see a 1:1 aspect ratio image that is horizontally squashed.
The only way that can happen is if Kodi is downscaling the image from 720x480 to 540x480, and then embedding that downscaled image inside a 720x480 output, with black bars at the sides. There is no other possibility, here: you seem to think that the TV might be somehow horizontally scaling the image twice, once because of its own aspect ratio setting and once because of what the player is telling it to do. It can’t do that! There are only the two aspect ratio options available.
And if Kodi is downscaling and adding the bars itself, there is literally NO situation in which that is the right thing to do. You’re also suggesting that the TV is somehow communicating back to the media player that it isn’t capable of switching to 4:3 - is that even possible? Is that an option in the EDID? Even if it is, there’s no conceivable reason why the TV would ever send that information; and even if it did, there’s no conceivable reason why it would ever be useful for Kodi to believe that it’s true; so it’s still, ultimately, a Kodi problem.
Also, I get the same problem regardless of whether Kodi is connected to the TV or to my Lumagen RadiancePro - if you’re telling me that both of these high-end devices are telling Kodi that they can’t switch aspect ratio then frankly I don’t believe you.
It seems far more likely to me that (as I said above) Kodi simply blindly scales all 4:3 videos to 0.75 x the output resolution width (in pixels), regardless of what the output resolution is set to. So, if the output is 1920x1080, it scales to 1440x1080 with black bars (correct); if the output is 1280x720, it scales to 960x720 with black bars (correct); and if the output is 720x480, it scales to 540x480 with black bars (not correct).