VideoHelp Forum
+ Reply to Thread
Results 1 to 7 of 7
Thread
  1. this is the best version i could find. radiohead's videos from "the bends" era tend to be the least good looking ones when it comes to video quality and this video is probably the worst looking one. is there a way to save any of it? Image
    [Attachment 68730 - Click to enlarge]
    Image Attached Files
    Quote Quote  
  2. Member DB83's Avatar
    Join Date
    Jul 2007
    Location
    United Kingdom
    Search Comp PM
    It may help if you were to indicate what you consider is 'wrong' with the sample.

    How does this compare to the version on YT ?


    I do note that the YT version is 25 fps whereas you appear to have a NTSC dvd source. However, the official dvd source, according to Amazon, is PAL.
    Quote Quote  
  3. This should help it some.

    Code:
    source = last
    dehalo_alpha(rx=1.1, ry=1.1, darkstr=0, lowsens=0, highsens=100, ss=1.0)
    hqdering(smoother=deen("c3d",1,3,9,2))
    MergeChroma(last, source)
    source2 = last
    santiag(strv=0, nns=4, nsize=5)
    MergeChroma(last, source2)
    ChromaShiftSP(x=-1.00, y=0.00)
    mergechroma(awarpsharp2(depth=3, blur=1, type=1))
    LimitedSharpenFaster(ss_x=1.00, ss_y=1.00, strength=4, overshoot=0, undershoot=0, soft=0, edgemode=0)

    Before & After comparison (Use keyboard arrows or mouse clicks to swap images)
    https://slow.pics/c/DQsYSrkb
    https://slow.pics/c/SNCcWmua
    Last edited by killerteengohan; 18th Jan 2023 at 21:38.
    Quote Quote  
  4. It may help if you were to indicate what you consider is 'wrong' with the sample.
    blending (also present on youtube, not present on some other clips from the dvd), the sharpening(?) halos
    Quote Quote  
  5. Originally Posted by killerteengohan View Post
    This should help it some.

    Code:
    source = last
    dehalo_alpha(rx=1.1, ry=1.1, darkstr=0, lowsens=0, highsens=100, ss=1.0)
    hqdering(smoother=deen("c3d",1,3,9,2))
    MergeChroma(last, source)
    source2 = last
    santiag(strv=0, nns=4, nsize=5)
    MergeChroma(last, source2)
    ChromaShiftSP(x=-1.00, y=0.00)
    mergechroma(awarpsharp2(depth=3, blur=1, type=1))
    LimitedSharpenFaster(ss_x=1.00, ss_y=1.00, strength=4, overshoot=0, undershoot=0, soft=0, edgemode=0)

    Before & After comparison (Use keyboard arrows or mouse clicks to swap images)
    https://slow.pics/c/DQsYSrkb
    https://slow.pics/c/SNCcWmua
    never noticed the off looking chroma. really does look better, thanks
    Last edited by rrats; 20th Jan 2023 at 04:07.
    Quote Quote  
  6. If scene by scene filtering is an option using Vapoursynth and BasicVSR++ might be an option for some scenes:
    https://imgsli.com/MTQ4NDU4
    https://imgsli.com/MTQ4NDU5
    but the same settings will cause havok on others:
    https://imgsli.com/MTQ4NDYw
    DPIR (deblock) works better on some:
    https://imgsli.com/MTQ4NDYy
    so using ai based filters might be worth a try. I agree that some additional dehalo and chroma handling and some masking to lessen the effects of ai filters might be a good idea.
    Attached for the fun of it a clip filtered by:
    Code:
    # Imports
    import vapoursynth as vs
    import os
    import ctypes
    # Loading Support Files
    Dllref = ctypes.windll.LoadLibrary("i:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
    import sys
    # getting Vapoursynth core
    core = vs.core
    # Import scripts folder
    scriptPath = 'i:/Hybrid/64bit/vsscripts'
    sys.path.insert(0, os.path.abspath(scriptPath))
    import site
    # Adding torch dependencies to PATH
    path = site.getsitepackages()[0]+'/torch_dependencies/'
    ctypes.windll.kernel32.SetDllDirectoryW(path)
    path = path.replace('\\', '/')
    os.environ["PATH"] = path + os.pathsep + os.environ["PATH"]
    # Loading Plugins
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/SharpenFilter/AWarpSharp2/libawarpsharp2.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/DenoiseFilter/CTMF/CTMF.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/libvs_placebo.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/GrainFilter/RemoveGrain/RemoveGrainVS.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/DenoiseFilter/FFT3DFilter/fft3dfilter.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/EEDI3m_opencl.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/NNEDI3CL.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/libmvtools.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/scenechange.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/fmtconv.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/MiscFilter/MiscFilters/MiscFilters.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/DeinterlaceFilter/Bwdif/Bwdif.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/SourceFilter/DGDecNV/DGDecodeNV.dll")
    # Import scripts
    import chromashift
    import havsfunc
    # source: 'G:\clips\lots\VTS_01_1.MPG'
    # current color space: YUV420P8, bit depth: 8, resolution: 720x480, fps: 29.97, color matrix: 470bg, yuv luminance scale: limited, scanorder: top field first
    # Loading G:\clips\lots\VTS_01_1.MPG using DGSource
    clip = core.dgdecodenv.DGSource("J:/tmp/mpg_96a118c7745038fb0fc9653601b1fb84_853323747.dgi",fieldop=0)# 29.97 fps, scanorder: top field first
    # Setting detected color matrix (470bg).
    clip = core.std.SetFrameProps(clip, _Matrix=5)
    # Setting color transfer info, when it is not set
    clip = clip if not core.text.FrameProps(clip,'_Transfer') else core.std.SetFrameProps(clip, _Transfer=5)
    # Setting color primaries info, when it is not set
    clip = clip if not core.text.FrameProps(clip,'_Primaries') else core.std.SetFrameProps(clip, _Primaries=5)
    # Setting color range to TV (limited) range.
    clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
    # making sure frame rate is set to 29.97
    clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
    clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
    # setting field order to what QTGMC should assume (top field first)
    clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
    # Deinterlacing using QTGMC
    clip = havsfunc.QTGMC(Input=clip, Preset="Fast", TFF=True, opencl=True) # new fps: 29.97
    # make sure content is preceived as frame based
    clip = core.std.SetFieldBased(clip, 0)
    clip = clip[::2]
    # Chroma adjustment using ChromaShiftSP
    clip = chromashift.ChromaShiftSP(clip=clip, X=-1.00)
    from vsdpir import DPIR
    # adjusting color space from YUV420P8 to RGBS for vsDPIRDeblock
    clip = core.resize.Bicubic(clip=clip, format=vs.RGBS, matrix_in_s="470bg", range_s="limited")
    # deblocking using DPIRDeblock
    clip = DPIR(clip=clip, strength=50.000, task="deblock", provider=1, device_id=0, dual=True)
    # cropping the video to 708x358
    clip = core.std.CropRel(clip=clip, left=6, right=6, top=58, bottom=64)
    # denoising using DPIRDenoise
    clip = DPIR(clip=clip, strength=2.000, task="denoise", provider=1, device_id=0, dual=True)
    # adjusting color space from RGBS to YUV444P16 for vsGLSLCAS
    clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, matrix_s="470bg", range_s="limited", dither_type="error_diffusion")
    with open("i:/Hybrid/64bit/vsfilters/GLSL/parameterized/CAS.glsl") as glslf:
      glsl = glslf.read()
    glsl = glsl.replace('#define SHARPENING 0.0', '#define SHARPENING 0.5')
    glsl = glsl.replace('#define CAS_BETTER_DIAGONALS 1', '#define CAS_BETTER_DIAGONALS 1')
    glsl = glsl.replace('#define CAS_GO_SLOWER 0', '#define CAS_GO_SLOWER 1')
    glsl = glsl.replace('#define SOURCE_TRC 0', '#define SOURCE_TRC 0')
    glsl = glsl.replace('#define TARGET_TRC 0', '#define TARGET_TRC 0')
    clip = core.placebo.Shader(clip=clip, shader_s=glsl, width=clip.width, height=clip.height)
    # applying dehalo using YAHR
    clip = havsfunc.YAHR(clip)
    with open("i:/Hybrid/64bit/vsfilters/GLSL/parameterized/Anime4K_Darken_HQ.glsl") as glslf:
      glsl = glslf.read()
    glsl = glsl.replace('#define STRENGTH 1.5', '#define STRENGTH 1.5')
    clip = core.placebo.Shader(clip=clip, shader_s=glsl, width=clip.width, height=clip.height)
    # Resizing using 10 - bicubic spline
    clip = core.fmtc.resample(clip=clip, kernel="spline16", w=1024, h=584, interlaced=False, interlacedd=False) # resolution 1024x584
    # adjusting output color from: YUV444P16 to YUV420P10 for x265Model
    clip = core.resize.Bicubic(clip=clip, dither_type="error_diffusion", format=vs.YUV420P10, range_s="limited")
    # set output frame rate to 29.97fps
    clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
    # Output
    clip.set_output()
    just to give a moving impression of what dpir would do.

    Cu
    Selur
    Image Attached Files
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  7. very interesting
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!