VideoHelp Forum
+ Reply to Thread
Page 2 of 2
FirstFirst 1 2
Results 31 to 53 of 53
Thread
  1. Member
    Join Date
    Nov 2007
    Location
    I'm here
    Search PM
    I've never been able to run two different noise filters effectively, but I'll try anything. In what order do you run deen and QTGMC and do yo use the default deen settings?
    I do use sometimes even 3 different ones, but I think that's just my laziness to tweak them to do the same by combining 2 or sticking to one. I haven't really experienced in avisynth, just starting recently, so I don't have much to say in this regard. But I do have some really bad old material, so to remove as much noise as I like, I try different things. Actually I came to this thread with the desire to dwelve into the matter deeper and develop some skill, so at this point you can't take me too seriously. That said, I did some homework and checked out the samples in this thread. These are my conclusions:

    Just by looking at the samples with the default settings, I personally found that dfttest and TemporalDegrain are the best ones, although TemporalDegrain is a bit overkill with the default settings. So I took some settings down and used this script
    TemporalDegrain(SAD1=200, SAD2=150, sigma=8)
    and I really liked the results. Very nice shapening with enough details retained. BUT, it's a really slow filter. That's the price you have to pay. I personally always go for the quality and I'm not on a payrun or anything so I would just stick to it.

    At one stage I tried getting QTGMC to use dfttest for the denoising (it uses FFT3DFilter by default) but from memory it was a fair bit slower and for some reason I preferred the result with FFT3DFilter doing the denoising. I probably should revisit that at some stage.
    Yep, I agree, I also like FFT3DFilter more, some subtle difference is there.

    As far as combining Qtgmc and Deen, after doing all the tests today I think it's not worth it, at least in the case of your sample. TemporalDegrain beats it. In my case I used an old and really bad source, and had all the three (qtgmc, temporaldegrain and deen) put on it, and it came out pretty good. I'm sure if I would really know all the avisynth filters I would probably do it differently but the main thing is to get the results you are looking for so I guess it beats the sophistication. Just go for what is working.

    I must say that these are all pretty much speculative conclusions based on personal liking. But the real lessons I learned are as follows:

    Now I have an idea what can all those noise reduction filters do with the default settings and that's a good starting place to refine your filters in avisynth, whatever they may be. Download all of them and do the default testing. Then get the best of them and try tuning the best out of them. Also it's good to note down encoding speeds for all of them if speed is important for you.

    But the best approach for anything you don't know is to ask a master and this is one of the blessings of a forum. Get the best from the best and hardy you will make a mistake. They did all the research already for you and God thank them for this. I must say I would be nowhere if some very kind users on this forum would not be helping out with all my requests. But you have to be ready to do the homework also)).

    And I found the Scintilla Guide mentioned to be very infromative also (although geared on anime), especially in regards of shapening filters. Probably this should be the next thing to try out for ultimate results, combining good denoising and good sharpening. My experience in any field of activity is that you should use a specific tool for a specific need. They have been designed to do their thing and usually work better separately. Anyway, some thougths.
    Quote Quote  
  2. Originally Posted by Srivas View Post
    Actually I came to this thread with the desire to dwelve into the matter deeper and develop some skill, so at this point you can't take me too seriously.
    That's where I was when I started this thread and I still don't take me seriously.

    Originally Posted by Srivas View Post
    Just by looking at the samples with the default settings, I personally found that dfttest and TemporalDegrain are the best ones, although TemporalDegrain is a bit overkill with the default settings. So I took some settings down and used this script
    TemporalDegrain(SAD1=200, SAD2=150, sigma=8)
    and I really liked the results. Very nice shapening with enough details retained. BUT, it's a really slow filter. That's the price you have to pay. I personally always go for the quality and I'm not on a payrun or anything so I would just stick to it.
    Yep, TemoralDegrain is very good. I do use it now and then. For the slowness thing.... and I do the same with QTGMC.....

    I create a script, make a copy, and then add trim() to the end of each so each script encodes around half the video (I start the second script on the first frame of a scene), then I encode them simultaneously and append the encoded video when it's done. That keeps the CPU busier. Make sure to add --stitchable to the x264 command line. I never encode without it anyway. You never know when you're going to want to re-encode just a small section for some reason.

    For example if a video was 10,000 long and you wanted a script to encode the first 5000 frames:

    trim(0,4999)

    And at the end of the second script:

    Trim(5000,0)

    To encode the rest.

    Originally Posted by Srivas View Post
    And I found the Scintilla Guide mentioned to be very infromative also (although geared on anime), especially in regards of shapening filters. Probably this should be the next thing to try out for ultimate results, combining good denoising and good sharpening. My experience in any field of activity is that you should use a specific tool for a specific need. They have been designed to do their thing and usually work better separately. Anyway, some thougths.
    I'd be somewhat cautious about using QTGMC on animation. It has a tenancy to produce artefacts. This was a progressive source but the top picture is the original, the second is QTGMC de-interlacing and the third is QTGMC in progressive mode. Look to the right of the girl's skates. And there's extra lines on the ground.

    Click image for larger version

Name:	QTGMC animation.jpg
Views:	636
Size:	75.1 KB
ID:	35862

    While I'm in full disclosure mode, every filter comes with side-effects, and because QTGMC is a de-interlacer it can sometimes have an undesirable effect when an object is at just the right angle. Here's an example. QTGMC & LSFMod & Gradfun3. I probably should have backed LSFMod off a little (it's borderline over-sharpened) but check out the rope at the top left. I think it was on just the right angle for QTGMC to remove the detail. The rest of the picture looks improved enough to me to make up for it though, and I don't notice that sort of thing often, but it can happen. You'll probably need to open each in a new tab to view them full size because the forum software sharpens a lot.

    Before
    Click image for larger version

Name:	before.jpg
Views:	857
Size:	138.4 KB
ID:	35863

    After
    Click image for larger version

Name:	after.jpg
Views:	963
Size:	130.2 KB
ID:	35864

    Sometimes, when video is noisy, the outline of objects can "wobble" a little if they move. It's also not common, but it's a possible side-effect of (I assume) denoising with a de-interlacer.
    The only other side-effect I can think of is a kind of "halo". Not a sharpening halo though. It's very hard to show with a still picture, and I've only ever noticed it when there's an object moving across an almost uniform background. Someone walking on grass might be an example. QTGMC can create a kind of halo effect in the grass just behind the moving object. It's hard to describe, and not as bad as it probably sounds.

    All the above is almost nitpicking though in that I've only noticed it because I've used QTGMC so much. I've seen worse side effects from other denoising I've barely used at all, and so far when it comes to removing noise from a moving object I don't think I've found anything that'll compete with QTGMC for retaining detail.

    Originally Posted by Srivas View Post
    And I found the Scintilla Guide mentioned to be very infromative also (although geared on anime), especially in regards of shapening filters.
    I'll have to have another read but as a rule I don't like video that looks sharpened and I don't like sharpened noise, so video has to be pretty clean before I'll consider sharpening it and then I'll pretty much always use LSFMod. It's slow though.

    You might care to check out SMDegrain. It started out as a simple script for denoising with mvtools2 + mdegrain (much like fastdegrain) but Dogway went completely mad with it and now it'll do everything. It can also use LSFMod() for sharpening. By default though, I'm pretty sure it still just de-noises as the original SMDegrain did. You have to manually enable the rest of it's functions. I've been meaning to play around with it a bit more myself.
    Simple MDegrain Mod v3.1.2d - A Quality Denoising Solution

    Do you know what makes me procrastinate trying new things at times? I might actually find something that's much better than what I'm using and then I'll kick myself for not having used it for years.
    Last edited by hello_hello; 24th Feb 2016 at 22:24.
    Quote Quote  
  3. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    I'm sorry to be such a bloody newbie... BUT... I am just now trying to learn how to use denoisers / sharpeners with Avisynth. So, in reading this thread, I tried what LOOKED Like the simplest script and it didn't run...

    Based upon an early suggestion in this thread, this is what I added:

    LoadPlugin(C:\Program Files (x86)\AviSynth 2.6\plugins\TTempSmooth.dll)
    TTempSmooth()
    LoadPlugin(C:\Program Files (x86)\AviSynth 2.6\plugins\UnDot.dll)
    UnDot()

    and it threw an error. Here is the script I was using that I added that too that WAS running before I added this script:

    DirectShowSource("C:\x\00000.mkv")
    LoadPlugin("D:\EXECUTABLES\BD-RBV05018\BD_Rebuilder\tools\decomb521.dll")
    FieldDeinterlace(blend=true)
    Addborders(72,0,72,0)
    ConvertToYV12()
    AssumeFPS(30000,1001)

    BUT... when I tried to plug in what bloody LOOKS like very very simple script, it wouldn't run. I checked in my Avisynth 2.6 plugins folder, and both dlls are there.

    What the HELL am I missing...?!

    Thanks kindly for any help!

    ***EDIT

    DAMN! I looked above in the last post and I saw this other simple LOOKING script, so I tried that and THAT didn't work either... GRRRRR...!

    I added this line from the suggestion above:

    TemporalDegrain(SAD1=200, SAD2=150, sigma=8)

    That dll is in my folder too... GEEZ...

    ***EDIT 2

    Okay, I DID figure out why this last code won't work. I went to the Wiki page and it said that version 2.8 was necessary, so okay... THAT one I get. I guess I'll look up the others too

    ***EDIT 3

    All right, I am now a certifiable idiot... (okay, I WAS before too...) I just checked both functions, and apparently ALL of them require version 2.8, sorry about that...

    I guess I will have to check more carefully for WHICH functions I can use. BTW, the reason why I am running version 2.6 is because that is the version I am supposed to use in order to use BD Rebuilder... So... I guess I will check for earlier denoisers / sharpeners then. I would though truly appreciate any suggestions.

    Thanks!
    Last edited by Lathe; 18th Oct 2016 at 01:58. Reason: whoops...
    Quote Quote  
  4. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Okay, I'm REALLY confused now... I'm checking out all these denoisers in the external filters section, and even bloody ANCIENT ones like 'Deen' which shows it developed in 2003! Still bloody requires (according to the Wiki) version 2.8...??? What the hell! That makes no sense at all; please put me out of my misery and tell me what the heck I am missing...
    Quote Quote  
  5. If you're referring to AVIsynth, there's no version 2.8. Version 2.6 is the current one. TemporalDegrain and Deen both require AVIsynth 2.5.8 or newer. Most plugins that work with AVisynth 2.5.8 will work with 2.6, so that shouldn't be the problem.

    I'd be thinking the error is likely due to Avisynth trying to load a plugin you didn't load correctly in your script and the show stopped there. That error message it threw... assuming it was an Avisynth error message, knowing what it was can be kind of important, but in the mean time, check you used quotation marks, or remove the LoadPlugin lines entirely if they're in the auto-loading folder (info below).

    Incorrect:
    LoadPlugin(C:\Program Files (x86)\AviSynth 2.6\plugins\TTempSmooth.dll)
    Correct:
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\TTempSmooth.dll")

    For the record, plugins in the AVisynth plugins folder should auto-load when AVIsynth runs. There's exceptions (the type of plugin) but as a rule if a plugin is residing in that folder there's no need to load it in a script. ie instead of using Undot like this:

    LoadPlugin(C:\Program Files (x86)\AviSynth 2.6\plugins\UnDot.dll)
    UnDot()

    If undot.dll is in the plugins folder you can use it in a script like this:

    Undot()

    TemporalDegrain is a script requiring several other plugins to work (it's not a dll unless there's another plugin with the same name I'm not aware of). http://avisynth.nl/index.php/Temporal_Degrain
    You'd save the TemporalDegrain script, change the extension from avs to avsi (so it'll auto-load) stick it in the Avisynth plugins folder along with the required plugins, then you can use TemporalDegrain in your script for encoding like so:

    TemporalDegrain()

    or like this etc

    TemporalDegrain(SAD1=200, SAD2=150, sigma=8)

    Some of the plugins TemporalDegrain uses have dependencies of their own. Often they require particular versions of Microsoft runtime files. If a plugin has a dependency it'll be specified on it's Avisynth page.
    Last edited by hello_hello; 18th Oct 2016 at 13:14.
    Quote Quote  
  6. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by hello_hello View Post
    If you're referring to AVIsynth, there's no version 2.8. Version 2.6 is the current one. TemporalDegrain and Deen both require AVIsynth 2.5.8 or newer. Most plugins that work with AVisynth 2.5.8 will work with 2.6, so that shouldn't be the problem.

    I'd be thinking the error is likely due to Avisynth trying to load a plugin you didn't load correctly in your script and the show stopped there. That error message it threw... assuming it was an Avisynth error message, knowing what it was can be kind of important, but in the mean time, check you used quotation marks, or remove the LoadPlugin lines entirely if they're in the auto-loading folder (info below).

    Incorrect:
    LoadPlugin(C:\Program Files (x86)\AviSynth 2.6\plugins\TTempSmooth.dll)
    Correct:
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\TTempSmooth.dll")

    For the record, plugins in the AVisynth plugins folder should auto-load when AVIsynth runs. There's exceptions (the type of plugin) but as a rule if a plugin is residing in that folder there's no need to load it in a script. ie instead of using Undot like this:

    LoadPlugin(C:\Program Files (x86)\AviSynth 2.6\plugins\UnDot.dll)
    UnDot()

    If undot.dll is in the plugins folder you can use it in a script like this:

    Undot()

    TemporalDegrain is a script requiring several other plugins to work (it's not a dll unless there's another plugin with the same name I'm not aware of). http://avisynth.nl/index.php/Temporal_Degrain
    You'd save the TemporalDegrain script, change the extension from avs to avsi (so it'll auto-load) stick it in the Avisynth plugins folder along with the required plugins, then you can use TemporalDegrain in your script for encoding like so:

    TemporalDegrain()

    or like this etc

    TemporalDegrain(SAD1=200, SAD2=150, sigma=8)

    Some of the plugins TemporalDegrain uses have dependencies of their own. Often they require particular versions of Microsoft runtime files. If a plugin has a dependency it'll be specified on it's Avisynth page.
    Ah yes... I'm an idiot... Of COURSE it is version 2.58 NOT 2.8, sorry... Geez...

    Okay, one dumb thing out of the way. Hmmm, interesting that if the DLL is in the plugins directory that all you have to do is call it with 'name'() I will try that. I DO have a 'TemporalDegrain.avs' in my plugins directory which has all the lengthy, complicated code inside. Sooooo, since it is not a self-loading 'avsi', should I just try to load that .avs and then as you said just try TemporalDegrain() ?

    Also, I'm trying what LOOKS like a very simple LFS script that I saw on another very old post here (apparently EVERYBODY had all this Avisynth stuff down like 7 bloody years ago!) and I also already have a 'LimitedSharpenFaster.avsi' in my plugins folder. Here is the script I am trying. Now, BEFORE I added the LSF script it previewed in Windows Player just fine. After I added the script it threw an error. BTW, it probably is unnecessary as you said, but in the Wiki it says that LSF needs these other plugins to work. Well, those Dlls are indeed in my plugins folder, so I do call all of them that it said are required. Here is the script with the LSF added:

    DirectShowSource("C:\x\00000.mkv")
    LoadPlugin("D:\EXECUTABLES\BD-RBV05018\BD_Rebuilder\tools\decomb521.dll")
    FieldDeinterlace(blend=true)
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\DGDecode.dll")
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\masktools2.dll")
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\RgTools.dll")
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\warpsharp.dll")
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\LimitedSharpenFaster.avsi")
    LimitedSharpenFaster()
    Addborders(80,0,80,0)
    ConvertToYV12()
    AssumeFPS(30000,1001)

    .The reason I am using BDRB's tools is because that is the first Avisynth filter I learned to use, so I still use it. Now, first thing I'm gonna do, is go back and take out all those 'Load plugin' lines for LSF since I already have the 'avsi' in my plugins folder, right? Also, as you suggested, I will try the other one above my just calling the function 'name'() and see what happens.

    Thanks Hello Hello! I have ready many, MANY of your comments here over the years and I have learned a LOT! (it may not look like it here, but I did... )

    ***EDIT

    Okay, I tried just putting in LSF() and took all that other stuff out and it still threw an error.

    I'll try the TemporalDegrain and see what happens.

    ***EDIT 2

    Nope... I tried this too and it threw an error:

    DirectShowSource("C:\x\00000.mkv")
    LoadPlugin("D:\EXECUTABLES\BD-RBV05018\BD_Rebuilder\tools\decomb521.dll")
    FieldDeinterlace(blend=true)
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\TemporalDegrain.avs")
    TemporalDegrain()
    Addborders(80,0,80,0)
    ConvertToYV12()
    AssumeFPS(30000,1001)

    ***EDIT 3

    Heh, I even tried just adding UnDot() and it threw an error:

    DirectShowSource("C:\x\00000.mkv")
    LoadPlugin("D:\EXECUTABLES\BD-RBV05018\BD_Rebuilder\tools\decomb521.dll")
    FieldDeinterlace(blend=true)
    UnDot()
    Addborders(80,0,80,0)
    ConvertToYV12()
    AssumeFPS(30000,1001)

    What's weird is that ONLY 'deen' works if I add it to the existing code. Everything else throws an error. I wonder why...???
    Last edited by Lathe; 19th Oct 2016 at 01:01.
    Quote Quote  
  7. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Okay, I tried just this script, and it threw an error:

    DirectShowSource("C:\x\00000.mkv")
    TFM().TDecimate()
    Addborders(80,0,80,0)

    And, YES, the reason why I am using DirectShowSource could be because I use BDRB a lot, or at least I did until I started learning more about using the CMD line which I do now more and more, thus my wanting to incorporate Avisynth. Mainly though, just for older captures like the one I posted on the other thread. I'll put it here too. ONLY really in cases like that will I be messing around with trying to 'improve' them because there is no commercial source for some of these films. Also, I think the very fist tutorial I read about Avisynth said to use DirectShowSource for files other than avi. So, since I will pretty much only be doing this stuff with MKV files, that is where I learned to use that.

    http://lathe-of-heaven.com/01.mkv

    BTW, since 'deen' was the ONLY plugin that I could get working I did try that and actually did an x264 encode of that, and I could see a little more stability in the picture, but I did notice just a tiny loss of detail. Thus my interest in LFS or whatever else I thought would help...
    Last edited by Lathe; 19th Oct 2016 at 01:35. Reason: More stuff...
    Quote Quote  
  8. It'd probably be better to ask about these type of issues in a single thread. Either this one or start a new one. When you ask about very similar problems in two threads you'll be likely to end up with duplicated answers and everyone won't know what's already been suggested.

    You probably still aren't clear on the way plugins work. The name of a dll doesn't necessarily have to have anything to do with it's function. undot.dll may have a function called undot() but you could change the name of the dll to somethingsxexy.dll and put it in the auto-loading folder and if undot() worked in a script previously it'll continue to do so. Many plugins have multiple functions. Take RGTools as an example. There's no function called RGTools(), but with RGTools in the plugins folder you get Repair(), RemoveGrain() VerticalCleaner() and a few others.

    There's a modded version of LimitedSharpenFaster called LimitedSharpenFasterMod, or LSFmod here: http://avisynth.nl/index.php/LSFmod
    I don't think they're hugely different but I can't remember how different. I have both scripts in my plugins folder so I must have compared them at some stage but I've not used LimitedSharpenFaster for quite a while. I don't know why. Maybe I preferred the result, or maybe I just though LSFMod() was way easier to type

    If LimitedSharpenFaster has an avsi extension and it's in the auto-loading folder you don't need to load it in a script. The same applies to the dlls it requires. Two of them require the Microsoft Visual C++ 2012 Redistributable Package to work. You may have it, you may not. There's a link on the plugin pages. That's the most likely cause, but seriously..... what's the error message??????????????
    Quote Quote  
  9. DirectShowSource decodes via DirectShow, so there's a few variables, the main one being you need to have an appropriate DirectShow codec installed for decoding. Something like LAV Filters or ffdshow would cover most of it. DirectShow is generally fine for encoding a video from start to finish. Unfortunately though, it's not always frame accurate, so encoding a specific range of frames mightn't always encode exactly the specific range you specify and as filtering gets complicated or frames are requested out of order etc it can get messy.

    The most commonly used AVIsynth decoder for MKVs these days would be Lsmash. It indexes the video and audio which means it can take a while to open an MKV the first time (it doesn't need to index MP4s), it's a little more fiddly than DirectShow to use in a script, but it's frame accurate and should decode most formats reliably.
    Quote Quote  
  10. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by hello_hello View Post
    It'd probably be better to ask about these type of issues in a single thread. Either this one or start a new one. When you ask about very similar problems in two threads you'll be likely to end up with duplicated answers and everyone won't know what's already been suggested.

    You probably still aren't clear on the way plugins work. The name of a dll doesn't necessarily have to have anything to do with it's function. undot.dll may have a function called undot() but you could change the name of the dll to somethingsxexy.dll and put it in the auto-loading folder and if undot() worked in a script previously it'll continue to do so. Many plugins have multiple functions. Take RGTools as an example. There's no function called RGTools(), but with RGTools in the plugins folder you get Repair(), RemoveGrain() VerticalCleaner() and a few others.

    There's a modded version of LimitedSharpenFaster called LimitedSharpenFasterMod, or LSFmod here: http://avisynth.nl/index.php/LSFmod
    I don't think they're hugely different but I can't remember how different. I have both scripts in my plugins folder so I must have compared them at some stage but I've not used LimitedSharpenFaster for quite a while. I don't know why. Maybe I preferred the result, or maybe I just though LSFMod() was way easier to type

    If LimitedSharpenFaster has an avsi extension and it's in the auto-loading folder you don't need to load it in a script. The same applies to the dlls it requires. Two of them require the Microsoft Visual C++ 2012 Redistributable Package to work. You may have it, you may not. There's a link on the plugin pages. That's the most likely cause, but seriously..... what's the error message??????????????
    Yes, that does help me understand it better. I don't know what you mean by 'autoload' folder. I THINK that I just have a 'plugins' folder where all the .avs, .avsi, and a LOT of .dlls are. All I 'knew' was that if a function had an .avsi extension, that it was automatically loaded when you used Avisynth, so you didn't have to include a line loading it.

    I THINK you asked me to try to open my .avs file in VirtualDub, right? Well, I just tried this new streamlined one above and I took a snapshot of the error. I'll upload it here.

    Oh, and I will paste THIS page on the other threads where people have answered. I just read your post about DirectShow and yes, for BDRB I do have LAV installed, etc. So, if for now I can please keep it simple and just use that until I get 'better', I'm pretty darn sure that at first I will be doing entire encodes and I won't be playing around with the frames, etc. Please let me know if you think that is all right. Thanks!
    Image Attached Thumbnails Click image for larger version

Name:	VD error.gif
Views:	393
Size:	6.5 KB
ID:	38961  

    Quote Quote  
  11. It's so easy to miss mistakes in scripts. I've saw a mistake in yours here yesterday, then the same mistake in your other thread today, and here again now before it registered.

    Scripts aren't plugins so you don't use LoadPlugin. You import them. Not that you need to if they're in the plugins folder with an avis extension.

    Incorrect:
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\LimitedSharpenFaster.avsi")

    Correct:
    Import("C:\Program Files (x86)\AviSynth 2.6\plugins\LimitedSharpenFaster.avs")
    Quote Quote  
  12. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by hello_hello View Post
    It's so easy to miss mistakes in scripts. I've saw a mistake in yours here yesterday, then the same mistake in your other thread today, and here again now before it registered.

    Scripts aren't plugins so you don't use LoadPlugin. You import them. Not that you need to if they're in the plugins folder with an avis extension.

    Incorrect:
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\LimitedSharpenFaster.avsi")

    Correct:
    Import("C:\Program Files (x86)\AviSynth 2.6\plugins\LimitedSharpenFaster.avs")
    Oh, Geez... well, that is a good start... Okay, so for any SCRIPTS (.avs) I use 'Import' as you stated above. Very good!

    I'm curious though... I wonder why when I just put LimitedSharpenFaster() in the script why it didn't work? The avsi is indeed in my plugins folder.

    BTW, Sharc suggested (as a start) that I try using BDRB to import the MKV file and then render it using inverse telecining in BDRB's ini, which I'm doing (takes a bit longer than usual) So, that should HOPEFULLY take care making it progressive and getting rid of what I THOUGHT was interlacing (some combing, etc.) Then, what I hope to do is take the resulting m2ts file and go from there with Avisynth.

    Does that sound like a good idea, do you think?
    Quote Quote  
  13. If there's no function named TFM, it's going to be because you don't have the TIVTC plugin. http://avisynth.nl/index.php/TIVTC

    The plugins folder installed by AVIsynth (ie C:\Program Files (x86)\AviSynth 2.6\plugins) is the one that AVISynth checks every time it runs and automatically loads any plugins it finds (including avsi scripts). That's why I referred to it as the auto-loading plugins folder. If you want to use a dll residing in any other folder, you have to load it yourself.
    Not everything auto-loads, but most plugins do. There's a link in my post yesterday which takes you to a page explaining the workings of the plugins folder.
    Quote Quote  
  14. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    BTW, this is what the BDRB Avisynth script looks like (it uses it's own internal files)

    Interesting, it still is decombing it...

    #Created by BD Rebuilder - v0.50.18
    DirectshowSource("C:\_______MEDIA\_BDRB\IMPORTS\00 000\BDMV\STREAM\00000.m2ts", fps=29.97, framecount=163080, audio=false)
    LoadPlugin("D:\EXECUTABLES\BD-RBV05018\BD_Rebuilder\tools\decomb521.dll")
    ConvertToYV12()
    Telecide(order=1,guide=1)
    Decimate(cycle=5)
    Spline16Resize(960,720).Addborders(160,0,160,0)
    ConvertToYV12().AssumeFPS(24000,1001)
    Quote Quote  
  15. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by hello_hello View Post
    If there's no function named TFM, it's going to be because you don't have the TIVTC plugin. http://avisynth.nl/index.php/TIVTC

    The plugins folder installed by AVIsynth (ie C:\Program Files (x86)\AviSynth 2.6\plugins) is the one that AVISynth checks every time it runs and automatically loads any plugins it finds (including avsi scripts). That's why I referred to it as the auto-loading plugins folder. If you want to use a dll residing in any other folder, you have to load it yourself.
    Not everything auto-loads, but most plugins do. There's a link in my post yesterday which takes you to a page explaining the workings of the plugins folder.
    Yeah, I pretty much figured that I didn't have what I needed for that function. Yes, I will review the workings of the plugins folder for sure. See what you think about BDRB's code...
    Quote Quote  
  16. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    WOW! Sharc's idea worked great! The resulting encode came out not only in the proper Blu-ray compliant AR, etc., but the picture looks a HELL of a lot better now! I've heard a lot about inverse telecining but I never knew what it was.

    Unless it is just my imagination, the picture is WAY more stable. Before, even after the 'deinterlacing' (that it didn't need) the edges seemed to kind of jump around a lot, sort of wavering. But now... a LOT of that is gone and the picture looks a LOT more stable.

    Hopefully that is a good start!

    I'll make sure and read up on what the 'Telecide' did (sounds kinda like killing televisions...) and what 'Decimate' does!
    Quote Quote  
  17. Originally Posted by Lathe View Post
    I'm curious though... I wonder why when I just put LimitedSharpenFaster() in the script why it didn't work? The avsi is indeed in my plugins folder.
    It probably would have worked if you hadn't also loaded it incorrectly in the script Anything you tell Avisynth to do that it can't do will result in an error. LSF may have been loading fine from the auto-loading plugins folder, but "LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\LimitedSharpenFaster.avsi")" stopped the show before you got to LimitedSharpenFaster() in the script. Or it might have been a different problem. I'm not sure. It only takes a full stop in the wrong place or a single typo.

    Originally Posted by Lathe View Post
    BTW, Sharc suggested (as a start) that I try using BDRB to import the MKV file and then render it using inverse telecining in BDRB's ini, which I'm doing (takes a bit longer than usual) So, that should HOPEFULLY take care making it progressive and getting rid of what I THOUGHT was interlacing (some combing, etc.) Then, what I hope to do is take the resulting m2ts file and go from there with Avisynth.

    Does that sound like a good idea, do you think?
    I don't know about the BDRB part but yes it's a good idea.
    Decomb.dll ill be providing the following functions to perform the inverse telecining.

    Telecide(order=1,guide=1)
    Decimate(cycle=5)

    Which I'm fairly sure will produce the same result as tivtc.dll as per manono's suggestion in the other thread:

    TFM().TDecimate()

    Decomb and TIVTC are mostly designed to achieve the same thing (inverse telecine) although they do have different functionality and probably tackle things differently when a source needs more than just straight IVTC, but in your case the result should be the same.
    I mainly use TIVTC myself. I haven't used Decomb in a while so I'd have to read through the help file to remember what the differences are.
    Quote Quote  
  18. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by hello_hello View Post
    Originally Posted by Lathe View Post
    I'm curious though... I wonder why when I just put LimitedSharpenFaster() in the script why it didn't work? The avsi is indeed in my plugins folder.
    It probably would have worked if you hadn't also loaded it incorrectly in the script Anything you tell Avisynth to do that it can't do will result in an error. LSF may have been loading fine from the auto-loading plugins folder, but "LoadPlugin("C:\Program Files (x86)\AviSynth 2.6\plugins\LimitedSharpenFaster.avsi")" stopped the show before you got to LimitedSharpenFaster() in the script. Or it might have been a different problem. I'm not sure. It only takes a full stop in the wrong place or a single typo.

    Originally Posted by Lathe View Post
    BTW, Sharc suggested (as a start) that I try using BDRB to import the MKV file and then render it using inverse telecining in BDRB's ini, which I'm doing (takes a bit longer than usual) So, that should HOPEFULLY take care making it progressive and getting rid of what I THOUGHT was interlacing (some combing, etc.) Then, what I hope to do is take the resulting m2ts file and go from there with Avisynth.

    Does that sound like a good idea, do you think?
    I don't know about the BDRB part but yes it's a good idea.
    Decomb.dll ill be providing the following functions to perform the inverse telecining.

    Telecide(order=1,guide=1)
    Decimate(cycle=5)

    Which I'm fairly sure will produce the same result as tivtc.dll as per manono's suggestion in the other thread:

    TFM().TDecimate()

    Decomb and TIVTC are mostly designed to achieve the same thing (inverse telecine) although they do have different functionality and probably tackle things differently when a source needs more than just straight IVTC, but in your case the result should be the same.
    I mainly use TIVTC myself. I haven't used Decomb in a while so I'd have to read through the help file to remember what the differences are.
    Yeah, I know like with programming that the syntax is vital. Thanks man! It sure does look better!

    Soooo, I wonder what I should do next...?
    Quote Quote  
  19. Telecining is this process: https://en.wikipedia.org/wiki/Three-two_pull_down
    Each frame is two fields and two fields in ten are duplicates. That spreads 23.976fps out over 29.970fps. The latter has more frames due to the repeated fields, but the frame rate is also higher, so they both have the same duration. The repeated fields can add a little "judder' to motion.

    In the case of TIVTC, TFM() does the field matching. Basically it matches up fields to make frames whole again. The end result is 29.970fps with every fourth frame repeated. TDecimate() removes the duplicate frame and you're back to the original 23.976fps progressive source.

    Telecide().Decimate() do the same type of thing.

    Technically the telecine process isn't interlacing, and removing it isn't de-interlacing, but the telecine process works by taking advantage of the interlaced nature of NTSC or PAL to change the frame rate, and most GUIs include IVTC with the de-interlacing options.

    Interlaced video could be seen as two fields combined to make a complete frame, but they're not recorded together and in analogue video don't display together, so they represent slightly different moments in time. If you combine the two fields, combing you see looks much like the telecine combing, but for interlaced video you can't just shuffle the fields around to make the frames whole, you have to use a deinterlacer. https://en.wikipedia.org/wiki/Interlaced_video
    Quote Quote  
  20. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by hello_hello View Post
    Telecining is this process: https://en.wikipedia.org/wiki/Three-two_pull_down
    Each frame is two fields and two fields in ten are duplicates. That spreads 23.976fps out over 29.970fps. The latter has more frames due to the repeated fields, but the frame rate is also higher, so they both have the same duration. The repeated fields can add a little "judder' to motion.

    In the case of TIVTC, TFM() does the field matching. Basically it matches up fields to make frames whole again. The end result is 29.970fps with every fourth frame repeated. TDecimate() removes the duplicate frame and you're back to the original 23.976fps progressive source.

    Telecide().Decimate() do the same type of thing.

    Technically the telecine process isn't interlacing, and removing it isn't de-interlacing, but the telecine process works by taking advantage of the interlaced nature of NTSC or PAL to change the frame rate, and most GUIs include IVTC with the de-interlacing options.

    Interlaced video could be seen as two fields combined to make a complete frame, but they're not recorded together and in analogue video don't display together, so they represent slightly different moments in time. If you combine the two fields, combing you see looks much like the telecine combing, but for interlaced video you can't just shuffle the fields around to make the frames whole, you have to use a deinterlacer. https://en.wikipedia.org/wiki/Interlaced_video
    Intriguing stuff. Thank you for kindly taking the time to explain it so well. But, I PROMISE I will research and learn more about this. I've spent so many, MANY hours 'decimating' my brain to mush reading about x264 encoding, so now I need to begin on Avisynth. At least the concepts (as you clearly explained this one) are pretty much easy to understand and grasp. But, as with most things, it is in the details where you have to learn how to do it all properly.

    I think you guys have all helped a lot for now and I do not wish to bother you further about this particular film. So, I will take Sharc's advice and just do some reading and familiarize myself with the concepts and syntax so that THEN, perhaps I can continue, hopefully with a bit more understanding, to get some ideas of how to deal with films like this. THANKFULLY, this is just a very tiny part of my overall movie collection where I mostly concentrate on Blu-rays and where necessary DVDs (over 7500 films so far) BUT... eventually I do want to have a better understanding on how I can hopefully improve some of these really rare, few films where there is no commercial medium available representing it.

    Thanks again!
    Quote Quote  
  21. Originally Posted by Lathe View Post
    Soooo, I wonder what I should do next...?
    Is your source the 01.mkv attached to a post somewhere? This isn't going to be the ultimate, "nothing does it better" method. That requires experimenting and tweaking for individual videos and experience I don't have. This is my go to "clean it up a bit" filtering. Someone else with more experience with your type of source might be able to suggest something better.

    QTGMC is a de-interlacer, however it has a progressive mode for cleaning up bad deinterleaving a little, and that mode makes for a good noise remover (what this thread was originally about), and after IVTC you have progressive video. So....

    TFM().TDecimate
    GreyScale()
    QTGMC(InputType=1, EzDenoise=3)
    crop(12, 4, -8, -4)
    Spline36Resize(640,472)
    LSFMod(Strength=50) # I wouldn't bother
    gradfun3()

    I doubt I'd bother with sharpening, because even after noise removal there'll be more noise than detail to sharpen and by the time you sharpen any detail it'll look like crap. That's just my opinion, and someone else might have other ideas.

    gradfun3 combined with QTGMC will help repair some of the encoder "blocking" and gradfun3 will add dither to reduce any banding.

    I'll probably have to return tomorrow but someone else might be able to help with getting QTGMC and gradfun3 working. You'll be in duplicate plugin territory (different scripts with dlls in common) and some scripts come with different versions of the same plugin.... generally you need the latest version of each plugin with no other version in the auto-loading folder.

    Gradfun3 is a function of the dither package found here:
    http://forum.doom9.org/showthread.php?p=1386559
    The dither package requires dfttest 1.9.4 and MVTools 2.6.0.5. Links on the same page. If any other scripts come with dfttset, mvtools2 or whatever's in the dither zip file, delete their versions and use the plugins from the post I linked to instead.

    You really are polishing a turd, but here's the result of the script I posted, without LSFMod().

    The mkv doesn't want to work as an attachment for some reason. I'll try adding it manually.
    https://forum.videohelp.com/attachment.php?attachmentid=38962&d=1476865356
    Last edited by hello_hello; 19th Oct 2016 at 04:54.
    Quote Quote  
  22. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by hello_hello View Post
    Originally Posted by Lathe View Post
    Soooo, I wonder what I should do next...?
    Is your source the 01.mkv attached to a post somewhere? This isn't going to be the ultimate, "nothing does it better" method. That requires experimenting and tweaking for individual videos and experience I don't have. This is my go to "clean it up a bit" filtering. Someone else with more experience with your type of source might be able to suggest something better.

    QTGMC is a de-interlacer, however it has a progressive mode for cleaning up bad deinterleaving a little, and that mode makes for a good noise remover (what this thread was originally about), and after IVTC you have progressive video. So....

    TFM().TDecimate
    GreyScale()
    QTGMC(InputType=1, EzDenoise=3)
    crop(12, 4, -8, -4)
    Spline36Resize(640,472)
    LSFMod(Strength=50) # I wouldn't bother
    gradfun3()

    I doubt I'd bother with sharpening, because even after noise removal there'll be more noise than detail to sharpen and by the time you sharpen any detail it'll look like crap. That's just my opinion, and someone else might have other ideas.

    gradfun3 combined with QTGMC will help repair some of the encoder "blocking" and gradfun3 will add dither to reduce any banding.

    I'll probably have to return tomorrow but someone else might be able to help with getting QTGMC and gradfun3 working. You'll be in duplicate plugin territory (different scripts with dlls in common) and some scripts come with different versions of the same plugin.... generally you need the latest version of each plugin with no other version in the auto-loading folder.

    Gradfun3 is a function of the dither package found here:
    http://forum.doom9.org/showthread.php?p=1386559
    The dither package requires dfttest 1.9.4 and MVTools 2.6.0.5. Links on the same page. If any other scripts come with dfttset, mvtools2 or whatever's in the dither zip file, delete their versions and use the plugins from the post I linked to instead.

    You really are polishing a turd, but here's the result of the script I posted, without LSFMod().

    The mkv doesn't want to work as an attachment for some reason. I'll try adding it manually.
    https://forum.videohelp.com/attachment.php?attachmentid=38962&d=1476865356
    Wow, that looks amazing, considering... Thank you for taking the time to do that. And that is BEFORE I ran it through BDRB and make it progressive, but I'm guessing your script likely did that anyway.

    Yeah, 'Turd Polishing' is my new hobby, go figure... Appreciate the explanations about the script and such though. I will continue my reading and research about that and see if I can actually begin to catch up before I die of old age...

    Oh, just a quickie... EVERY bloody AVS package comes with DOC and SOURCE folders, and they all look the same. What do I do with those when I go to add the files to my plugin folder? I KNOW that I will need at least the .avs or .avsi and .dll files there, but what do I do with all the rest, especially since every plugin has those folders?

    Cheers!
    Quote Quote  
  23. Member
    Join Date
    Jul 2021
    Location
    North Bay, Ontario, Canada
    Search Comp PM
    I am stoked about this post, it's exciting and I follow the material; but I am still waiting on the thermal paste you see to upgrade my mobo and processor.
    Until then I've had to employ ffmpeg and videoenhancer2 by infognition.

    What I've noticed in particular is for faces that the noise for small, fast movements is the only thing that the ffmpeg filter:
    Code:
    %ffmpeg% -i "test.mkv" -vf nlmeans="2.0:7:5:3:3" "new.mkv"
    and then, in the now free videoenhancer2 by infognition, I used the

    Code:
    Dynamic Noise Reduction (MMX) by Steven Henk Don
    I had some success running that at 4 and 8, and either before or after I used:

    Code:
    Asvzzz deinterlace by Serge AndyK
    Because it helped to clarify movements, meaning it makes motion and quick motions clearer; so a smoother or denoiser can affect them. It's subtle and perhaps you would want to run it first, then nlmeans, and then MMX denoise.

    I chose an old AMD FX8350 btw for My processor on a 10 yr old Asus board; vintage; will be nice when it's good and going.

    Note I think perhaps Asvzz deinterlace is the best first step.

    EDIT2 =====================

    Hello, I have been working with this formula. I'd realized that the non linear smoother (zero loss) filter on the video enhancer product by Dmitry Popov is essentially a NL Means filter in all ways; and unlike spatial filters does not add latency to the natural rendering of surface details such as movement in skin.

    Beyond that, I had been able to use the quite intuitive color correction filter in handbrake. It's the best I have used to be honest. I'm not a fan of the product's other features; but that one alone is well worth using or at least it is worth understand so as to reverse engineer how to reproduce exactly what it does.

    There is however, the chroma smoothing feature. I notice that this feature did away with the last of the damage and shimmering; especially that of shadows on complex surfaces like skin. This had previously presented Me with a problem that there was seemingly no solution until using it on its lowest setting.

    These, all of these things; seem items which in My mind should be tested in both avisynth and vapoursynth to assess which method is fastest.
    I was able with video enhancer 2 to apply all of the above listed filters and I'd used the Non Linear Smoothing Loss Free filter instead of NLMeans being that it is likely a predecessor.

    I was able to apply all of those filters at the same time at 4.50 to 5.60 fps. And that left the other run with the chroma smoothing left to do with Handbrake. Likely, if I were to learn how to use the cmd line interface of video enhancer 2 also; that fps level may increase due to the lack of an output preview window that taxes resources.

    I'd still like to understand how to do this in avisynth, especially due to the realization that this new result does seem better still than the results of what I've seen from anything avisynth, or vapoursynth is capable of. I will provide jpeg's in a short time to make that apparent.
    Last edited by dspplug; 18th Jul 2021 at 19:27. Reason: more information
    Quote Quote  



Similar Threads

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