View Single Post
Old 17th January 2020, 07:22   #467  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Can only suggest to do in two chunks.
1st 2000, in two passes, save result.
remainder, in two passes, save result.
Join together.

(There could be a way to do the lot in single script using TWriteAvi:- https://forum.doom9.org/showthread.p...ight=TWriteAVI
but would need to do a pair of double passes, with first half filename for FirstHalf_pass1, FirstHalf_pass2, and second half filename for SecondHalf_pass1, SecondHalf_pass2.
Also need two sets of args for Deshaker.
TWriteAVI, cannot not use avs MT and x86 only - TwriteAVI contains old Vdub code incl a little bit of assembler, I dont do x86/x64 assembler)

EDIT:
Basic two pass script (only for normal single use)
Code:
WhateverSource(...)
A_Two_Pass_Function(Pass=1) # Create some kind of deshaker log or whatever.
ForceProcessAVI()           # Force Pass 1, creating log (A function From TWriteAVI plug)
A_Two_Pass_Function(Pass=2) # Use created log
return Last  # 2nd pass when you play/save clip.
First suggestion will probably be less hassle.

EDIT: Double chunks something like
Code:
WhateverSource(...)
Clip1 = Trim(0,-2000) # 2000 frames
File1="D:\File1.txt"
Clip2 = Trim(2000,0) # remainder
File2="D:\File2.txt"
Clip1.A_Two_Pass_Function(Pass=1,LogFile=File1)
ForceProcessAVI()           # Clip1, Force Pass 1
Clip2.A_Two_Pass_Function(Pass=1,LogFile=File2)
ForceProcessAVI()           # Clip2, Force Pass 1
Result1 = Clip1.A_Two_Pass_Function(Pass=2,LogFile=File1) # Clip 1 Pass 2
Result2 = Clip2.A_Two_Pass_Function(Pass=2,LogFile=File2) # Clip 2 Pass 2
return Result1++Result2
__________________
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; 17th January 2020 at 07:46.
StainlessS is offline   Reply With Quote