• 1
  • 2
  • 3(current)
  • 4
  • 5
  • 8
Should I configure Kodi with 2160p (4K) or 1080p resolution (upscaling)?
#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
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#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

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

Image

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

Image

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.
Reply
#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.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#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.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#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).
Reply
#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.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#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.
Reply
#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: http://kodi.wiki/view/Video_playback#OSD_video_settings
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#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: http://kodi.wiki/view/Video_playback#OSD_video_settings

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
Reply
#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.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#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.
Reply
#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

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

Image

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

Image

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.
Reply
#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.
Reply
#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)
Reply
#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.
Reply
  • 1
  • 2
  • 3(current)
  • 4
  • 5
  • 8

Logout Mark Read Team Forum Stats Members Help
Should I configure Kodi with 2160p (4K) or 1080p resolution (upscaling)?0