Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 17th February 2022, 12:30   #241  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,914
Quote:
Originally Posted by joearmstrong View Post
If I understand meAlg settings correctly, then hexagonal search is used by default. Using meAlg=7 should select umh (Uneven Multi Hexagonal search) and give a little quality boost. In my tests it was just a bit slower than the default meAlg=4.

1- Exhaustive search
2- Diamond search
3- Square search
4- Hexagonal search
5- Star-shaped search
6- Successive Elimination Algorithm (SEA)
7- Uneven Multi Hexagonal search (UMH)

Is this correct? I read that from https://forum.doom9.org/showthread.php?p=693742
Don't mistake meAlg with me x264 parameter showed in the post https://forum.doom9.org/showthread.php?p=693742

meAlg in TemporalDegrain-v2.3.4 is used like:

Quote:
...
Search = meAlg
...
MAnalyse( isb=true, multi=true, delta=maxTR, blksize=BlockSize, overlap=Overlap, search=Search, ...
And search in MAnalyse is not exactly like me parameter:
Quote:
search = 0 : 'OneTimeSearch'. searchparam is the step between each vectors tried ( if searchparam is superior to 1, step will be progressively refined ).
search = 1 : 'NStepSearch'. N is set by searchparam. It's the most well known of the MV search algorithm.
search = 2 : Logarithmic search, also named Diamond Search. searchparam is the initial step search, there again, it is refined progressively.
search = 3 : Exhaustive search, searchparam is the radius (square side is 2*radius+1). It is slow, but it gives the best results, SAD-wise.
search = 4 : Hexagon search, searchparam is the range. (similar to x264).
search = 5 : Uneven Multi Hexagon (UMH) search, searchparam is the range. (similar to x264).
search = 6 : pure Horizontal exhaustive search, searchparam is the radius (width is 2*radius+1).
search = 7 : pure Vertical exhaustive search, searchparam is the radius (height is 2*radius+1).
Then UMH is obtained with meAlg = 5
__________________
BeHappy, AviSynth audio transcoder.

Last edited by tebasuna51; 17th February 2022 at 12:33.
tebasuna51 is offline   Reply With Quote
Old 17th February 2022, 13:56   #242  |  Link
joearmstrong
Registered User
 
Join Date: Jul 2013
Posts: 38
Thank you for your help, tebasuna51! TemporalDegrain2's avsi-file linked to that page at meAlg parameters - I misunderstood.

I also tested again the scene change issue with noisier frames - ErazorTT's tip (post 181) to use degrainTR=3 and postMix helped a lot. For me this solved the issue.

So, I finally found my perfect settings for better compressibility:
SetFilterMTMode("TemporalDegrain2", MT_MULTI_INSTANCE)
ConvertBits(16)
crop(...)
TemporalDegrain2 (degrainTR=3, meAlg=5, postmix=50)
ConvertBits(8, dither=0)
Prefetch()
joearmstrong is offline   Reply With Quote
Old 7th March 2022, 14:43   #243  |  Link
Sharc
Registered User
 
Join Date: May 2006
Posts: 3,997
interlaced filtering

TemporalDegrain2 throws an error when filtering interlaced footage like
Code:
separatefields()
e=selecteven().TemporalDegrain2()
o=selectodd().Temporaldegrain2()
interleave(e,o).weave()
The problem seems to be with multiple calls to QTGMC.

Any suggestion (other than deinterlacing)?
Sharc is offline   Reply With Quote
Old 7th March 2022, 15:02   #244  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,277
How can one call multiple TemporalDegrain2 instances in one script? (used in example to filter top and then bottom fields while not deinterlacing beforehand)
Since ReuseGlobals and ReplaceGlobals are statically set to false 'DT_SetUserGlobal' atm. TemporalDegrain2 crashes with:
Quote:
"Multiple calls to QTGMC, set PrevGlobals="Replace" or read documentation on 'Multiple QTGMC Calls'"
(side note: the error message should be adjusted to not refer to QTGMC)

Is there a way to clean a global variable in Avisynth?

Cu Selur
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 7th March 2022, 16:42   #245  |  Link
lollo2
Registered User
 
lollo2's Avatar
 
Join Date: Aug 2017
Location: Italy
Posts: 114
With AviSynth 2.60 and TD2 version 2.2.1 I did the following (second change seems appropriate):

Code:
# reference: http://forum.doom9.net/showthread.php?p=1890163#post1890163
#
# added IsAvisynthPlus = (FindStr(LCase(VersionString()), "avisynth+") > 0) || (FindStr(LCase(VersionString()), "avisynth neo") > 0)
# and changed
# from inHighBits = input.BitsPerComponent()>8
# to   inHighBits = IsAvisynthPlus && input.BitsPerComponent()>8
# to run with AviSynth 2.6 instead of AviSynth+ bypassing the "no function named 'BitsPerComponent" error
#
# changed
# from ReplaceGlobals = false
# to   ReplaceGlobals = true
# to solve QTGMC error "Multiple calls to QTGMC, set PrevGlobals="Replace" or read documentation on 'Multiple QTGMC Calls'"
__________________
A channel on S-VHS / VHS capture and AviSynth restoration https://www.youtube.com/channel/UCMs...h1MmNAs7I8nu4g
lollo2 is offline   Reply With Quote
Old 7th March 2022, 16:44   #246  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,277
Would be nice if the latest version would also be adjusted accordingly.
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 7th March 2022, 23:22   #247  |  Link
Sharc
Registered User
 
Join Date: May 2006
Posts: 3,997
Quote:
Originally Posted by lollo2 View Post
# change
# from ReplaceGlobals = false
# to ReplaceGlobals = true
# to solve QTGMC error "Multiple calls to QTGMC, set PrevGlobals="Replace" or read documentation on 'Multiple QTGMC Calls'"
Thanks! This did the trick.
Sharc is offline   Reply With Quote
Old 8th March 2022, 05:38   #248  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,277
Sure, but it would probably be better to make it configurable since Reuse might make sense too (when applying TemporalDegrain2 two times in a row,...)
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 30th April 2022, 16:35   #249  |  Link
ErazorTT
Registered User
 
Join Date: Mar 2003
Location: Germany
Posts: 215
v2.5.1

New update which lets process luma and chorma differently. I found this to be helpfull when the chroma planes are much noisier (or have a drifferent type of grain) than the luma plane. Here is such an example.

That is the original:


This is after adjusting the settings for a clean luma (grainLevel=2,degrainTR=2,postFFT=1,postSigma=2):

It is very clear how much chroma noise is left. And if you compare with the original, you see that the chroma noise is also of completly different nature, noise "blobs" are much bigger than on the luma plane.

After setting the new parameter divSADc=1 and adjusting the new parameter postSigmaC to 8 (grainLevel=2,degrainTR=2,postFFT=1,postSigma=2,divSADc=1,postSigmaC=8):

The parameter postSigmaC allows to set the strength of the fft post processing to a separate value for the chroma planes. This will however invoke two calls which will slow down the processing significantly.

A viable solution without the performance impact would be to only set divSADc=1, which will yield the following result (grainLevel=2,degrainTR=2,postFFT=1,postSigma=2,divSADc=1):

Last edited by ErazorTT; 1st May 2022 at 12:36.
ErazorTT is offline   Reply With Quote
Old 30th April 2022, 17:12   #250  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,361
I know those yellow stain artifacts, I used to clean them with NeatVideo before which worked very good, but I just ported CCD(), gave it a try and found it to perform very good.
Code:
src=last
CCD(30,HD=true)
CombinePlanes(src, last, src, planes="YUV")
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread
Dogway is offline   Reply With Quote
Old 30th April 2022, 19:57   #251  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,156
I seen different between 2.4.3 and 2.5.1 in list download about changelogs and DT_BM3D function
kedautinh12 is offline   Reply With Quote
Old 1st May 2022, 12:36   #252  |  Link
ErazorTT
Registered User
 
Join Date: Mar 2003
Location: Germany
Posts: 215
v2.6.0

I removed again the paramter divSADc to make things easier for the user. Improved cleanup of the chroma planes generally. No performance impact (<1% speed difference).
The right selection of grainLevel has now however somewhat gained in importance.

With the same parameters as in the second picture of my previous post this leads to the following result (grainLevel=2,degrainTR=2,postFFT=1,postSigma=2):

This result is right inbetween the last two pictures of my previous post!

Last edited by ErazorTT; 2nd May 2022 at 11:15.
ErazorTT is offline   Reply With Quote
Old 8th May 2022, 16:48   #253  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,156
After got latest ver i got errors when use with postFFT=4 i got what 'devID' means, with postFFT=5 i got what 'devID' means and what 'cuda' means
kedautinh12 is offline   Reply With Quote
Old 10th May 2022, 16:08   #254  |  Link
ErazorTT
Registered User
 
Join Date: Mar 2003
Location: Germany
Posts: 215
Yeah, right. I fixed it now in v2.6.2.
ErazorTT is offline   Reply With Quote
Old 4th June 2022, 05:44   #255  |  Link
StvG
Registered User
 
Join Date: Jul 2018
Posts: 450
v2.6.2 - line #483:
Code:
ch ? output.MatchClip(a) : output.mergechroma(a)
What is the filter MatchClip?
StvG is offline   Reply With Quote
Old 4th June 2022, 06:02   #256  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,156
Quote:
Originally Posted by StvG View Post
v2.6.2 - line #483:
Code:
ch ? output.MatchClip(a) : output.mergechroma(a)
What is the filter MatchClip?
It's is script from Dogway
https://github.com/Dogway/Avisynth-S...Main.avsi#L110

And other scripts from Dogway to work MatchClip functions

Last edited by kedautinh12; 4th June 2022 at 06:10.
kedautinh12 is offline   Reply With Quote
Old 4th June 2022, 06:07   #257  |  Link
StvG
Registered User
 
Join Date: Jul 2018
Posts: 450
Thanks. I did see the optional plugins.
StvG is offline   Reply With Quote
Old 9th June 2022, 11:45   #258  |  Link
ErazorTT
Registered User
 
Join Date: Mar 2003
Location: Germany
Posts: 215
new version 2.6.3

main change is that by default its now possible to use multiple instances. For example for using different settings on different parts of the clip. Depending on the settings, this will need a lot of memory!
ErazorTT is offline   Reply With Quote
Old 12th June 2022, 20:25   #259  |  Link
mastrboy
Registered User
 
Join Date: Sep 2008
Posts: 365
Is there a github or similar page for this? This forum is very slow at approving attachements: Attachments Pending Approval: File Type: zip TemporalDegrain-v2.6.3.zip
__________________
(i have a tendency to drunk post)
mastrboy is offline   Reply With Quote
Old 12th June 2022, 22:14   #260  |  Link
Zetti
Registered User
 
Join Date: Dec 2015
Posts: 308
You can grab it from his Google Drive in post 1
Zetti is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 16:36.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.