Thanks for your advice. Per your suggestion, I introduced dcycle as the parameter for decimation cycle. The smallest even number >= dcycle will be used as the decimation cycle and half will be decimated.
Here's the updated script: DeJump.avsi
---
And I'm also thinking about improving the performance, but some benchmarking is due for it.
About Selur's suggestion, I think MvTools2 is sort of free of indexing. According to pinterf's manual of MvTools2,
So I guess we don't have to go with indexing.Main mean for goals achievement (in MVTools version 2) is removing MVTools internal buffer with mysterious (for many people) index (idx) and some other internal tricks (see thread MVTools without idx).
Still, I'm wondering if setting the default filter MT mode to MT_MULTI_INSTANCE, SetFilterMTMode("DEFAULT_MT_MODE", 2), will improve the overall performance of the script.
And since Dogway is working on a MaskTools2 replacement, ExTools, which is expected to show better performance than MaskTools2 in many cases, maybe there's still room for performance improvement if we adopt it instead of MaskTools2. But it's still just a thought. Benchmarking and refactoring the script code is due, of course.
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 31 to 48 of 48
Thread
-
-
Ah, you are right totally forgot that was removed with v2.
Cu Selurusers currently on my ignore list: deadrats, Stears555 -
@JKyle Setting the default filter MT mode to MT_MULTI_INSTANCE, SetFilterMTMode("DEFAULT_MT_MODE", 2) did not help with speed.
The new script didn't either.
But I'm not sure if my old computer is a reliable source for speed testing.
@ Selur I changed the 3 lines in the FillDropsAlt.avsi script from post 15 the way you wrote in post 29,
and I got "Script error: There is no function named 'mvanalyse'". -
@micha.el: you missed the other posts where we concluded that this change only worked with older mvtools versions and doesn't work anymore.
users currently on my ignore list: deadrats, Stears555 -
I read the posts, but I did not understand it that way. To me it sounded like it was about indexing.
But nevermind, I'm not at all familiar with all this, like you, JKyle and johnmeyer, and just try to understand things...
thx -
Hi, in short: I just started to rerip old PAL VHS-C tapes with a framegrabber (sadly only 25p "interlaced", found out that QTGMC helps with that so i switched from HandBrake to StaxRip) and a "new" JVC VCR with TBC. I have some tapes where the output is "jumpy" (it looks like the field order switches for 1 or a few frames in these cases).
Googling for a solution I found your DeJump Script in StaxRip, sadly i get an error message when i try to use it and i don't know how to correct this:
Script Error
I don't know what 'color_black' means.
(C:\Users\danie\Desktop\StaxRip-v2.10.0-x64\Apps\Plugins\AVS\Scripts\DeJump.avsi, line 84)
(D:\VHS_Rerips\vlc-record-2021-11-30-07h36m04s-dshow___-_temp\yadifmod_dejump.avs, line 14) -
It's a dependency issue, you need color_rgb.avsi, for example from https://github.com/XhmikosR/avisynth-mt/blob/master/avisynth258MT/distrib/color_preset...olors_rgb.avsi for color_black and also color_white.
Cu Selurusers currently on my ignore list: deadrats, Stears555 -
Or you could replace color_black with $000000 and color_white with $ffffff. Getting the colors_rgb.avsi is preferable though -- other scripts may use the other colors it defines.
-
Thanks a lot (copied the script into \Apps\FrameServer\AviSynth\plugins\), the error message is gone!
First tests don't seem to make a difference though. I uploaded two samples (interlaced and deinterlaced with qtgmc) that show the error i mean (beginning of the tape, so as bad as it gets ) - i hope thats okay. Maybe you can give me a hint if DeJump is even the right script to help with these artifacts?
https://www.youtube.com/watch?v=PyJUArC0vJY
https://www.youtube.com/watch?v=h1gYxZqI2C0
EDIT:
Original files (encoded and the capture file): https://drive.google.com/drive/folders/14VlxSfllN9chyZzTTxlhM0ZtEW00AzGQ?usp=sharing
(It really is the last problem that i have to tackle, it seems that it's mostly happening with VHS-C tapes where the beginning of the tape is not in great condition..)Last edited by Hadeur; 3rd Dec 2021 at 12:14.
-
File uploaded to youtube is basically useless. Either attach a sample of the source here or upload it somewhere where it does not get reencoded.
Cu Selurusers currently on my ignore list: deadrats, Stears555 -
I added a link to a Google Drive folder with the files (the original capture file as well). Thx a lot for trying to help.
-
Doesn't look like a field order issue to me, using Stab http://avisynth.nl/index.php/Stab seems to work fine on most of the clip, the beginning looks more like missing frames,... (you might want to look into a better capturing setup).
users currently on my ignore list: deadrats, Stears555 -
It's not a field order problem it's a field position problem. This is a common problem with video capture. The capture device starts capturing a scanline early or late - resulting in that field shifting up or down. And since it's a field, one scanline early/late puts it up/down two scan lines in the frame. The easiest way to handle this in AviSynth is deinterace the use Stab() -- as suggested by Selur.
-
This looks very promising, thanks for the hint and your sample.
(Yeah.. i already put more money than i wanted into this for the JVC VCR with TBC & S-Video output, a Hauppauge capture card and another one from AverMedia because i thought it could capture actual 576i50. I already captured most of the tapes >10 years ago with my parents old vcr + a panasonic dvd recorder [with TBC, as i learned just a few days ago..] and wanted to take a shot at doing this a little better. --> So, i'm trying to work with what i have for now. )
Thank you for the explanation as well, i will try Stab().Last edited by Hadeur; 3rd Dec 2021 at 15:18.
-
works fine here with 32bit, 64bit Avisnyth and 64bit Vapoursynth,so yes it's probably an issue with Depan...
users currently on my ignore list: deadrats, Stears555 -
I usually use Vapoursynth not Avisynth. Ans yes I used 32 for x/y max.
Script I used was:
Code:# Imports import os import sys import ctypes # Loading Support Files Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll") import vapoursynth as vs # getting Vapoursynth core core = vs.core # Import scripts folder scriptPath = 'I:/Hybrid/64bit/vsscripts' sys.path.insert(0, os.path.abspath(scriptPath)) # Loading Plugins core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/DePan.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/GrainFilter/RemoveGrain/RemoveGrainVS.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/DenoiseFilter/NEO_FFT3DFilter/neo-fft3d.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/EEDI3m.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/vsznedi3.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/libmvtools.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/temporalsoften.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/scenechange.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/fmtconv.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/MiscFilter/MiscFilters/MiscFilters.dll") core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/FFMS2/ffms2.dll") # Import scripts import havsfunc # source: 'C:\Users\Selur\Desktop\vlc-record-2021-12-02-15h16m40s-dshow___-.avi' # current color space: YUV422P8, bit depth: 8, resolution: 720x576, fps: 24.96, color matrix: 470bg, yuv luminance scale: limited, scanorder: bottom field first # Loading source using FFMS2 clip = core.ffms2.Source(source="C:/Users/Selur/Desktop/vlc-record-2021-12-02-15h16m40s-dshow___-.avi",cachefile="E:/Temp/avi_7457d7342098808f3ffd5f6cd5d7a942_853323747.ffindex",format=vs.YUV422P8,alpha=False) # making sure input color matrix is set as 470bg clip = core.resize.Bicubic(clip, matrix_in_s="470bg",range_s="limited") # making sure frame rate is set to 24.960 clip = core.std.AssumeFPS(clip=clip, fpsnum=624, fpsden=25) # Setting color range to TV (limited) range. clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1) # setting field order to what QTGMC should assume (bottom field first) clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=1) # Deinterlacing using QTGMC clip = havsfunc.QTGMC(Input=clip, Preset="Fast", TFF=False) # new fps: 24.96 # make sure content is preceived as frame based clip = core.std.SetFieldBased(clip, 0) clip = clip[::2] # DEBUG: VsQTGMC changed scanorder to: progressive # stabilizing using Stab clip = havsfunc.Stab(clp=clip,mirror=0,dxmax=32,dymax=32) # cropping the video to 688x544 clip = core.std.CropRel(clip=clip, left=16, right=16, top=16, bottom=16) # adjusting output color from: YUV422P8 to YUV420P8 for x264Model clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8, range_s="limited") # set output frame rate to 24.960fps clip = core.std.AssumeFPS(clip=clip, fpsnum=624, fpsden=25) # Output clip.set_output()
Cu Selurusers currently on my ignore list: deadrats, Stears555
Similar Threads
-
Dropped Frames?
By Craft in forum EditingReplies: 3Last Post: 13th Apr 2021, 12:05 -
How do you know the cause of dropped frames capturing VHS?
By bigbadben in forum Newbie / General discussionsReplies: 3Last Post: 18th Oct 2020, 08:54 -
25fps with duplicates and dropped frames
By embis2003 in forum RestorationReplies: 6Last Post: 12th Oct 2020, 01:43 -
Analyze captured AVI for dropped frames
By outhud9 in forum CapturingReplies: 1Last Post: 2nd Jan 2020, 01:15 -
Duplicates Frames. Cause and means?
By nji9nji9 in forum RestorationReplies: 51Last Post: 15th Oct 2019, 13:21