Artoriuz / ArtCNN

Super-Resolution Convolutional Neural Networks as GLSL shaders for mpv
MIT License
109 stars 2 forks source link

Using both ArtCNN_C4F32_Chroma and ArtCNN_C4F32_CMP #24

Closed crazysword1 closed 2 months ago

crazysword1 commented 2 months ago

I am currently using ArtCNN_C4F32_CMP and CFL. My goal is to get the best possible image regardless of how much GPU compute it uses.

I noticed that you recently updated your benchmark results and it shows that ArtCNN_C4F32_Chroma outperforms CFL.

I am planning to switch from CFL to C4F32_Chroma but on your GIT page it says "These are intended to be used on 4:2:0 content and will not work as intended in any other scenario (which means you can't use them after luma doublers)."

Since I am already using ArtCNN_C4F32_CMP, does it mean I can't use C4F32_Chroma? You mentioned that you won't bother wasting resource on this (on the benchmark commentary), so we can just skip the Chroma upscaler altogether?

Thank you

Artoriuz commented 2 months ago

The Chroma variant expects 4:2:0 which means Chroma needs to be at a 0.5x scaling factor. If you double Luma, Chroma will be at a 0.25x scaling factor which is why this doesn't work.

If you really want to use both of them, the best option would probably doing it in this order: 1) ArtCNN Chroma to double Chroma from 0.5x to 1x. 2) ArtCNN Luma to double Luma from 1x to 2x. 3) ArtCNN Chroma again to double Chroma from 1x to 2x.

This, however, is a bit awkward and definitely overkill. The real solution would be to simply use the old YCbCr variant (which obviously isn't as good since it's trying to solve a harder problem with the same number of weights).