Simple VDub Filters

From Avisynth wiki
Jump to: navigation, search

Since it's necessary that it be loaded after vdub_filters.avsi, it might be best to leave it out of the plugins (autoloading) directory.

##############################################################
# This file provides some simplied versions of Avisynth      #
# interfaces to various VirtualDub plugins which can be      #
# found in "vdub_filters.avs". Load it in your script with:  #
#                                                            #
#   Import("simplified_versions.avs")                        #
#                                                            #
# _AFTER_ you have loaded "vdub_filters.avs" in your script. #
#                                                            #
# Version 1.4, 06-26-2002;                                   #
# sent remarks to w.j.dijkhof@tue.nl                         #
##############################################################


#####################################################################################################
# Zoom by Donald Graft and Avery Lee, v1.2                                                          #
#                                                                                                   #
# What this adjusted version does is the following:                                                 #
# Given the focus point (focusX,focusY) it makes a smaller clip (with size: (2*(w-focusX),2*focusY) #
# including black boundaries to get the original resolution) starting when zooming in and ending    #
# after zooming out. Starting at frame "start_frame" is zooms in to "perc" percent at "end_frame"   #
# and zooms out again starting at frame "start2_frame" and ending at frame "end2_frame".            #
#                                                                                                   #
# The width and heigth of the original clip needs to be even.                                       #
# mode = "neighbour", "bilinear", "bicubic", "p_bilinear" or "p_bicubic."                           #
#####################################################################################################

function VD_Zoom2(clip clip, int "focusX", int "focusY", int "perc", int "start_Frame", 
  \  int "end_frame", int "start2_Frame", int "end2_frame", string "mode")
{
  w = width(clip)
  h = height(clip)
  w2 = 2*(w-focusX)
  h2 = 2*focusY
  video1 = trim(clip,0,start_frame-1)
  video2 = trim(clip,start_frame,end2_frame)
  video3 = trim(clip,end2_frame+1,framecount(clip)) 
  video4 = VD_Zoom(video2, w2, h2, focusX, focusY, 100, perc, 0, end_frame-start_frame, 0, 0, 0,
    \  mode, perc, 100, start2_frame-start_frame, end2_frame-start_frame)
  video5 = addborders(video4,(w-w2)/2,(h-h2)/2,(w-w2)/2,(h-h2)/2)
  return video1+video5+video3
}

# example (original resolution of 512x384, 300 frames):
# ConvertToRGB()
# VD_Zoom2(384,80,300,134,144,154,164,"p_bicubic")
# ConvertToYUY2()


###################################################################
# Logo by Donald Graft, v1.3b4                                    #
#                                                                 #
# In the filter configuration dialog box, enter the input file.   #
# If the specified bitmap file cannot be found, or if it is not   #
# a bitmap file, or if it is of the wrong depth (depth must be 24 #
# bit), the output frame will be all black.                       #
#                                                                 #
# These scripts and pictures (in recu.zip) are provided by Pko.   #
###################################################################

# Simplified versions of the interface to facilitate manipulation
# For animated logo in a static position

function RE(clip clip, int "h", int "v", int "start", int "loops", string "filename") 
{
  return clip.VD_Logo(default(h,0), default(v,0), 128, 1,
    \  0, 0, 0, 0, default(filename,"G:\Recu0001.bmp"),
    \  1, default(start,0), 1, default(loops,1),
    \  0, 0, 0)
}

# For moving a static logo across the screen

function MV(clip clip, int "h", int "v", int "start", int "duration", string "filename") 
{
  return clip.VD_Logo(default(h,0), default(v,0), 128, 1, 
    \  0, 0, 0, 0, default(filename,"G:\Recu0001.bmp"), 
    \  0, default(start,0), default(duration,0), 0,
    \  0, 0, 0)
}

# example:
# This shows an animated translucid box (contained in "Recu0001.bmp"
# to "Recu0011.bmp") across the screen in 10 different positions
# also moves a static version of the box from position to position.
# 
# Note that this will be a real test for your computer :) 
# The clip must a least be 2940 frames long and at least
# 480x480.
#
# RE(33,33,0,20)
# animate(240,300,"MV",33,33,240,1,117,33,300,1)
# RE(117,33,301,20)
# animate(540,600,"MV",117,33,540,1,201,33,600,1)
# RE(201,33,601,20)
# animate(840,900,"MV",201,33,840,1,285,33,900,1)
# RE(285,33,901,20)
# animate(1140,1200,"MV",285,33,1140,1,369,33,1200,1)
# RE(369,33,1201,20)
# animate(1440,1500,"MV",369,33,1440,1,33,369,1500,1)
# RE(33,369,1501,20)
# animate(1740,1800,"MV",33,369,1740,1,117,369,1800,1)
# RE(117,369,1801,20)
# animate(2040,2100,"MV",117,369,2040,1,201,369,2100,1)
# RE(201,369,2101,20)
# animate(2340,2400,"MV",201,369,2340,1,285,369,2400,1)
# RE(285,369,2401,20)
# animate(2640,2700,"MV",285,369,2640,1,369,369,2700,1)
# RE(369,369,2701,20)
Personal tools