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. |
|
|
#222 | Link |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,389
|
Thanks Wonkey, I had just spotted that myself, Not sure if PostImage slips in the odd advert into its links, I've seen the same thing at least once before.
Fixed.
__________________
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; 12th March 2019 at 23:58. |
|
|
|
|
|
#223 | Link |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,389
|
NumCommandProcessor() v1.02
Code:
# NumCommandProcessor.avsi
NumCommandProcessor(), v1.02 by StainlessS @ Doom9 : https://forum.doom9.org/showthread.php?p=1870956#post1870956
Call some clip function with int command args taken from a Command String or File.
Can write/append generated commands to Logfile for further hand edit and frameserve with raw log commands and without NumCommandProcessor.
Required:-
RT_Stats v1.43+ [(c) StainlessS]
Avs+ [(c) Ultim, Pinterf & others], OR GScript [(c) Gavino].
NumCommandProcessor(clip c, String CMD,String CmdFunc,Int "NumMax"=c.Framecount-1,Int "NumMaxStep"=0,Bool "Reverse"=False,Bool "Debug"=True,String "LogFile"="",Bool "LogAppend") : returns result clip
Two modes of operation governed by CmdFunc string,
1 ) EMBEDDED single Number, eg "DeleteFrame(%d)" where Commands in CMD(String or File) must be single integer number only, no ranges allowed.
'%d' in above string is the insertion point for the integers read from CMD String or File.
If CmdFunc function is some kind of Delete or Insert function eg DeleteFrame or DuplicateFrame or RemovePixelRow or etc, then assuming the CMD string/file
integers are in ascending order, then should set Reverse=True, as when deleting/inserting something, higher number eg frames will move by 1 place due to the deleted/inserted frame/pixelRow.
In addition, if eg deleting frames, then should also set NumMaxStep=-1, to reduce the frame count so that validation check is decremented after each frame deleted.
If CmdFunc is some kind of Insertion function eg "DuplicateFrame(%d)" then should set NumMaxStep=1 as frame count will grow at every frame duplicate insertion.
If ANY kind of EMBEDDED non frame style function, eg "RemovePixelRow(%d)" then MUST set NumMax = c.Height-1 to validate cmd integers against height, and if eg
"RemovePixelColumn(%d)" then set NumMax = c.Width-1 (assuming that your clip is called c).
2 ) APPLYRANGE (NON-EMBEDDED), eg "Blur(1.58,1.58)" [NO insertion point ie no embedded '%d'].
In this mode, the CmdFunc is applied using ApplyRange with the numbers obtained from the CMD string/file (Can be single frame or range).
NEITHER of the above modes are of any use for trimming a clip, if you require command file for trimming ranges see
FrameSel Plugin (Especially SelectRanges.avs, which also requires Prune if trimming audio)
FrameSel:- https://forum.doom9.org/showthread.php?t=167971&highlight=FrameSel
Prune:- https://forum.doom9.org/showthread.php?t=162446
FrameSel SelectRanges.avs allows for Either Selecting or Rejecting command frames/ranges.
CMD, If First character is an Asterisk(*) then is interpreted as a multiline Command String of command numbers[one number/range per line], Otherwise a FileName of command numbers.
EMBEDDED mode allows only single Integers in CMD, whereas APPLYRANGE mode allows for 1 (frame) or 2 (range) on any command line.
Best if numbers/ranges in ascending order, and non overlapping ranges suggested (but not enforced).
CmdFunc, Function Name and optional positional insertion marker '%d' where the command number will be inserted, eg "DeleteFrame(%d)".
Do not include source clip, uses Last as in "DeleteFrame(%d)" or "Blur(1.58,1.58)".
See previously noted EMBEDDED and APPLYRANGE (NON-EMBEDDED) modes.
Do not use more than 1 insertion marker, it will produce error alert (there are no checks).
NumMax, Default c.FrameCount-1.
Maximum possible valid command number for validation, eg if "DeleteFrame(%d)" then use c.FrameCount-1, or for "RemovePixelRow(%d)" then c.Height-1,
For "RemovePixelColumn(%d)" use c.Width-1, etc (assuming that your clip is called c).
For APPLYRANGE (Non-EMBEDDED) mode, always set as as Default c.FrameCount-1.
NumMaxStep, Default 0. (Range: -1, or 0, or 1 ONLY)
Adjustment to NumMax validation check after some EMBEDDED mode delete or insert style CmdFunc,
eg use NumMaxStep=-1 for "DeleteFrame(%d)" or "RemovePixelRow(%d)" and NumMaxStep=1 for "DuplicateFrame(%d)" or "DuplicatePixelRow(%d)".
NOT USED in APPLYRANGE mode.
Reverse, Default False. If True, then Process CMD list of numbers in reverse order, from bottom of list to top, Else from top to bottom.
If eg Deleting or Inserting frames, then after each operation, all frames above would change their frame number, so must do in reverse order.
Probably does not really matter in APPLYRANGE mode unless ranges overlap (which they really should not).
Debug, Default True. Send Func calls to DebugView as each are called (Google DebugView) .
LogFile, Default "" ie No Log file. Give it a Filename to Produce log of commands used.
LogAppend, Default False. Only valid if LogFile!="". If True, then Append to existing Logfile, else Delete existing Logfile at Start.
LogFile and LogAppend, allow you to 'Collect' a bunch of generated commands for perhaps further hand edit, using NumCommandProcessor
just to generate a template with correct frames/ranges (including Reverse order if necessary, and validating ranges),
then make small adjustments eg Change Subtitle text or colors for one off adjustment.
Returns result clip after all commands executed, ALL processing of frames/ranges done before frame serving commences.
Eg >>>>>>>>>>>>>>>>>>>>>>>>>>>
Import(".\NumCommandProcessor.avsi")
Import(".\NumCommandUtility.avsi")
Import(".\PixelRemDup.avsi")
Colorbars(Width=1024,Height=768).KillAudio.ConvertToYV24.ShowFrameNumber
CMD="""* # <<<<<<<========== If 1st Character is Asterisk/Star ['*'] Then is a Command String, ELSE is a FileName.
100
200
300
400
500
"""
#CMD="CMD.txt" # Alternate use where numbers in File (same format)
RANGECMD="""* # <<<<<<<========== If 1st Character is Asterisk/Star ['*'] Then is a Command String, ELSE is a FileName.
100 149
200, 299
400
500 ,599
"""
#RANGECMD="RANGECMD.txt" # Alternate use where numbers in File (same format)
LOGFILE="MyLog.Log" # APPEND All to Log (Default="" ie not used)
LOGAPPEND=TRUE # APPEND All to Log (Default=FALSE, ie Delete LOG at start)
############################
## Pick One of below to Return, comment out others (Reverse assumes that CMD/RANGECMD are in ascending order)
## EMBEDDED mode frame Deletion / Insertion (Using CMD)
Return NumCommandProcessor(CMD,"DuplicateFrame(%d)",NumMaxStep=1,Reverse=True,LogFile=LOGFILE,LogAppend=LOGAPPEND).Info # Embedded, Insertion so REVERSE=True and NumMaxStep=1
#Return NumCommandProcessor(CMD,"DeleteFrame(%d)",NumMaxStep=-1,Reverse=True,LogFile=LOGFILE,LogAppend=LOGAPPEND).Info # Embedded, Deletion so REVERSE=True and NumMaxStep=-1
## APPLYRANGE modes (Using RNGCMD) NO Optional names allowed, and ALL (used) args in proper order (ApplyRange requirement).
#Return NumCommandProcessor(RANGECMD,"FlipVertical",LogFile=LOGFILE,LogAppend=LOGAPPEND).Info # APPLYRANGE, Accept Defaults, Frame or Range Commands
#Return NumCommandProcessor(RANGECMD,"FlipHorizontal",LogFile=LOGFILE,LogAppend=LOGAPPEND).Info #
#Return NumCommandProcessor(RANGECMD,"Blur(1.58,1.58)",LogFile=LOGFILE,LogAppend=LOGAPPEND).Info #
#Return NumCommandProcessor(RANGECMD,"Sharpen(1.0,1.0)",LogFile=LOGFILE,LogAppend=LOGAPPEND).Info #
#Return NumCommandProcessor(RANGECMD,"Levels(24,1.2,220,16,235,false)",LogFile=LOGFILE,LogAppend=LOGAPPEND).Info # NO Optional names allowed, and in order.
#Return NumCommandProcessor(RANGECMD,"""MySub("Hello, World!","Ariel",64,$FF5555,$0,5)""",LogFile=LOGFILE,LogAppend=LOGAPPEND).Info # NO Optional names allowed, and in order.
## EMBEDDED pixel row/col Delete/Insert. (Using CMD)
## Assumes that you have RemovePixelRow, RemovePixelColumn, DuplicatePixelRow, and DuplicatePixelColumn script functions.
#Return NumCommandProcessor(CMD,"DuplicatePixelRow(%d)",NumMax=Height-1,NumMaxStep=1,Reverse=True,LogFile=LOGFILE,LogAppend=LOGAPPEND).Info # Embedded, Insertion so REVERSE=True and NumMaxStep=1
#Return NumCommandProcessor(CMD,"RemovePixelRow(%d)",NumMax=Height-1,NumMaxStep=-1,Reverse=True,LogFile=LOGFILE,LogAppend=LOGAPPEND).Info # Embedded, Deletion so REVERSE=True and NumMaxStep=-1
#Return NumCommandProcessor(CMD,"DuplicatePixelColumn(%d)",NumMax=Width-1,NumMaxStep=1,Reverse=True,LogFile=LOGFILE,LogAppend=LOGAPPEND).Info # Embedded, Insertion so REVERSE=True and NumMaxStep=1
#Return NumCommandProcessor(CMD,"RemovePixelColumn(%d)",NumMax=Width-1,NumMaxStep=-1,Reverse=True,LogFile=LOGFILE,LogAppend=LOGAPPEND).Info # Embedded, Deletion so REVERSE=True and NumMaxStep=-1
<<<<<<<<<<<<<<<<<<<<<<<<<<<
__________________
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; 6th April 2019 at 21:24. |
|
|
|
|
|
#225 | Link |
|
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,828
|
You can always start exploring from the last post...
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
|
|
|
|
|
#228 | Link |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,389
|
This thread is monitored by RSS feeds all over the world (for new plugs).
sadly, whenever anybody posts some inane remark, the feeds also get that too, (like this inane remark)
__________________
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 ??? |
|
|
|
|
|
#229 | Link |
|
Registered User
Join Date: Sep 2006
Posts: 1,678
|
I thought the main purpose of this thread is to have a place for people who're looking for plugins to find them easily in a list with brief descriptions on the first post, like a wiki. And the fact that people were posting their new plugins here is to have them added to the first post so others can find them easily. Having regular users digging up the thread looking for plugin themselves completely defeated the purpose.
|
|
|
|
|
|
#230 | Link | |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,389
|
Quote:
At time when this thread was new, OP could handle a few new plugs and add to first post, but as gets bigger, then can no longer do that, posts in Usage forum have max post size of 16KB, so when at max, can no longer expand (even if enthusiasm to do so has not died). .
__________________
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; 8th April 2019 at 23:21. |
|
|
|
|
|
|
#231 | Link |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,389
|
problem where eg dll has been downloaded from another computer or internet, and is blocked by the system because of this, you need to remove NTFS Alternate Data stream for the file.
Problem already posted about here[and some dozen posts following it]:- http://forum.doom9.org/showthread.ph...71#post1837271 ![]() Solution, can Unblock via file Properties[as shown by above image arrow] , or use SysInternals Streams.exe or easiest found so-far is to use NirSoft "AlternateStreamView" which allows mass removal via "Delete Selected Streams" menu option. AlternateStreamView:- https://www.nirsoft.net/utils/altern...a_streams.html Below showing the Zone.Identifier Data that needs removal. ![]() NOTE, some of Nirsoft tools may flag an Antivirus warning about PUP's (potentially unwanted programs), as many of its utils are sys fix tools to show passwords and such. All Nirsoft tools are hi quality top notch tools and are nothing whatever to worry about [EDIT: So long as you download direct from NirSoft]. EDIT: After scanning all my drives, I found I had hundreds [if not thousands] of blocked files. EDIT: Files are so blocked for your protection, only unblock if you think they are safe [non-malware]. EDIT: To STOP all downloaded files from being blocked by system, under XP with GpEdit.msc, [Group Policy Editor]. Code:
gpedit.msc
User Configuration > Administrative Templates > Windows Components > Attachment Manager
Enable: "Do not preserve zone information in file attachments"
For a easy removal of multiple Alternate Data Streams, can move all files to FAT32 partition [FAT32 dont support alternate data streams] and then move them back again. EDIT: Below, Registry edit for fixing the problem [folder contents]. Folder: "STOP_DownloadedFileBlocking" File: "!!! ENABLE Switches OFF file blocking !!!" [empty text file for info only] File: "ENABLE_DoNotPreserveZoneInformationInFileAttachments_(FileBlockingIsDisabled).reg" Code:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments] "SaveZoneInformation"=dword:00000001 File: "DISABLE_DoNotPreserveZoneInformationInFileAttachments_(FileBlockingIsReEnabled).reg" Code:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments] "SaveZoneInformation"=dword:00000000
__________________
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; 23rd January 2023 at 20:55. |
|
|
|
|
|
#232 | Link |
|
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
I second that, they have very useful tools.
__________________
Groucho's Avisynth Stuff |
|
|
|
|
|
#233 | Link |
|
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
SysInfo plugin
Not exactly a new Avisynth plugin but I'll post it here anyway:
This plugin returns info about OS/CPU/Memory/Screen/etc. ![]() Details in its dedicated thread.
__________________
Groucho's Avisynth Stuff Last edited by Groucho2004; 7th August 2019 at 17:20. |
|
|
|
|
|
#234 | Link |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,389
|
Function to estimate required rFactor for Nnedi3_RPow2() upscale function.
(Purpose is to enable automated decision for rFactor without human intervention.) Code:
Function Estimate_Nnedi3_Rpow2(clip c,Int OutW,Int OutH, Float "Th"=Sqrt(2.0),Bool "Debug"=False) # https://forum.doom9.org/showthread.php?t=176437
Requires:- RT_Stats if DEBUG==True, else no requirements.
Estimate required rfactor for nnedi3_rpow2() based on greatest output dimension (OutW or OutH)
Returns Int, 1(dont use nnedi3_rpow2), or 2^(1->10).
c, Input clip, used to obtain input frame size.
OutW, Output resize clip Width.
OutH, Output resize clip Height.
Th, Default sqrt(2.0) ~ 1.4142 (range 1.0 <= Th <= 2.0), choice threshold.
Th=1.0 : Always upscale twice as much as required [DONT USE]
Th=1.5 : Produces rfactor that when upscaled greatest dimension is at least 50% greater than that produced by next lower rfactor (if that makes sense).
eg, out c.Width is biggest = 100, and Th = 1.5, then
result = 1 if OutW < 150 and 2 if OutW >= 150.
result = 2 if OutW < 300 and 4 if OutW >= 300.
result = 4 if OutW < 600 and 8 if OutW >= 600.
result = 8 if OutW < 1200 and 16 if OutW >= 1200.
Th=1.1 : eg, out c.Width is biggest = 100, and Th = 1.1, then (10% greater)
result = 1 if OutW < 110 and 2 if OutW >= 110.
result = 2 if OutW < 220 and 4 if OutW >= 220.
result = 4 if OutW < 440 and 8 if OutW >= 440.
result = 8 if OutW < 880 and 16 if OutW >= 880.
Th=2.0 : Never upscale enough [DONT USE]
Debug, Default False. When true return Messageclip with some debug info, else return Int rFactor result.
Code:
BlankClip(width=100,height=100) Estimate_nnedi3_rpow2(600,600,1.5,Debug=TRUE) Return Last ![]() Default Th=SqRt(2.0), Assuming both dimensions equally scaled and upscaling between 1.0 and 2.0 times, then SqRt(2.0) threshold is broken when Input clip is to be doubled in Area. Similar decision when deciding between rFactor of 2 and 4, 4 and 8, etc. Home thread here:- https://forum.doom9.org/showthread.php?t=176437
__________________
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; 22nd May 2019 at 14:48. |
|
|
|
|
|
#235 | Link | ||
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,389
|
For the few of you Math Monsters on-site (many probably know bout these already),
Free Stuff: MicroSoft Mathematics, From WikiPedia:- https://en.wikipedia.org/wiki/Microsoft_Mathematics Quote:
x86 and x64 version, XP compatible, M$ Download:- https://www.microsoft.com/en-us/down...px?id=15702#tm EigenMath:- http://www.eigenmath.org/ Quote:
![]() ![]() ![]() Script Code:
y=1/3x^2 y ![]() EDIT: EigenMath executable is only 570KB, expanded entire folder incl PDF docs and tutorial video ~ 4.5MB. (Very small in comparison to similar type programs). Non install, easily portable.
__________________
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; 12th June 2019 at 19:02. |
||
|
|
|
|
|
#236 | Link |
|
Formerly davidh*****
Join Date: Jan 2004
Posts: 2,788
|
Info2, a replacement for the built-in Info() filter:
![]() https://forum.doom9.org/showthread.php?p=1878222 |
|
|
|
|
|
#238 | Link |
|
Registered User
Join Date: Jan 2012
Location: Toulon France
Posts: 252
|
Hello,
This new script brings the RGBAdapt plugin an automatic mode to achieve the white balance. The default white balance results from the combination of gain, contrast, average, gamma (rpow) and gamma correction with S (spow) curve on each color channel. The correction in agreement with the gray-world theory results from the combined action of a correction of bias and a correction of rpow, the second treating the part not taken into account by the first one. The script calculates for each image the proportion of work done by each process. Finally a spow correction (S curve) is added. The data used to calculate these corrections, ie the average, maximum and minimum values of the color channels, do not allow a continuous description of the histogram curve of the three basic colors, so they are not sufficient to choose the inflection point of the S curve. By default, the script proposes for each channel, an inflection centered on its average value. For a little disturbed movie, this solution may be satisfactory, but in general, you will need to adjust the spmid of each channel by watching the movie. Script here https://forum.doom9.org/showpost.php...8&postcount=60 |
|
|
|
|
|
#240 | Link | ||
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,389
|
SpotLess(), new de-spotting script filter.
Script filter to remove Spots and noise using mvTools2 and Medianblur2. Copes with spots on multiple consecutive frames, setting RadT accordingly. Based on an idea by Didée. Mvtools2/MedianBlur2 by Pinterf, so AVS+ colorspace and x64 compatible. Chosen function name would seem to be a very good choice, not perfect, but very nearly is. Adjective: spotless 1) Completely neat and clean Quote:
Quote:
Home Thread here:- https://forum.doom9.org/showthread.php?t=181777
__________________
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; 25th August 2020 at 04:41. |
||
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|