View Full Version : HQMC - attemped denoising filter
anton_foy
11th September 2021, 18:17
HQMC.avsi:
# HQMC ver 0.12 (19/09/2021) based on althor1138's FFTMC script and modded by anton_foy plus added extra functions.
#
# A simple motion compensated temporal-spatial denoiser based on HQDN3D with additional;
# "HQMC_ORISHARP" (keeping details as much as possible from the original clip while denoising remaining areas)
# "TOPSHARP" (to add subtle sharpness back to detailed areas)
# "HQMC_EX" (an extended version with fft3dgpu added with the intention to "polish" none detailed areas further
# while retaining detail from the original clip)
#
#
# Requirements:
# Avisynth+ 3.7.1+, HQDN3D, Mvtools, Masktools2, Fft3dgpu, Extools, GradePack(Dogway),
# SharpenPack(Dogway), neo_f3kdb, CAS (Contrast Adaptive Sharpening), RGtools
#
#
# Parameters:
# LT (float) - Temporal denoising strength for luma (9.0)
# CT (float) - Temporal denoising strength for chroma (9.0)
# LS (float) - Spatial denoising strength for luma (1.4, 0.0 for HQMC_EX)
# CS (float) - Spatial denoising strength for chroma (0.0)
# THSAD (int) - The threshold that is compared to the SAD value (240)
# RESTART (int) - Should be LT+1 (10)
# BLOCKSIZE (int) - Block size (32)
# AUXCLIP (clip) - Auxiliary clip ()
#
# HQMC_EX-only:
# SIGMA (float) - Given noise value for all (or highest) frequencies (1.7)
# BT (int) - Block temporal size, number of frames (3)
#
# TOPSHARP-only:
# SHARPEN (float) - Sharpness for TOPSHARP (0.9)
#
###################################################################################################################
## HQMC ##
function HQMC(clip Input, int "thsad", float "lt", float "ct", float "ls", float "cs", int "restart",
\ int "blocksize", clip "auxclip")
{
lt = Default(lt,9.0)
thsad = Default(thsad,240)
blocksize = Default(blocksize,32)
ct = Default(ct,9.0)
cs = Default(cs,0.0)
ls = Default(ls,1.4)
restart = Default(restart,10)
aux=Defined(auxclip)
auxclip=aux ? auxclip : input
prefilt=auxclip
super = MSuper(input,pel=1)
superfilt=MSuper(prefilt,pel=1)
backward_vectors = MAnalyse(superfilt, isb = true,blksize=blocksize,truemotion=false)
forward_vectors = MAnalyse(superfilt, isb = false,blksize=blocksize,truemotion=false)
forward_compensation = Mcompensate(input,super, forward_vectors, thsad=thsad)
backward_compensation = Mcompensate(input,super, backward_vectors, thsad=thsad)
interleave(forward_compensation, input, backward_compensation)
hqdn3d(lt=lt,ls=ls,cs=cs,ct=ct,restart=restart,y=3,u=3,v=3)
selectevery(3,1)
}
## HQMC_ORISHARP ##
function HQMC_ORISHARP(clip Input, int "thsad", float "lt", float "ct", float "ls", float "cs",
\ int "restart", int "blocksize", clip "auxclip")
{
lt = Default(lt,9.0)
thsad = Default(thsad,240)
blocksize = Default(blocksize,32)
ct = Default(ct,9.0)
cs = Default(cs,0.0)
ls = Default(ls,1.4)
restart = Default(restart,10)
aux=Defined(auxclip)
auxclip=aux ? auxclip : input
den = Input.hqmc(lt=lt,ct=ct,ls=ls,cs=cs,restart=restart,thsad=thsad)
clip = Input
dmask = den.coloryuv(autogain=true).removegrain(20,-1).ex_edge(mode="dob").mt_deflate(paramscale="i16")
\ .mt_expand(paramscale="i16").mt_expand(paramscale="i16").mt_expand(paramscale="i16").removegrain(20,-1)
mer = mt_merge(den,clip,dmask, Y=3,U=2,V=2, paramscale="i16").neo_f3kdb()
return(mer)
}
## HQMC_EX ##
function HQMC_EX(clip Input, int "thsad", float "lt", float "ct", float "ls", float "cs",
\ int "restart", float "sigma", int "bt", int "blocksize", clip "auxclip")
{
lt = Default(lt,9.0)
thsad = Default(thsad,240)
blocksize = Default(blocksize,32)
ct = Default(ct,9.0)
cs = Default(cs,0.0)
ls = Default(ls,0.0)
restart = Default(restart,10)
sigma = Default(sigma,1.7)
bt = Default(bt,3)
aux=Defined(auxclip)
auxclip=aux ? auxclip : input
clip = Input.hqmc(lt=lt,ct=ct,ls=ls,cs=cs,restart=restart,thsad=thsad)
den = Input.fft3dgpu(sigma=sigma, bt=bt, plane=0)
dmask = clip.coloryuv(autogain=true).ex_edge(mode="dob").mt_deflate(paramscale="i16")
\ .mt_expand(paramscale="i16").mt_expand(paramscale="i16").mt_expand(paramscale="i16").removegrain(20,-1)
mer = mt_merge(den,clip,dmask, Y=3,U=2,V=2, paramscale="i16")
mergeluma(clip, mer).neo_f3kdb()
return last
}
## TOPSHARP ##
function TOPSHARP(clip Input, float "sharpen")
{
sharpen = Default(sharpen,0.9)
clip = Input
shrp = CAS(Input, sharpen)
smask = clip.coloryuv(autogain=true).removegrain(20,-1).sharpen(1.0).ex_edge(mode="dob").mt_inflate(paramscale="i16")
\ .mt_inpand(paramscale="i16").mt_expand(paramscale="i16").mt_expand(paramscale="i16").removegrain(20,-1)
mt_merge(clip,shrp,smask, Y=3,U=2,V=2, paramscale="i16")
return last
}
I want to add an experimental version of HQMC_EX (now HQMC_EXL).
HQMC_EXL.avsi:
## HQMC ##
function HQMC(clip Input, int "thsad", float "lt", float "ct", float "ls", float "cs", int "restart",
\ int "blocksize", clip "auxclip")
{
lt = Default(lt,9.0)
thsad = Default(thsad,240)
blocksize = Default(blocksize,32)
ct = Default(ct,9.0)
cs = Default(cs,0.0)
ls = Default(ls,1.4)
restart = Default(restart,10)
aux=Defined(auxclip)
auxclip=aux ? auxclip : input
prefilt=auxclip
super = MSuper(input,pel=1)
superfilt=MSuper(prefilt,pel=1)
backward_vectors = MAnalyse(superfilt, isb = true,blksize=blocksize,truemotion=false)
forward_vectors = MAnalyse(superfilt, isb = false,blksize=blocksize,truemotion=false)
forward_compensation = Mcompensate(input,super, forward_vectors, thsad=thsad)
backward_compensation = Mcompensate(input,super, backward_vectors, thsad=thsad)
interleave(forward_compensation, input, backward_compensation)
hqdn3d(lt=lt,ls=ls,cs=cs,ct=ct,restart=restart,y=3,u=3,v=3)
selectevery(3,1)
}
## HQMC_EXL ##
function HQMC_EXL(clip Input, int "thsad", float "lt", float "ct", float "ls", float "cs",
\ int "restart", float "sigma", float "sigma3", int "bt", int "blocksize", clip "auxclip")
{
lt = Default(lt,4.0)
thsad = Default(thsad,240)
blocksize = Default(blocksize,32)
ct = Default(ct,12.0)
cs = Default(cs,2.0)
ls = Default(ls,3.7)
restart = Default(restart,5)
sigma = Default(sigma,1.7)
sigma3 = Default(sigma3,3.4)
bt = Default(bt,3)
aux=Defined(auxclip)
auxclip=aux ? auxclip : input
clip = Input.hqdn3d(lt=9,ct=12,ls=0.6,cs=0,restart=10)
den = Input.hqmc(lt=lt,ct=ct,ls=ls,cs=cs,restart=restart,thsad=thsad).
\ fft3dfilter(sigma=sigma, sigma3=sigma3, bt=bt, plane=4, ncpu=4)
bmask = Input.grayscale().coloryuv(autogain=true).fft3dfilter(sigma=14,sharpen=0,bt=1,plane=0,ncpu=4).
\ ex_edge(mode="DoB").tweak(cont=10.0).mt_binarize().fastgaussblur(40)
mt_merge(den,clip.DetailSharpen(),bmask,luma=true).neo_f3kdb()
return last
}
Before / After with HQMC_EXL():
ORIGINAL (https://ibb.co/nPf366S)
HQMC_EXL() (https://ibb.co/vPbw4sR)
StainlessS
11th September 2021, 19:07
Instead of
## HQMC ##
function HQMC(clip Input, int "thsad", float "lt", float "ct", float "ls", float "cs", int "restart",
\ int "blocksize", int "auxclip")
{
s=Defined(lt)
lt=s ? lt : 9.0
Use
## HQMC ##
function HQMC(clip Input, int "thsad", float "lt", float "ct", float "ls", float "cs", int "restart",
\ int "blocksize", int "auxclip")
{
lt = Default(lt,9.0)
Same for other optionals.
EDIT: Nothing wrong with your way, just a little more concise [pretty much exactly the same].
anton_foy
11th September 2021, 19:20
Instead of
## HQMC ##
function HQMC(clip Input, int "thsad", float "lt", float "ct", float "ls", float "cs", int "restart",
\ int "blocksize", int "auxclip")
{
s=Defined(lt)
lt=s ? lt : 9.0
Use
## HQMC ##
function HQMC(clip Input, int "thsad", float "lt", float "ct", float "ls", float "cs", int "restart",
\ int "blocksize", int "auxclip")
{
lt = Default(lt,9.0)
Same for other optionals.
EDIT: Nothing wrong with your way, just a little more concise [pretty much exactly the same].
Thank you StainlessS! Alot better! I will update in a moment and I also noticed I forgot some more requirements to add.
anton_foy
12th September 2021, 10:39
Updated the script thanks to StainlessS input. I would like to replace sharpen() as sharpener for TOPSHARP, so if someone has any suggestions please post them. Rather a not too slow sharpener though.
Boulder
12th September 2021, 11:14
Updated the script thanks to StainlessS input. I would like to replace sharpen() as sharpener for TOPSHARP, so if someone has any suggestions please post them. Rather a not too slow sharpener though.
You might want to try CAS, it can produce nice results if you don't go overboard.
kedautinh12
12th September 2021, 11:31
I think adaptive_sharpen produce nice results too
https://github.com/Dogway/Avisynth-Scripts/blob/68565736b9b66f314c86d7466c89bbdd34c1f475/SharpenersPack.avsi#L70
anton_foy
12th September 2021, 11:35
Thanks Boulder and kedautinh12! I will try them out.
anton_foy
12th September 2021, 20:02
Update:
Changed TOPSHARP's sharpener to CAS (although a hard choice between Adaptive_sharpen and CAS but CAS made a little more pleasant sharpening IMO). Changed the masking to avoid large edges to instead sharpen "detail" more.
Updated requirements.
EDIT:
Updated masking for HQMC_ORISHARP and HQMC_EX.
anton_foy
13th September 2021, 22:02
I noticed that changing the thsad value is not doing anything. Does anyone know why? Thanks.
StainlessS
14th September 2021, 14:37
Well for HQMC_ORISHARP() and HQMC_EX(), you dont use it at all after assigning Default().
anton_foy
14th September 2021, 21:49
Well for HQMC_ORISHARP() and HQMC_EX(), you dont use it at all after assigning Default().
:stupid: thanks StainlessS, although even after this correction I see little or no difference between thsad=400 and thsad=160.
anton_foy
15th September 2021, 07:51
Updated hqmc_orisharp (cleaner sharp areas) and hqmc_ex (less banding on higher sigma). I think to change the default values since they may be too high, need more testing.
kedautinh12
15th September 2021, 10:20
Updated hqmc_orisharp (cleaner sharp areas) and hqmc_ex (less banding on higher sigma). I think to change the default values since they may be too high, need more testing.
And where your updated??? I seen #1 post still edited in 4:05 AM???
Edit: can you update to github for easy monitor changes??
anton_foy
15th September 2021, 10:39
And where your updated??? I seen #1 post still edited in 4:05 AM???
Edit: can you update to github for easy monitor changes??
Yes I edited the .avsi in #1 post. I can get a github account and put it there awell soon.
guest
16th September 2021, 06:48
Yes I edited the .avsi in #1 post. I can get a github account and put it there awell soon.
Hi, I am trying to test this new filter, BUT I need this :-
Requirements:
# Avisynth+ 3.7.1+, HQDN3D, Mvtools, Masktools2, Fft3dgpu, Extools, GradePack(Dogway),
# Fastgaussblur, SharpenPack(Dogway), neo_f3kdb, CAS (Contrast Adaptive Sharpening), RGtools
I have looked everywhere, and cannot find it, can you please help ??
Thanks
kedautinh12
16th September 2021, 06:53
Hi, I am trying to test this new filter, BUT I need this :-
I have looked everywhere, and cannot find it, can you please help ??
Thanks
In that script don't have command fastgaussblur() or any command relate gauss or fastblur. I think your error from fft3dgpu.dll
kedautinh12
16th September 2021, 07:04
Maybe you lack June 2010 DirectX SDK
https://github.com/pinterf/FFT3dGPU#resolution
kedautinh12
16th September 2021, 07:22
Maybe he use removegrain(20,-1) replaced fastgaussblur
anton_foy
16th September 2021, 07:37
Sorry, yes I replaced fastgaussblur with removegrain. I forgot to remove it from requirements, done now.
@Pauly Dunne can you try to run it and see if you get an error?
guest
16th September 2021, 09:01
Sorry, yes I replaced fastgaussblur with removegrain. I forgot to remove it from requirements, done now.
@Pauly Dunne can you try to run it and see if you get an error?
Ok, I will test this tomorrow, and report back.
Removegrain is part of RGTools, isn't it....
Cheers
anton_foy
16th September 2021, 10:07
Ok, I will test this tomorrow, and report back.
Removegrain is part of RGTools, isn't it....
Cheers
Great thanks! Yes removegrain is part of rgTools.
EDIT: BTW. you might need to adjust the settings since I think the default values (especially LT, LS, CS and CT) are too high for low/mid noisyness.
guest
17th September 2021, 04:27
Great thanks! Yes removegrain is part of rgTools.
EDIT: BTW. you might need to adjust the settings since I think the default values (especially LT, LS, CS and CT) are too high for low/mid noisyness.
Hello,
OK, back to it...
This is my current script :- doesn't even start in AVSMeter
#Custom
LoadPlugin("%AVISYNTHPLUGINS%\mvtools\mvtools2.dll")
LoadPlugin("%AVISYNTHPLUGINS%\masktools\masktools2.dll")
LoadPlugin("%AVISYNTHPLUGINS%\RgTools\RgTools.dll")
LoadPlugin("%AVISYNTHPLUGINS%\hqdn3d\x64\Release\hqdn3d.dll")
LoadPlugin("%AVISYNTHPLUGINS%\FFT3dGPU\FFT3dGPU.dll")
LoadPlugin("%AVISYNTHPLUGINS%\neo-f3kdb\neo-f3kdb.dll")
LoadPlugin("%AVISYNTHPLUGINS%\CAS\CAS.dll")
Import("%AVISYNTHPLUGINS%\scripts\extras\ExTools56c.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Grade Pack28.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Sharpeners Pack v1.2.avs")
video=HQMC(video,lt=9.0, thsad=240, blocksize=32, ct=12.0, cs=6.0, ls=1.4)
Boulder
17th September 2021, 05:22
You are not returning any video clip with that script. video=HQMC(video,lt=9.0, thsad=240, blocksize=32, ct=12.0, cs=6.0, ls=1.4) should be HQMC(lt=9.0, thsad=240, blocksize=32, ct=12.0, cs=6.0, ls=1.4).
kedautinh12
17th September 2021, 05:35
You are not returning any video clip with that script. video=HQMC(video,lt=9.0, thsad=240, blocksize=32, ct=12.0, cs=6.0, ls=1.4) should be HQMC(lt=9.0, thsad=240, blocksize=32, ct=12.0, cs=6.0, ls=1.4).
I shared his that script but don't work in his ripbot
guest
17th September 2021, 05:54
You are not returning any video clip with that script. video=HQMC(video,lt=9.0, thsad=240, blocksize=32, ct=12.0, cs=6.0, ls=1.4) should be HQMC(lt=9.0, thsad=240, blocksize=32, ct=12.0, cs=6.0, ls=1.4).
Hey Boulder,
Thanks for joining in, but that IS the way that scripts are written in RipBot.....
Have you had any experience with RipBot ??
But I did try your suggestion, and same result.
Boulder
17th September 2021, 06:07
No, but if you try running that script in AVSMeter, it won't work ;) What is the complete script? There's no line for importing any source.
guest
17th September 2021, 07:52
No, but if you try running that script in AVSMeter, it won't work ;) What is the complete script? There's no line for importing any source.
Alrighty, then, well the way Atak has built RipBot, the other required info is "scattered" around...
This script works a treat:-
#Custom
LoadPlugin("%AVISYNTHPLUGINS%\mvtools\mvtools2.dll")
LoadPlugin("%AVISYNTHPLUGINS%\BM3DCPU\BM3DCPU_AVS.dll")
LoadPlugin("%AVISYNTHPLUGINS%\BM3DCPU\BM3D_VAggregate_AVS.dll")
LoadPlugin("%AVISYNTHPLUGINS%\dfttest\dfttest.dll")
LoadPlugin("%AVISYNTHPLUGINS%\RgTools\RgTools.dll")
Import("%AVISYNTHPLUGINS%\scripts\extras\LSFmod32ex.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\ExTools56c.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Sharpeners Pack v1.2.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\SMDegrain330d cpu.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Utils-r41.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Zs_RF_Shared.avs")
video=SMDegrain(video,tr=6,thSAD=600,contrasharp=30,str=1.2,refinemotion=true,prefilter=5)
This is a typical RipBot script :-
#MT
#PREFETCH_LIMIT=32
#VideoSource
LoadPlugin("C:\RipBot264v1.26.1\Tools\AviSynth plugins\lsmash\LSMASHSource.dll")
video=LWLibavVideoSource("H:\Married... with Children (1987) Season 1-11\Season 7\edits\Married... With Children (1987) - S07e15 - Heels On Wheels.mkv",cachefile="F:\Temp\RipBot264temp\job26\Married... With Children (1987) - S07e15 - Heels On Wheels.mkv.lwi")
#Deinterlace
#Decimate
#Crop
video=Crop(video,0,0,-0,-0)
#Downscale
#Tonemap
#Levels
#Colours
#Denoise
#Custom
LoadPlugin("C:\RipBot264v1.26.1\Tools\AviSynth plugins\mvtools\mvtools2.dll")
LoadPlugin("C:\RipBot264v1.26.1\Tools\AviSynth plugins\BM3DCPU\BM3DCPU_AVS.dll")
LoadPlugin("C:\RipBot264v1.26.1\Tools\AviSynth plugins\BM3DCPU\BM3D_VAggregate_AVS.dll")
LoadPlugin("C:\RipBot264v1.26.1\Tools\AviSynth plugins\dfttest\dfttest.dll")
LoadPlugin("C:\RipBot264v1.26.1\Tools\AviSynth plugins\RgTools\RgTools.dll")
Import("C:\RipBot264v1.26.1\Tools\AviSynth plugins\scripts\extras\ExTools56c.avs")
Import("C:\RipBot264v1.26.1\Tools\AviSynth plugins\scripts\extras\Sharpeners Pack v1.2.avs")
Import("C:\RipBot264v1.26.1\Tools\AviSynth plugins\scripts\extras\SMDegrain330d cpu.avs")
Import("C:\RipBot264v1.26.1\Tools\AviSynth plugins\scripts\extras\Utils-r41.avs")
Import("C:\RipBot264v1.26.1\Tools\AviSynth plugins\scripts\extras\Zs_RF_Shared.avs")
video=SMDegrain(video,tr=6,thSAD=600,contrasharp=true,refinemotion=true,prefilter=5)
#Prefetch
video=Prefetch(video,16)
#After_Prefetch_Denoise
#After_Prefetch_Custom
#Sharpen
#Upscale
LoadPlugin("C:\RipBot264v1.26.1\Tools\AviSynth plugins\Plugins_JPSDR\Plugins_JPSDR.dll")
video=Spline36ResizeMT(video,960,720)
#Borders
Import("C:\RipBot264v1.26.1\Tools\AviSynth plugins\Scripts\AutoBorders.avs")
video=AutoBorders(video,16.0/9.0)
#Subtitles
#AudioSource
Import("F:\Temp\RipBot264temp\job26\job26_a1.avs")
#Triming
#AVSameLength
#ColorSpace
#Return
anton_foy
18th September 2021, 16:33
Alrighty, then, well the way Atak has built RipBot, the other required info is "scattered" around...
This script works a treat:-
This is a typical RipBot script :-
Okay I never used RipBot but what if you just use:
video=HQMC(lt=9.0, thsad=240, blocksize=32, ct=12.0, cs=6.0, ls=1.4)?
guest
19th September 2021, 05:45
Okay I never used RipBot but what if you just use:
video=HQMC(lt=9.0, thsad=240, blocksize=32, ct=12.0, cs=6.0, ls=1.4)?
Sorry, still doesn't even want to try and start !!!
What do you use to test your scripts ??
Boulder
19th September 2021, 08:25
anton_foy's suggestion won't work because there is no "last" for HQMC to use. RipBot seems to store the clip in the "video" so it must be included.
Open the script in VirtualDub2 and you'll what the error message is (though I would have expected AVSMeter to return it as well).
gispos
19th September 2021, 10:17
This is a typical RipBot script :-
or This is my current script :- doesn't even start in AVSMeter
But it's not a typical Avisynth script.
You have over 500 posts here ... :rolleyes:
Where is the clip located ?:
Answer: in the variable 'video'
How can avisynth access it?
Answer: 'return video'
So at the end of the script write 'return video' without the quotation marks
anton_foy
19th September 2021, 20:54
Updated the script due to problems with auxclip and put new default values since the older values were set too high.
Try again and see if the error still remains Pauly Dunne.
guest
20th September 2021, 04:23
Updated the script due to problems with auxclip and put new default values since the older values were set too high.
Try again and see if the error still remains Pauly Dunne.
Hi anton,
I have a major apology to make here, there was a complete line missing from that script, and NOBODY picked up on it.
#Custom
LoadPlugin("%AVISYNTHPLUGINS%\mvtools\mvtools2.dll")
LoadPlugin("%AVISYNTHPLUGINS%\masktools\masktools2.dll")
LoadPlugin("%AVISYNTHPLUGINS%\RgTools\RgTools.dll")
LoadPlugin("%AVISYNTHPLUGINS%\hqdn3d\x64\Release\hqdn3d.dll")
LoadPlugin("%AVISYNTHPLUGINS%\FFT3dGPU\FFT3dGPU.dll")
LoadPlugin("%AVISYNTHPLUGINS%\neo-f3kdb\neo-f3kdb.dll")
LoadPlugin("%AVISYNTHPLUGINS%\CAS\CAS.dll")
Import("%AVISYNTHPLUGINS%\scripts\extras\ExTools58.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Grade Pack29.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Sharpeners Pack14c.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\HQMC012.avs")
video=HQMC(video,lt=9.0, thsad=240, blocksize=32, ct=12.0, cs=6.0, ls=1.4)
When I went to find my first script attempts, I couldn't find them, and that's when I realised something was very wrong :eek:
So, now it works, I just need to test it out...
Regards
kedautinh12
20th September 2021, 04:53
Lol, i don't take note about it
anton_foy
20th September 2021, 07:51
Hi anton,
I have a major apology to make here, there was a complete line missing from that script, and NOBODY picked up on it.
#Custom
LoadPlugin("%AVISYNTHPLUGINS%\mvtools\mvtools2.dll")
LoadPlugin("%AVISYNTHPLUGINS%\masktools\masktools2.dll")
LoadPlugin("%AVISYNTHPLUGINS%\RgTools\RgTools.dll")
LoadPlugin("%AVISYNTHPLUGINS%\hqdn3d\x64\Release\hqdn3d.dll")
LoadPlugin("%AVISYNTHPLUGINS%\FFT3dGPU\FFT3dGPU.dll")
LoadPlugin("%AVISYNTHPLUGINS%\neo-f3kdb\neo-f3kdb.dll")
LoadPlugin("%AVISYNTHPLUGINS%\CAS\CAS.dll")
Import("%AVISYNTHPLUGINS%\scripts\extras\ExTools58.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Grade Pack29.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Sharpeners Pack14c.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\HQMC012.avs")
video=HQMC(video,lt=9.0, thsad=240, blocksize=32, ct=12.0, cs=6.0, ls=1.4)
When I went to find my first script attempts, I couldn't find them, and that's when I realised something was very wrong :eek:
So, now it works, I just need to test it out...
Regards
Great! Well it was right in our faces. Hqmc_ex with the new defaults I think you should try also and compare to the hqmc line in your script. Hows the speed on your side, is the filter fast?
guest
20th September 2021, 09:35
Great! Well it was right in our faces. Hqmc_ex with the new defaults I think you should try also and compare to the hqmc line in your script. Hows the speed on your side, is the filter fast?
Yes, it certainly was...haven't tested anything yet.
So the new script would be :-
video=HQMC_EX(video, lt=9.0, thsad=240, blocksize=32, ct=9.0, cs=0.0, ls=0.0)
anton_foy
20th September 2021, 11:16
Yes, it certainly was...haven't tested anything yet.
So the new script would be :-
video=HQMC_EX(video, lt=9.0, thsad=240, blocksize=32, ct=9.0, cs=0.0, ls=0.0)
Yes or just:
video=HQMC_EX(video) I think.
guest
20th September 2021, 12:28
Yes or just:
video=HQMC_EX(video) I think.
I'll try a couple of scripts, and report back, when done.
Thanks ;)
anton_foy
20th September 2021, 22:11
New alternative experimental version HQMC_EXL, updated post #1.
Here is before/after comparison with default values (maybe too high still):
original (https://ibb.co/nPf366S)
HQMC_EXL (https://ibb.co/30ccSxV)
EDIT: it is not really the original, I actually added autolevels afterwards in photoshop on both images since they were so dark and washed out because of sLog2 and also the script contained more than just HQMC_EXL:
FFVideoSource("F:\...mp4")
Deblock_QED(quant1=26, aOff1=1, aOff2=1, bOff1=2, bOff2=2, uv=3)
convertbits(16)
Levels(0, 1, 65280, 0, 235*256, coring=false, dither=false)
hqmc_exl(lt=9,ct=12,cs=6,sigma=1.9)
neo_f3kdb(range=15, Y=45, Cb=30, Cr=30, grainY=0, grainC=0, sample_mode=2, blur_first=true, dynamic_grain=false, mt=true)
ConverttoYUV444()
ConvertBits(bits=10, dither=1)
guest
21st September 2021, 06:46
Hi anton,
So I have been just checking some of your scripts to see if they "pass" the AVSMeter test,
and most have :), until I tried HQMC_EXL..
This is my script :-
#Custom
LoadPlugin("%AVISYNTHPLUGINS%\mvtools\mvtools2.dll")
LoadPlugin("%AVISYNTHPLUGINS%\masktools\masktools2.dll")
LoadPlugin("%AVISYNTHPLUGINS%\RgTools\RgTools.dll")
LoadPlugin("%AVISYNTHPLUGINS%\hqdn3d\x64\Release\hqdn3d.dll")
LoadPlugin("%AVISYNTHPLUGINS%\FFT3dGPU\FFT3dGPU.dll")
LoadPlugin("%AVISYNTHPLUGINS%\neo-f3kdb\neo-f3kdb.dll")
LoadPlugin("%AVISYNTHPLUGINS%\CAS\CAS.dll")
Import("%AVISYNTHPLUGINS%\scripts\extras\ExTools58.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Grade Pack29.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Sharpeners Pack15.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\HQMC_EXL.avs")
video=HQMC_EXL(video)
I got this error :-
Line 66 :- [COLOR="Red"]den = Input.lremovedustC().fft3dfilter(sigma=sigma, sigma3=sigma3, bt=bt, plane=0, ncpu=4)[ /COLOR]
kedautinh12
21st September 2021, 07:04
Hi anton,
So I have been just checking some of your scripts to see if they "pass" the AVSMeter test,
and most have :), until I tried HQMC_EXL..
This is my script :-
I got this error :-
Line 66 :- den = Input.lremovedustC().fft3dfilter(sigma=sigma, sigma3=sigma3, bt=bt, plane=0, ncpu=4)
You forgot LoadPlugin fft3dfilter.dll and HQMC_EXL don't need fft3dgpu
guest
21st September 2021, 07:59
You forgot LoadPlugin fft3dfilter.dll and HQMC_EXL don't need fft3dgpu
Well, that brings up another error :-
This time it's Line 68
\ .ex_edge(mode="dob").mt_expand(paramscale="i16").mt_expand(paramscale="i16").mt_expand(paramscale="i16").removegrain(20,-1)
anton_foy
21st September 2021, 08:08
Sorry about that! I have now changed the HQMC_EXL to use fft3dgpu instead of fft3dfilter. This was because when testing the script my old computer does not like fft3dgpu too much.
Pauly Dunne what kind of error message do you get?
kedautinh12
21st September 2021, 08:14
Sorry about that! I have now changed the HQMC_EXL to use fft3dgpu instead of fft3dfilter. This was because when testing the script my old computer does not like fft3dgpu too much.
Pauly Dunne what kind of error message do you get?
I don't know why his ripbot don't announced exactly error
anton_foy
21st September 2021, 08:15
I don't know why his ripbot don't announced exactly error
Did you try the script and it is working for you?
kedautinh12
21st September 2021, 08:16
Sr, I don't use my laptop now
guest
21st September 2021, 09:17
Sorry about that! I have now changed the HQMC_EXL to use fft3dgpu instead of fft3dfilter. This was because when testing the script my old computer does not like fft3dgpu too much.
Pauly Dunne what kind of error message do you get?
Avsmeter displays limited info...those script lines I hi-lighted in red ARE the errors !!!
guest
21st September 2021, 09:20
Sr, I don't use my laptop now
What does this mean... what's the relevance ??
kedautinh12
21st September 2021, 10:39
What does this mean... what's the relevance ??
It's mean i'm busy with work now
guest
22nd September 2021, 02:02
Did you try the script and it is working for you?
Hi anton, just tried your ammended script, and there is still something wrong in line 66
den = Input.lremovedustC().fft3dgpu(sigma=sigma, sigma3=sigma3, bt=bt, plane=0, ncpu=4)
and this is my script :-
#Custom
LoadPlugin("%AVISYNTHPLUGINS%\mvtools\mvtools2.dll")
LoadPlugin("%AVISYNTHPLUGINS%\masktools\masktools2.dll")
LoadPlugin("%AVISYNTHPLUGINS%\RgTools\RgTools.dll")
LoadPlugin("%AVISYNTHPLUGINS%\hqdn3d\x64\Release\hqdn3d.dll")
LoadPlugin("%AVISYNTHPLUGINS%\FFT3dGPU\FFT3dGPU.dll")
LoadPlugin("%AVISYNTHPLUGINS%\neo-f3kdb\neo-f3kdb.dll")
LoadPlugin("%AVISYNTHPLUGINS%\CAS\CAS.dll")
Import("%AVISYNTHPLUGINS%\scripts\extras\ExTools58.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Grade Pack29.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\Sharpeners Pack15.avs")
Import("%AVISYNTHPLUGINS%\scripts\extras\HQMC_EXL.avs")
video=HQMC_EXL(video, lt=9.0, thsad=240, blocksize=32, ct=9.0, cs=0.0, ls=0.0)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.