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. |
|
|
#342 | Link |
|
Registered User
Join Date: May 2007
Posts: 220
|
Sounds like you need MVTools 2: http://avisynth.org.ru/mvtools/mvtools2.html
|
|
|
|
|
|
#343 | Link | |
|
Registered User
Join Date: Apr 2010
Posts: 3
|
Quote:
|
|
|
|
|
|
|
#345 | Link | |
|
Registered User
Join Date: Oct 2005
Location: Spain
Posts: 39
|
Quote:
I am testing gpu=true vs. gpu=false (fft3dgpu vs fft3dfilter). fft3 gpu is 7% faster. analyzing the final video, the compressibility is 5% better with fft3dfilter. it says that the default values for fft3d and fft3gpu are different? or fft3d is more efficient than fft3dgpu? |
|
|
|
|
|
|
#346 | Link | |
|
Useless idea generator
Join Date: Apr 2004
Location: Europe, Czech Republic, Brno
Posts: 332
|
Quote:
MC is said - seems obvious - to have gain from evaluation the whole picture.
__________________
Vista64 Premium SP2 / C2D E4700 2.6GHz/ 6GB RAM/ Intel GMA 3100 / DTV Leadtek DONGLE GOLD USB2 / focused to DVB-T MPEG2 PS capture -> ProjectX -> M2V/MP2 -> MeGUI/AVS -> MP4[AVC/AAC] |
|
|
|
|
|
|
#347 | Link |
|
Registered User
Join Date: May 2010
Location: Germany, Munich
Posts: 49
|
I want to use MCTemporalDenoise to denoise my timelapse footage, but it always give me an error:
Code:
There is no function named "Sangnom" The script is just: Code:
MCTemporalDenoise(settings="medium") Another question I have is: What settings would you recommend me to denoise 4k footage, based on the documentation I figured larger block sizes should do no harm at 4k: Code:
MCTemporalDenoise(settings="medium", protect=true, stabilize=true, enhance=true, bwbh=32, owoh=16, blksize=32, overlap=16) Best Regards David |
|
|
|
|
|
#348 | Link |
|
Software Developer
![]() Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,274
|
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ |
|
|
|
|
|
#349 | Link |
|
Registered User
Join Date: May 2010
Location: Germany, Munich
Posts: 49
|
Thanks, but I need a 64bit Sangnom (though I wonder why Sangnom is needed for the above script.
![]() From what I have read other people use MCTemporalDenoise with succes on with 64bit Avisynth. Best Regards David |
|
|
|
|
|
#350 | Link | |
|
Software Developer
![]() Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,274
|
Quote:
![]() However I don't know if a 64-Bit build of Sangnom exists...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 16th May 2010 at 23:55. |
|
|
|
|
|
|
#351 | Link |
|
Registered User
Join Date: May 2010
Location: Germany, Munich
Posts: 49
|
Other people in the thread dedicated to Avisynth 64bit seem to use it without problems (last posts that mentions it in the thread). Since I use no anime preset or the anti aliasing function of MCTemporalDenoise I do not understand why Sangnom is even called. That is why I am confused...
![]() Also I checked the 64bit builds of different filters by JoshyD and squid and have not found a 64bit version of Sangnom. Best Regards David Last edited by Joachim Buambeki; 17th May 2010 at 00:05. |
|
|
|
|
|
#352 | Link |
|
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,406
|
Try explictely setting MCTemporalDenoise(setings="medium",useEEDI2=true).
Some filtering with SangNom is initiated within the function, but not used later on. Even though SangNom is not actually used with the given call, the parser has the need to evaluate the SangNom() filter. Taken strictly, this is sign of unkosher scripting ... which, in same or similar style, I might have done "a thousand" times myself. ![]() Edit - Clarification by example: Assume this little quasi-script: Code:
do_filter = false use_filterX = false vid = something filter = use_filterX ? vid.filterX() \ : vid.filterY() out = do_filter ? filter : vid return( out ) However, by the time when the parser is parsing the "filter = ... ? .. : .." line, it needs to know "filterY", because it needs to fully evaluate the code line. The path given by "use_filterX=false" requires that the parser evaluates "filter = vid.filterY()". Albeit the action never is performed, it is still required that "filterY" is *known* at least.
__________________
- We´re at the beginning of the end of mankind´s childhood - My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!) Last edited by Didée; 17th May 2010 at 00:20. |
|
|
|
|
|
#353 | Link | |
|
Registered User
Join Date: May 2010
Location: Germany, Munich
Posts: 49
|
Quote:
But now I get the error: Code:
EEDI2: maxd must be < 30! Code:
MCTemporalDenoise(setings="low",useEEDI2=true) I will look deeper into it tomorrow. Regards David Last edited by Joachim Buambeki; 17th May 2010 at 06:40. |
|
|
|
|
|
|
#354 | Link |
|
Avisynth language lover
Join Date: Dec 2007
Location: Spain
Posts: 3,442
|
Quite so. As I'm sure you know, that sort of thing is best done inside a conditional expression, especially if it involves a less frequently-used external plugin whose use is optional, eg
s = (param == xxx) ? SangNom(...) : NOP() EDIT: Your clarification came after I posted this. Your example (as you know) would then be more cleanly written as filter = do_filter ? \ use_filterX ? vid.filterX() : vid.filterY() \ : NOP() (However if filterX and filterY were both built-in functions, I wouldn't bother doing this unless they were known to have a significant time or memory cost on instantiation.) Last edited by Gavino; 17th May 2010 at 00:40. |
|
|
|
|
|
#355 | Link | |
|
LaTo INV.
Join Date: Jun 2007
Location: France
Posts: 701
|
Quote:
|
|
|
|
|
|
|
#356 | Link | |
|
Avisynth language lover
Join Date: Dec 2007
Location: Spain
Posts: 3,442
|
Quote:
Of course, the root of the problem is the limitations of Avisynth's conditional syntax. What you really want to be able to write is something like: Code:
if (AA) {
caa = (useEDDI2 ? .... : ...SangNom(...) ...)
mA = ...
smA = ...
}
else {
...
smA = ...
}
]Incidentally, on the subject of code cleanup, is there a good reason for using code like Code:
Assert((radius>=1&&radius<=6) ? true : false, ...) Code:
Assert(radius>=1&&radius<=6, ...) |
|
|
|
|
|
|
#359 | Link | ||
|
LaTo INV.
Join Date: Jun 2007
Location: France
Posts: 701
|
Quote:
![]() Quote:
Sangnom AA is maxd in MCTD maxdiff is for another stuff |
||
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|