Selur's Little Message Board
FSRCNNX - Printable Version

+- Selur's Little Message Board (https://forum.selur.net)
+-- Forum: Talk, Talk, Talk (https://forum.selur.net/Forum-Talk-Talk-Talk)
+--- Forum: Small Talk (https://forum.selur.net/Forum-Small-Talk)
+--- Thread: FSRCNNX (/Thread-FSRCNNX)

Pages: 1 2


FSRCNNX - fltasin - 17.01.2021

Is it possible to Add FSRCNNX To Hybird in the Next Release?
I kind of like that FSRCNNX...
This thing https://github.com/igv/FSRCNN-TensorFlow/releases


It might be worth worth mentioning
https://artoriuz.github.io/blog/mpv_upscaling.html


RE: FSRCNNX - Selur - 17.01.2021

Got an example how to use this properly?

Atm. my best guess would be to use https://github.com/Lypheo/vs-placebo with:
clip = core.placebo.Shader(clip=clip, shader="PATH TO glsl Shader")
but I have no clue how the target resolution or similar would be set?
-> if you can provide my with information on how to use FSRCNNX with Vapoursynth I might be able to add it to Hybrid.

Okay, looking at the names I assumed 'FSRCNNX_x2_16-0-4-1.glsl' would automatically return a frame with width&height multiplied by two, but applying:
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/FFMS2/ffms2.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/libvs_placebo.dll")
# source: 'F:\TestClips&Co\files\test.avi'
# current color space: YUV420P8, bit depth: 8, resolution: 640x352, fps: 25, color matrix: 470bg, yuv luminance scale: limited, scanorder: progressive
# Loading source using FFMS2
clip = core.ffms2.Source(source="F:/TestClips&Co/files/test.avi",cachefile="E:/Temp/avi_078c37f69bb356e7b5fa040c71584c40_853323747.ffindex",format=vs.YUV420P8,alpha=False)
# making sure input color matrix is set as 470bg
clip = core.resize.Point(clip, matrix_in_s="470bg",range_s="limited")
# making sure frame rate is set to 25
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# set output frame rate to 25.000fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)

# convert to YUV444P16 for Shader
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16)  
# applying FSRCNNX_x2_16-0-4-1.glsl
clip = core.placebo.Shader(clip=clip, shader="I:/Hybrid/64bit/vsfilters/ResizeFilter/FSRCNNX/FSRCNNX_x2_16-0-4-1.glsl")

# Output
clip.set_output()
does not seem to do anything, so this is probably not how to apply that glsl properly.

Cu Selur


RE: FSRCNNX - fltasin - 17.01.2021

(17.01.2021, 13:08)Selur Wrote: Got an example how to use this properly?

Atm. my best guess would be to use https://github.com/Lypheo/vs-placebo with:
clip = core.placebo.Shader(clip=clip, shader="PATH TO glsl Shader")
but I have no clue how the target resolution or similar would be set?
-> if you can provide my with information on how to use FSRCNNX with Vapoursynth I might be able to add it to Hybrid.

Okay, looking at the names I assumed 'FSRCNNX_x2_16-0-4-1.glsl' would automatically return a frame with width&height multiplied by two, but applying:
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/FFMS2/ffms2.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/libvs_placebo.dll")
# source: 'F:\TestClips&Co\files\test.avi'
# current color space: YUV420P8, bit depth: 8, resolution: 640x352, fps: 25, color matrix: 470bg, yuv luminance scale: limited, scanorder: progressive
# Loading source using FFMS2
clip = core.ffms2.Source(source="F:/TestClips&Co/files/test.avi",cachefile="E:/Temp/avi_078c37f69bb356e7b5fa040c71584c40_853323747.ffindex",format=vs.YUV420P8,alpha=False)
# making sure input color matrix is set as 470bg
clip = core.resize.Point(clip, matrix_in_s="470bg",range_s="limited")
# making sure frame rate is set to 25
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# set output frame rate to 25.000fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)

# convert to YUV444P16 for Shader
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16) 
# applying FSRCNNX_x2_16-0-4-1.glsl
clip = core.placebo.Shader(clip=clip, shader="I:/Hybrid/64bit/vsfilters/ResizeFilter/FSRCNNX/FSRCNNX_x2_16-0-4-1.glsl")

# Output
clip.set_output()
does not seem to do anything, so this is probably not how to apply that glsl properly.

Cu Selur
I Don't Have A clue how to use this In vaporsynth..But In MPV player It works perfectly...So I thought That You might be able to know about this...It's similar to MADVR NGU..


RE: FSRCNNX - Selur - 17.01.2021

Using:
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16)
clip = core.placebo.Shader(clip=clip, shader="I:/Hybrid/64bit/vsfilters/ResizeFilter/FSRCNNX/FSRCNNX_x2_16-0-4-1.glsl", width=1280, height=704)
seems to work,...

Cu Selur


RE: FSRCNNX - fltasin - 17.01.2021

(17.01.2021, 13:27)Selur Wrote: Using:
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16)
clip = core.placebo.Shader(clip=clip, shader="I:/Hybrid/64bit/vsfilters/ResizeFilter/FSRCNNX/FSRCNNX_x2_16-0-4-1.glsl", width=1280, height=704)
seems to work,...

Cu Selur

So it is possible to Add in Hybrid?


RE: FSRCNNX - Selur - 17.01.2021

Yes, but question is: Is it worth it?
Looking at the output it doesn't really seem to do much,..

Cu Selur


RE: FSRCNNX - fltasin - 17.01.2021

It's Totally worth it since it's better than Nnedi3 resizer...
FSRCNNX is true to the Source..

Mainly I like MADvr NGU upscaling..
But I somehow have low end GPU...
So I have to upscale it first...
I was using NNEDI3 for a while..
but it's not really that much good...
So i tried waifu2x..
but it's so much time consuming...
since MADVR NGU is similar to Fsrcnnx I had to request to you to add this in hybrid!

(17.01.2021, 13:37)fltasin Wrote: It's Totally worth it since it's better than Nnedi3 resizer...
FSRCNNX is true to the Source..

Mainly I like MADvr NGU upscaling..
But I somehow have low end GPU...
So I have to upscale it first...
I was using NNEDI3 for a while..
but it's not really that much good...
So i tried waifu2x..
but it's so much time consuming...
since MADVR NGU is similar to Fsrcnnx I had to request to you to add this in hybrid!

If You Don't want to add this is Completely okay..
But If You Could Help me to use this FSRCNNX then It would be awesome!


RE: FSRCNNX - Selur - 17.01.2021

Added a basic GLSL Resizer support, which will allow to use any of the glsl-resizers that can be used in mpc-hc, to my current dev version.
(Will send you a link via pm once I made a fresh compile and uploaded it.)

Got a .glsl file for MADVR NGU ? (I thought it was closed source and a fixed part of the MADVR)

Cu Selur


RE: FSRCNNX - fltasin - 17.01.2021

(17.01.2021, 14:35)Selur Wrote: Added a basic GLSL Resizer support, which will allow to use any of the glsl-resizers that can be used in mpc-hc, to my current dev version.
(Will send you a link via pm once I made a fresh compile and uploaded it.)

Got a .glsl file for MADVR NGU ?  (I thought it was closed source and a fixed part of the MADVR)

Cu Selur

GLSL Is not a part of Madvr..
I have a question...
That is MPC-HC doesn't support GLSL (I think)
IT only Support HLSL..

(17.01.2021, 14:44)fltasin Wrote:
(17.01.2021, 14:35)Selur Wrote: Added a basic GLSL Resizer support, which will allow to use any of the glsl-resizers that can be used in mpc-hc, to my current dev version.
(Will send you a link via pm once I made a fresh compile and uploaded it.)

Got a .glsl file for MADVR NGU ?  (I thought it was closed source and a fixed part of the MADVR)

Cu Selur

GLSL Is not a part of Madvr..
I have a question...
That is MPC-HC doesn't support GLSL (I think)
IT only Support HLSL..
As I know Only MPV works With GLSL..



RE: FSRCNNX - Selur - 17.01.2021

Oh, okay.
Don't think there's support for HLSL in Vapoursynth.
So other glsl filters would work but not the hlsl filters.

Cu Selur

Ps.: it might be possible to convert .hlsl into .glsl, see: https://www.gamasutra.com/blogs/EgorYusov/20170717/301789/Stateoftheart_HLSL_to_GLSL_Converter.php