View Single Post
Old 19th January 2018, 01:12   #45  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
hi Gavino

is there some way to avoid crash in theses cases with GRunT?

Code:
function SFrameBlendX(clip C, int "blendfactor", string "blend_mode", float "blend_opacity")
{
    global SFrameBlendX_blend_mode=blend_mode
    global SFrameBlendX_blend_opacity=blend_opacity
    C
    limit = (blendfactor<=0) ? 1 : Max(1, FrameCount/blendfactor)
    global SFrameBlendX_limit = limit
    FrameCount!=1 ? ScriptClip("""
  try{bb=isclip(b)} catch(error_msg) {bb=false}
  b = bb ? SFrameBlendX_limit>1 ? Overlay(b.Loop(2,0,0),last,opacity=float(SFrameBlendX_limit)/FrameCount) : b.Loop(2,0,0) : nop()
  b = bb ? b.Overlay(last, mode=SFrameBlendX_blend_mode, opacity=SFrameBlendX_blend_opacity) : last
  return b
            """) : last
}
SFrameBlendX(5,"lighten")

more information https://forum.doom9.org/showthread.p...49#post1829149

it use same method of https://forum.doom9.org/showthread.p...77#post1188377

but the problem seems that the frames from previous didn't ever clean up so it will crash after use all ram, the problem can't be seen in Srestore or any MOmonster function since they not do this with clips so seems ram will not be full easily

so, is there any method/idea/update to clean/limit theses data from previous frames process?

like

Code:
GScriptClip(last, """
global prev = curr
global curr = next
global next = AverageLuma(last.trim(1,0))
...outputclip...
""", limit=5)
or

Code:
GScriptClip(last, """
global prev = curr
global curr = next
global next = AverageLuma(last.trim(1,0)).runtimecleanup(5)
...outputclip...
""")
or anything suitable
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote