Should I configure Kodi with 2160p (4K) or 1080p resolution (upscaling)?

  Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
fritsch Offline
Team-Kodi Developer
Posts: 18,071
Joined: Aug 2011
Reputation: 560
Location: Stuttgart*
Post: #31
Is that a joke? You don't see the jaggedness, you don't right?

See, for a comparison here: https://en.wikipedia.org/wiki/Image_scaling

We are using OpenGL, which is either NEAREST or LINEAR

"Your most vocal users are not reflective of your userbase" J.M.
"Of course, they [XP Users and people with outdated hardware] need to tell the world about the kind of hero they are, and block innovation for everyone else because their decades old OS / hardware needs to work =p" nevcairiel (ffmpeg)
No Debug Log no issue.
find quote
qp9013625 Offline
Senior Member
Posts: 126
Joined: Jul 2015
Reputation: 2
Post: #32
(2016-04-19 07:17)fritsch Wrote:  Is that a joke? You don't see the jaggedness, you don't right?

See, for a comparison here: https://en.wikipedia.org/wiki/Image_scaling

Well, let me give you a real-world GUI example, photographed from an actual display:

"Low-res panel displaying native resolution image:"

[Image: lo-res43p30.jpg]

"High-res panel displaying the same image using 2x nearest-neighbor scaling:"

[Image: hi-resnearest25rf6.jpg]

"High-res panel allowing the display to handle scaling (bilinear I assume):"

[Image: hi-resdisplayw6o6h.jpg]

Source:

https://forums.geforce.com/default/topic...9/#4608799

Yes, the high PPI nearest neighbor image might be somewhat jaggy, but in this example it looks a.) better than the native low PPI image and b.) much less blurry than the bilinear image.

Of course 2160p native would be even better, no doubt!

But since you suggested to stay at 1080p...

(2016-04-19 07:17)fritsch Wrote:  We are using OpenGL, which is either NEAREST or LINEAR

So what exactly is it when using 1080p on a 2160p display? Nearest neighbor or linear? Is it user configurable? If yes: How?

Not running a 2160p display yet, so can't check on my own yet.
(This post was last modified: 2016-04-19 09:04 by qp9013625.)
find quote
fritsch Offline
Team-Kodi Developer
Posts: 18,071
Joined: Aug 2011
Reputation: 560
Location: Stuttgart*
Post: #33
It's not user configurable, it uses linear.

Thanks for your images, have a look at the "hand" - that's exactly what I meant, see TextureGL.cpp if you want to change it testwise. There is a PR pending that adds mipmaps, but that will only benefit for pictures which are scaled down.

"Your most vocal users are not reflective of your userbase" J.M.
"Of course, they [XP Users and people with outdated hardware] need to tell the world about the kind of hero they are, and block innovation for everyone else because their decades old OS / hardware needs to work =p" nevcairiel (ffmpeg)
No Debug Log no issue.
(This post was last modified: 2016-04-19 09:23 by fritsch.)
find quote
fritsch Offline
Team-Kodi Developer
Posts: 18,071
Joined: Aug 2011
Reputation: 560
Location: Stuttgart*
Post: #34
When you use 1080p - nothing (!) happens, that's the idea behind this. We output 1080p and let the TV which has most of the time a HQ upscaling filter to cope with 1080i50 on a 4k display .... if we detect 4k video, we switch resolution to 4k.

Btw. this nearest vs linear bad quality is _the_ reason why I suggest people to use 1080p kodi output. So if your xrandr maintains 1080p but outputs 4k in reality without userspace knowing, you are fine.

And to add: For Video kodi has advanced shaders like bicubic, lanczos3 sink based, lanczos2 and some more to have a much better quality _if_ the gpu is fast enough of course, which most are not, when doing 1080p to 2160p upscaling - but here you can choose Nearest again in the video settings.

"Your most vocal users are not reflective of your userbase" J.M.
"Of course, they [XP Users and people with outdated hardware] need to tell the world about the kind of hero they are, and block innovation for everyone else because their decades old OS / hardware needs to work =p" nevcairiel (ffmpeg)
No Debug Log no issue.
(This post was last modified: 2016-04-19 09:28 by fritsch.)
find quote
qp9013625 Offline
Senior Member
Posts: 126
Joined: Jul 2015
Reputation: 2
Post: #35
(2016-04-19 09:21)fritsch Wrote:  Thanks for your images, have a look at the "hand" - that's exactly what I meant

Sorry, but I don't see a hand in those images... What hand?

(2016-04-19 09:26)fritsch Wrote:  And to add: For Video kodi has advanced shaders like bicubic, lanczos3 sink based, lanczos2 and some more to have a much better quality _if_ the gpu is fast enough of course, which most are not, when doing 1080p to 2160p upscaling - but here you can choose Nearest again in the video settings.

If video can be upscaled via nearest neighbor, then your following statement was wrong (at least for 1080p video):

(2015-12-06 00:01)fritsch Wrote:  
(2015-12-05 23:58)punpun Wrote:  Is it possible for Kodi to display menu GUI in 4K but play contents using its source resolution? The UI looks so much better in 4K rather than upscale from 1080p.

No.

Edit: Our gui scaler is probably the worst that is possible ... if 1080 upscaled by your TV looks worse than I would return my TV ... and same for "native resolution". The native resolution of your TV is 4k ... watching 1080 movies at 1080 will have the same shitty effect as the GUI that you don't like.

Because you could render the GUI at native 2160p and at the same time also display 1080p video natively by upscaling it to 2160p via nearest neighbor (1 pixel becomes 4 pixels).

And no, it would not be "the same shitty effect as the GUI that you don't like", because what he probably doesn't like is the blurriness of the linear filter being utilized by the GUI scaler, which would be absent when using a nearest neighbor filter instead (at least for 1080p upscaled to 2160p).
(This post was last modified: 2016-04-19 09:54 by qp9013625.)
find quote
fritsch Offline
Team-Kodi Developer
Posts: 18,071
Joined: Aug 2011
Reputation: 560
Location: Stuttgart*
Post: #36
Read again what the user asks ... and think (!) about what he wants to achieve, no he does not want a nearest neighbour applied on his video content, but outputting his video in 1080p without 1 px = 4 px in size. And for that I gave an answer.

hand: indicator, needle.


Edit: Oh (!) and he likes our GUI scaler :-) which is linear and not nearest neighbour. Rebuild kodi, change the few lines I pointed out and present your results, then we can discuss.

"Your most vocal users are not reflective of your userbase" J.M.
"Of course, they [XP Users and people with outdated hardware] need to tell the world about the kind of hero they are, and block innovation for everyone else because their decades old OS / hardware needs to work =p" nevcairiel (ffmpeg)
No Debug Log no issue.
(This post was last modified: 2016-04-19 09:56 by fritsch.)
find quote
qp9013625 Offline
Senior Member
Posts: 126
Joined: Jul 2015
Reputation: 2
Post: #37
(2016-04-19 09:26)fritsch Wrote:  And to add: For Video kodi has advanced shaders like bicubic, lanczos3 sink based, lanczos2 and some more to have a much better quality _if_ the gpu is fast enough of course, which most are not, when doing 1080p to 2160p upscaling - but here you can choose Nearest again in the video settings.

Where can I choose video upscaling between bicubic, lanczos3, sink based, lanczos2 and nearest?

Couldn't find it under Settings -> System -> Video Output nor under Settings -> Video -> Playback.

Could you please explain where that setting is?

Using latest Krypton 20160419-fb2dd46 with "Expert" view.
find quote
fritsch Offline
Team-Kodi Developer
Posts: 18,071
Joined: Aug 2011
Reputation: 560
Location: Stuttgart*
Post: #38
While playing the movie, press "return", click on video and choose the scaling algorithm under Scaling. You can save your setting for all videos.
See: Video_playback#OSD_video_settings (wiki)

"Your most vocal users are not reflective of your userbase" J.M.
"Of course, they [XP Users and people with outdated hardware] need to tell the world about the kind of hero they are, and block innovation for everyone else because their decades old OS / hardware needs to work =p" nevcairiel (ffmpeg)
No Debug Log no issue.
(This post was last modified: 2016-04-19 10:57 by fritsch.)
find quote
qp9013625 Offline
Senior Member
Posts: 126
Joined: Jul 2015
Reputation: 2
Post: #39
(2016-04-19 10:56)fritsch Wrote:  While playing the movie, press "return", click on video and choose the scaling algorithm under Scaling. You can save your setting for all videos.

Ah, okay, cool, thanks, but here's a feature request for Krypton:

Could you please place also those settings in Settings -> System -> Video Output or alternatively in Settings -> Video -> Playback?. Those are way too hidden like that IMHO.

Any chance you could do that?

(2016-04-19 10:56)fritsch Wrote:  See: Video_playback#OSD_video_settings (wiki)

The Wiki does not mention Nearest Neighbor and I can't find Nearest Neighor in Krypton 20160419-fb2dd46 either.

But you said:

(2016-04-19 09:26)fritsch Wrote:  but here you can choose Nearest again in the video settings.

Huh
(This post was last modified: 2016-04-19 12:01 by qp9013625.)
find quote
fritsch Offline
Team-Kodi Developer
Posts: 18,071
Joined: Aug 2011
Reputation: 560
Location: Stuttgart*
Post: #40
For the first thing: Nope, as it's a "per video" setting, which you can save "for all videos" in exactly this setting dialogue.
Second: I don't know which OS you are using. For Windows this is not available at all, as it's OpenGL / GLES specific. Also on the PI, AMLogic it's not available, including MediaCodec Surface rendering. As here a zero copy approach without going over our GL / GLES path is used for video. This has performance reasons as surfaces need to be copied back.

"Your most vocal users are not reflective of your userbase" J.M.
"Of course, they [XP Users and people with outdated hardware] need to tell the world about the kind of hero they are, and block innovation for everyone else because their decades old OS / hardware needs to work =p" nevcairiel (ffmpeg)
No Debug Log no issue.
(This post was last modified: 2016-04-19 12:18 by fritsch.)
find quote
noggin Offline
Super Moderator
Posts: 4,734
Joined: Oct 2008
Reputation: 125
Location: United Kingdom
Post: #41
(2016-04-19 12:15)fritsch Wrote:  Also on the PI, AMLogic it's not available, including MediaCodec Surface rendering. As here a zero copy approach without going over our GL / GLES path is used for video. This has performance reasons as surfaces need to be copied back.

Yes - for those interested the Pi uses Mitchell-Netravali scaling.
find quote
noggin Offline
Super Moderator
Posts: 4,734
Joined: Oct 2008
Reputation: 125
Location: United Kingdom
Post: #42
(2016-04-19 08:57)qp9013625 Wrote:  
(2016-04-19 07:17)fritsch Wrote:  Is that a joke? You don't see the jaggedness, you don't right?

See, for a comparison here: https://en.wikipedia.org/wiki/Image_scaling

Well, let me give you a real-world GUI example, photographed from an actual display:

"Low-res panel displaying native resolution image:"

[Image: lo-res43p30.jpg]

"High-res panel displaying the same image using 2x nearest-neighbor scaling:"

[Image: hi-resnearest25rf6.jpg]

"High-res panel allowing the display to handle scaling (bilinear I assume):"

[Image: hi-resdisplayw6o6h.jpg]

Source:

https://forums.geforce.com/default/topic...9/#4608799

Yes, the high PPI nearest neighbor image might be somewhat jaggy, but in this example it looks a.) better than the native low PPI image and b.) much less blurry than the bilinear image.

Of course 2160p native would be even better, no doubt!

But since you suggested to stay at 1080p...

(2016-04-19 07:17)fritsch Wrote:  We are using OpenGL, which is either NEAREST or LINEAR

So what exactly is it when using 1080p on a 2160p display? Nearest neighbor or linear? Is it user configurable? If yes: How?

Not running a 2160p display yet, so can't check on my own yet.

Is the first image really native resolution? Looks to me like it is a higher resolution image that has been resampled down to the panel resolution (or is the source a vector rather than raster format?) If it has been resampled prior to display - what resampling algorithm was used? The diagonals on the knob-indicators are less jaggy in the first image than the second.

The crux of fritsch's argument is that the HD->UHD scaling in most UHD TVs is better than Kodi's in most cases, so better to output HD from Kodi when playing non-UHD sources.
find quote
qp9013625 Offline
Senior Member
Posts: 126
Joined: Jul 2015
Reputation: 2
Post: #43
(2016-04-19 12:15)fritsch Wrote:  For Windows this is not available at all

Yes, had Windows with a NVIDIA Maxwell running at that time and took a quick look and noticed nearest neighbor is not available.

(2016-04-19 12:54)noggin Wrote:  Is the first image really native resolution? Looks to me like it is a higher resolution image that has been resampled down to the panel resolution (or is the source a vector rather than raster format?) If it has been resampled prior to display - what resampling algorithm was used? The diagonals on the knob-indicators are less jaggy in the first image than the second.

As already mentioned, those are not my photographs, they are from another user who posted those on the NVIDIA GeForce forums, see:

https://forums.geforce.com/default/topic...9/#4608799

He also posted some more photographs showing some games, see:

https://forums.geforce.com/default/topic...7/#4632537

I don't think they were resampled, since he wrote "native" and if you look closely (at the FTL images for example), the native and the nearest neighbor image have the same "stairsteps", so it's very likely truly native.

As far as I understand it's 1080p native source on a 1080p panel vs. 1080p native source upscaled via nearest neighbor (1 pixel becomes 4 pixels) on a 2160p panel.
(This post was last modified: 2016-04-20 12:55 by qp9013625.)
find quote
noggin Offline
Super Moderator
Posts: 4,734
Joined: Oct 2008
Reputation: 125
Location: United Kingdom
Post: #44
(2016-04-20 12:53)qp9013625 Wrote:  I don't think they were resampled, since he wrote "native" and if you look closely (at the FTL images for example), the native and the nearest neighbor image have the same "stairsteps", so it's very likely truly native.

As far as I understand it's 1080p native source on a 1080p panel vs. 1080p native source upscaled via nearest neighbor (1 pixel becomes 4 pixels) on a 2160p panel.

Unless the person is a very talented 'pixel artist', the antialiasing on the 'native' samples suggests its either been rendered from a vector source or a higher resolution bitmap, just not resampled by the GPU but rasterised or resampled upstream of that. In other words, the individual pixels weren't drawn by the original artist as individual pixels, but were rendered out at a given resolution. Whether this was part of the origination process (some graphics packages effectively resample as they draw) or downstream...

Whatever the case though the nearest neighbour is showing pretty bad resampling artefacts on the diagonals (which usually pushes resampling harder than horizontals and verticals)
find quote
qp9013625 Offline
Senior Member
Posts: 126
Joined: Jul 2015
Reputation: 2
Post: #45
(2016-04-20 13:14)noggin Wrote:  Unless the person is a very talented 'pixel artist', the antialiasing on the 'native' samples suggests its either been rendered from a vector source or a higher resolution bitmap, just not resampled by the GPU but rasterised or resampled upstream of that. In other words, the individual pixels weren't drawn by the original artist as individual pixels, but were rendered out at a given resolution. Whether this was part of the origination process (some graphics packages effectively resample as they draw) or downstream...

Whatever the case though the nearest neighbour is showing pretty bad resampling artefacts on the diagonals (which usually pushes resampling harder than horizontals and verticals)

Looks like the application running in those images is the KORG MS-20 software.

Anyway, what's your point?

Nearest neighbor scaling is nearest neighbor scaling, regardless of what the source is.

Also, what about:

(2016-04-20 12:53)qp9013625 Wrote:  He also posted some more photographs showing some games, see:

https://forums.geforce.com/default/topic...7/#4632537

didn't you understand?

Just look at the other images like the ones from FTL or Metal Gear Solid V: Ground Zeroes for example if you don't like the one from the KORG MS-20 software.
(This post was last modified: 2016-04-27 16:40 by qp9013625.)
find quote
Post Reply