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 19th December 2005, 11:16   #1  |  Link
Mug Funky
interlace this!
 
Mug Funky's Avatar
 
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
automated framedrop filler script :)

yo, i just got a clip that i was meant to put a slowmo on (using clouded's script), and found that it was full of dropped frames which were b0rking the motion-interpolation.

so i wrote a little function to replace all frames that are identical to the previous one with a motion-interpolation of the adjacent frames. it could be useful for captures that you can't get again, but are full of drops (this one's got heaps... i odn't know what happened there).

Code:
function filldrops (clip c)
{
vf=c.mvanalyse(truemotion=true,pel=2,isb=false,delta=1,idx=1)
vb=c.mvanalyse(truemotion=true,pel=2,isb=true,delta=1,idx=1)
global filldrops_d = c.mvflowinter(vb,vf,time=50,idx=1)
global filldrops_c = c
c.scriptclip("""ydifferencefromprevious()==0? filldrops_d : filldrops_c""")

}
usage:

xxxsource("blah.xxx")

filldrops()


currently it doesn't support interlaced frames (though that would be quite handy, and very do-able, but i don't care enough right now).

hope someone finds a use for this

[edit]

oh, forgot to say (but it's kinda important...) that this requires fizick's latest version of manao's MVtools. you can get it from http://bag.hotmail.ru

[edit 2]

thanks Didée, i just put your changes in.
__________________
sucking the life out of your videos since 2004

Last edited by Mug Funky; 28th January 2006 at 04:11.
Mug Funky is offline   Reply With Quote
Old 19th December 2005, 11:43   #2  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,394
Why took it one year and a half to make this appear?

BTW, those not equipped with that much memory might add
Code:
[...]
vf=c.mvanalyse(truemotion=true,pel=2,isb=false,delta=1, idx=1)
vb=c.mvanalyse(truemotion=true,pel=2,isb=true,delta=1, idx=1)
global filldrops_d = c.mvflowinter(vb,vf,time=50, idx=1)
[...]
to reduce memory usage, and gain speed as well.

In case other MVTools-based operations are running in the same script, eventually use another positive number for idx ... it must be unique for each instance where MVTools are working on a given instance of input.
In this case here, without specifying "idx", MVTools would interpolate the input stream three times, and would buffer all three interpolations as well ... but they're all the same.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 19th December 2005, 13:52   #3  |  Link
Mug Funky
interlace this!
 
Mug Funky's Avatar
 
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
thanks for the tip i've been getting increasingly lazy in my scripts lately, and tend to just fall back on presets for everything.

so long as it works in concept
__________________
sucking the life out of your videos since 2004
Mug Funky 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 22:03.


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