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 7th June 2019, 10:43   #1181  |  Link
SnillorZ
Registered User
 
Join Date: Jan 2019
Location: Lake District UK
Posts: 48
@StainlessS Hehe

Thank you sir, yes I've got a couple of options I can use, just need to pick one that will work best for other people (no hoop jumping/spamming/tracking your every move), will give MediaFire a look.

Last edited by SnillorZ; 7th June 2019 at 10:44. Reason: Issue with me Grandma, Gramma
SnillorZ is offline   Reply With Quote
Old 7th June 2019, 11:15   #1182  |  Link
SnillorZ
Registered User
 
Join Date: Jan 2019
Location: Lake District UK
Posts: 48
Please may I ask for any opinion from experience on the following x64 bit testing:

Quote:
Originally Posted by SnillorZ View Post

[CPP 2.5 Plugins (64 Bit)]
D:\VideoTools\AVSplugins\x64\avstp.dll
D:\VideoTools\AVSplugins\x64\warpsharp.dll [2011-06-15]

AVSMeter 2.9.1 (x64) - Copyright (c) 2012-2019, Groucho2004
AviSynth+ 0.1 (r2772, MT, x86_64) (0.1.0.0)
Number of frames: 241
Length (hh:mm:ss.ms): 00:00:15.063
Frame width: 2424
Frame height: 720
Framerate: 16.000 (16/1)
Colorspace: YV12
Frames processed: 241 (0 - 240)
FPS (min | max | average): 0.210 | 78877 | 2.606
Process memory usage (max): 3351 MiB
Thread count: 25
CPU usage (average): 98.0%
Time (elapsed): 00:01:32.490
That the warpsharp.dll is a 2.5 "branch" CPP x64 rather a CPP 2.6 plugin (like all the others used by this avs) will be having much impact on performance?

Realise this maybe a bit of a "how longs a piece of string" question.

By the way the warpsharp.dll x64 (6-2011) is the most up to date available I believe, having trawled all over for anything newer/better.

Also since the original post I've removed the avstp.dll that @StainlessS pointed me to, found the script runs without it in its latest all x64 form and gives a little more 0.fps without it being loaded.
SnillorZ is offline   Reply With Quote
Old 7th June 2019, 12:20   #1183  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by SnillorZ View Post
Please may I ask for any opinion from experience on the following x64 bit testing:



That the warpsharp.dll is a 2.5 "branch" CPP x64 rather a CPP 2.6 plugin (like all the others used by this avs) will be having much impact on performance?
performance impact: no.
Maybe you have to specify the proper MT mode with SetFilterMTMode for the function you are using from that DLL. (MT_SERIALIZED, MT_MULTI_INSTANCE, MT_NICE_FILTER)
Quote:
Originally Posted by SnillorZ View Post
Realise this maybe a bit of a "how longs a piece of string" question.

By the way the warpsharp.dll x64 (6-2011) is the most up to date available I believe, having trawled all over for anything newer/better.
But this dll was only needed because of UnsharpMask, wasn't it? Which can be replaced with that custom user script function. It won't be bit-wise identical but after examining the impact of its parameters it should be usable.

Quote:
Originally Posted by SnillorZ View Post
Also since the original post I've removed the avstp.dll that @StainlessS pointed me to, found the script runs without it in its latest all x64 form and gives a little more 0.fps without it being loaded.
avstp.dll is used to help multithreading for specific filters even if they were used in a single-thread Avisynth environment. Not all filters, only for those that were written to use it.

E.g. in MSuper, MAnalyze, MCompensate, MDegrainN in mvtools2 2.7.xx and the old 2.6.0.5 version.
See bool mt (default true) parameters in the html docs of mvtools2 2.7.41 (bundled with the dll files)

Which other filters are using that from which plugins, I don't know.
pinterf is offline   Reply With Quote
Old 7th June 2019, 13:12   #1184  |  Link
SnillorZ
Registered User
 
Join Date: Jan 2019
Location: Lake District UK
Posts: 48
Quote:
Originally Posted by pinterf View Post
performance impact: no.
Maybe you have to specify the proper MT mode with SetFilterMTMode for the function you are using from that DLL. (MT_SERIALIZED, MT_MULTI_INSTANCE, MT_NICE_FILTER)
Yes coincidentally reviewing all this now, as I realised in the copy of john's script I've nicked & amended it doesn't have the SetFilterMTMode, but he maybe handling this with a a call to an auto-loaded separate avs he's not given details of.

Quote:
But this dll was only needed because of UnsharpMask, wasn't it? Which can be replaced with that custom user script function. It won't be bit-wise identical but after examining the impact of its parameters it should be usable.
Yes that's right and testing both finding Unsharpmask with warpsharp is marginally faster than your (kindly provided) script based function. Remembering I'm only concentrating on processing speed and not quality between the 2, so no decision made here yet.


Quote:
avstp.dll is used to help multithreading for specific filters even if they were used in a single-thread Avisynth environment. Not all filters, only for those that were written to use it.
Thank you, yes I didn't go back and properly check the details of what this did. Just removed to see if script ran without and any fps changes.
SnillorZ is offline   Reply With Quote
Old 7th June 2019, 15:12   #1185  |  Link
Meloware
Registered User
 
Join Date: Dec 2018
Location: Massachusetts USA
Posts: 25
The skills and experience here are far more than anything I am capable of contributing, technically. I am, however considering publishing my 16mm film digital conservation methods. They largely depend on open source software and hand-modified vintage gear. The modern physical stuff I use was assembled with a Chinese stepping motor controller (from eBay), an Arduino Due and LED projection lighting. My server at Meloware.com is largely unused, but I would be happy to maintain a repository of tested links and setup procedures, if the skilled members wished to work with me. In any case, I appreciate the group's sympathy and await further discussion! BTW, I notice most of these scripts work with video files. I use high resolution frame sequence images. It would be great to see some discussion on best methods to use frame sequences as the source for the film restoration scripting.
Meloware is offline   Reply With Quote
Old 7th June 2019, 15:23   #1186  |  Link
SnillorZ
Registered User
 
Join Date: Jan 2019
Location: Lake District UK
Posts: 48
Using Image Sequences

Quote:
Originally Posted by Meloware View Post
I notice most of these scripts work with video files. I use high resolution frame sequence images. It would be great to see some discussion on best methods to use frame sequences as the source for the film restoration scripting.
That I can help you with now, this was discussed a little earlier in this thread and can be used with these scripts

Using Image Sequence as Source
SnillorZ is offline   Reply With Quote
Old 7th June 2019, 16:06   #1187  |  Link
GillesH
Registered User
 
Join Date: Dec 2013
Location: France
Posts: 64
Film Capture / using the GetDups Plugin

Hello,
I had asked the question a few years ago, but no answer.

The Getdups Plugin is a very important tool for capturing S8, 8mm movies, etc.
https://avisynth.org.ru/getdups/getdups.html
But it does not work properly in Multi-Threading.

With Avisynth-MT, it's not too penalizing. Just specify the SetMTMode just AFTER the Getdups command.

With Avisynth+, you can not use GetDups with other Filters and Prefetch.
Because, in this case, the notion of Multi-Thread is valid for the whole Script and GetDups does not work properly.

GetDups is really useful for Movie Captures made with the method specified by Fizick.
Unfortunately, we no longer see this super-developer on Doom9.

My new request is for all our developers to find a way to modify GetDups and use it in Multi-Thread.
Or, do you have another solution for this method of capture ?

Thank you.
GillesH is offline   Reply With Quote
Old 7th June 2019, 16:21   #1188  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Perhaps:
SetFilterMTMode("GetDups", MT_SERIALIZED)

Does not work properly = wrong result?
pinterf is offline   Reply With Quote
Old 7th June 2019, 16:24   #1189  |  Link
SnillorZ
Registered User
 
Join Date: Jan 2019
Location: Lake District UK
Posts: 48
AvstpWrapper avstp.dll for multi-threading plugins

Quote:
Originally Posted by pinterf View Post
avstp.dll is used to help multithreading for specific filters even if they were used in a single-thread Avisynth environment. Not all filters, only for those that were written to use it.
Quote:
Originally Posted by SnillorZ View Post
Also since the original post I've removed the avstp.dll that @StainlessS pointed me to, found the script runs without it in its latest all x64 form and gives a little more 0.fps without it being loaded.
So turns out I was wrong, back to testing things in vDub, processing hangs (memory leaks/race condition?) and checking as StainlessS told me to do in the first place shows me:

Code:
RemoveDirt 0.9.2
AvstpWrapper: cannot find avstp.dll.Usage restricted to single threading.
SnillorZ is offline   Reply With Quote
Old 7th June 2019, 16:52   #1190  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
The statement applies to the internal multithreading, avisynth-level multithreading is still available. The Removedirt debug output is irrelevant there it just outputs it on its own at each dll load
pinterf is offline   Reply With Quote
Old 7th June 2019, 16:59   #1191  |  Link
GillesH
Registered User
 
Join Date: Dec 2013
Location: France
Posts: 64
Quote:
Originally Posted by pinterf View Post
Perhaps:
SetFilterMTMode("GetDups", MT_SERIALIZED)

Does not work properly = wrong result?
Thanks pinterf.
I just tested and it works with this line MT and Prefetch(4).
And it also works with other associated filters.
Great !
Thank you very much and congratulations for your research.
GillesH is offline   Reply With Quote
Old 13th June 2019, 19:23   #1192  |  Link
SnillorZ
Registered User
 
Join Date: Jan 2019
Location: Lake District UK
Posts: 48
Avisynthesizer AVS

Popping in to x-post from this discussion

and from
Quote:
Originally Posted by StainlessS View Post
I would prefer if somebody else did it, you game ?
to follow up
Quote:
Originally Posted by SnillorZ View Post
All good though, I can get on with some proper work.
to say What a Tool @StainlessS

has provided in the modified Avisynthesizer.

Really helps speed up work, with a little preparation. If like me you end up with a whole heap of scene by scene clips, because a Telecined conversion calls for a more granular approach. (Again to a johnmeyer script ideas on Scene Detection)

Bloody marvelous time saver.

Now looking to see if there is a way to batch resulting avs into a VirtualDub job list automatically (rather than manually one by one).
SnillorZ is offline   Reply With Quote
Old 13th June 2019, 19:37   #1193  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Snillorz,
What is the intended output format (why VDub2, AVI) ?
What bit depth, colourspace, codec ?

EDIT:
MeGUI AutoEncode Batcher:-
https://forum.doom9.org/showthread.p...hlight=Batcher

TWriteAVI (NOT if using MT : EDIT: x86 Only):-
https://forum.doom9.org/showthread.p...ight=TWriteAVI
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 13th June 2019 at 22:40.
StainlessS is offline   Reply With Quote
Old 13th June 2019, 21:55   #1194  |  Link
SnillorZ
Registered User
 
Join Date: Jan 2019
Location: Lake District UK
Posts: 48
Just what I took the time to work out how to use, what works with what, etc, being a noob to this scripted workflow for the 8mm film restoration work.

I'm supposed to be working to a deadline of sorts (self imposed), I'm getting to the point where I figured I need to stop poncing about picking which trainers are slightly better than which and get into the race, so to speak.

I'm not married to VDub though and did have a quick look at MeGUI as a possible solution for one of the challenges (cant remember what now) but decided to swerve it.

Anyway to answer your Q,s - Yes output to avi while using script based tools. Working on the basis of as fewer handling steps and conversions are better until I get to editing at NLE and final content delivery(basing this on my own, probably outdated thinking). I have found that some conversion has been necessary anyway to keep all things happy - mostly the NLE,s tested have complained (something else I've not made a final decision on - used PP before but testing Davincii and Vegas). So ended up YV12 using UT Code with YUV420 .709 which everything seems happy with.
SnillorZ is offline   Reply With Quote
Old 13th June 2019, 22:20   #1195  |  Link
johnmeyer
Registered User
 
Join Date: Feb 2002
Location: California
Posts: 2,691
This thread has sure drifted a long way away from restoring film ...
johnmeyer is offline   Reply With Quote
Old 13th June 2019, 22:48   #1196  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
SnillorZ,

Select your first post related to your specific problems, and ask moderator to move all posts related, to a new thread,
click the little red triangle below the selected 1st post with your name/avatar, and send report to a moderator, ask for new thread, and tell him which is start post, and any posts to omit,
and also new name for your thread.
EDIT: When new thread created, add some kind of "Moved from this thread post #nnnn": Link_to_Post.

Below only for non MT and x86 only I'm afraid, I dont speak assembler. [EDIT: Although no MT allowed, nothing to stop you processing several similar scripts at once, except maybe x86 mem constraints]
Code:
#ASYNTHER BATCH-MY_THINGY
# Batch Mode, multiple AVS files generated.
#FN="___FILE___"        # AvisynthesizerMod BATCH mode usage
####################
FN="D:\Parade.avi"      # use ".\" for current path relative
###
OUTPATH = "D:\OUTPUT\"  # Must exist, include Trailing backslash
FOURCC  = "ULY0"        # Ut_Video, YUV 420 601 TV Levels I think
###
FN=RT_GetFullPathName(FN)
OUTFN = OUTPATH + RT_FilenameSplit(FN,4) + ".AVI"     # 4 = Name node only (no drive/path/extension)
###
#GetSeq(FN)             # Avisynthesizer source
Avisource(FN)
###
########## DO PROCESSING Of SOME SORT ###
# Import("D:\MYSTUFF\GENERIC_PROC_1.avs")             # Generic pre-process script (Affect all template expanded scripts [even already existing ones] with single GENERIC_PROC script edit)

Sharpen(0.3)                                          # Whatever

# Import("D:\MYSTUFF\GENERIC_PROC_2.avs")             # generic post-process script
########## END OF PROCESSING ############
#return last                                          # Comment OUT for final
#########################################
TWriteAVI(OUTFN,Overwrite=true,fourcc=FOURCC)         # Write Sharp AVI whilst clip is played
#return Last                                          # Write File as you play
ForceProcessAVI()                                     # Force Write above TWriteAVI file without playing clip.
Return Colorbars.Subtitle("ALL DONE\nWritten:- "+RT_FilenameSplit(OUTFN,12),size=48,align=5,lsp=0)   # Complete with nice TONE as user attention getter. (12=Name + extension)
##################################
### TWRITEAVI - NOT FOR MT USE ###
###         x86 ONLY           ###
###  x64 Requires Asm progger  ###
##################################
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 14th June 2019 at 09:44.
StainlessS is offline   Reply With Quote
Old 13th June 2019, 23:19   #1197  |  Link
SnillorZ
Registered User
 
Join Date: Jan 2019
Location: Lake District UK
Posts: 48
Quote:
Originally Posted by johnmeyer View Post
This thread has sure drifted a long way away from restoring film ...
Noted.

@StainlessS. Will do, not sure one thread will cover all but ok. Also might end up with a number of orphaned answers from others.

Done

In the mean time @mods feel free to move / remove any posts of mine not considered on topic, wont be offended. Including this one.

Cheers.

Last edited by SnillorZ; 14th June 2019 at 12:32. Reason: Posts reported. Mod request made.
SnillorZ is offline   Reply With Quote
Old 14th June 2019, 18:34   #1198  |  Link
SnillorZ
Registered User
 
Join Date: Jan 2019
Location: Lake District UK
Posts: 48
Avisynth+ Revised x64 Plugins Script Example

......So back on topic

an updated example using the latest variant of the VideoFred / JohnMeyer script from the new x64bit workflow.

Still a work in progress but getting pleasing results from just scripted automation and no by-hand adjustments (yet)


Last edited by SnillorZ; 14th June 2019 at 18:38. Reason: I noized up the URI, so having another go.
SnillorZ is offline   Reply With Quote
Old 14th June 2019, 20:28   #1199  |  Link
bassquake
Registered User
 
Join Date: Jan 2007
Posts: 45
Work in progress...

If anyones interested Ive posted a comparison to original capture as well using John Meyers script which is a variation of Freds script:

https://youtu.be/JMeztmugk08

(Don't know how to embed on here.)

Its been downrezzed to 720p. The final output will be 1440 x 1080.

Shame YouTubes compression is so high but you get the idea.

Was slow to render though. About 0.2fps with a i7-9800K!

Check out the channel on how telecine was done!

@SnillorZ: How was your capturing done?

Last edited by bassquake; 15th June 2019 at 00:00. Reason: Spelling
bassquake is offline   Reply With Quote
Old 16th June 2019, 15:14   #1200  |  Link
SnillorZ
Registered User
 
Join Date: Jan 2019
Location: Lake District UK
Posts: 48
Quote:
Originally Posted by bassquake View Post

(Don't know how to embed on here.)


Was slow to render though. About 0.2fps with a i7-9800K!


@SnillorZ: How was your capturing done?
@bassquake Forum automatically embeds Vimeo hosted only I think.

I had the same issue with processing, managed to get this up around 4-5fps by migrating the scripts to newer versions of the filters and x64bit workflow throughout. Check the last half dozen or so pages for details (Note these have be requested to be moved to a separate thread, so mods may move soon)

Details of the Telecine here
SnillorZ 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 18:57.


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