the params for avisynth can be a bit messy. but most of them share the same structure. avs has a couple of allowed syntax structure so check the
syntex section for more.
i used
avsP, an IDE to experiment. luckily debugging with avs is easy as the error usually show on the video with line number and cause.
[hr]
the resize params are explained
here, in short:
BicubicResize(clip clip, int target_width, int target_height, float b, float c, float src_left, float src_top, float src_width, float src_height)
note we use the expanded syntax which does a cropping and resizing in a single filter.
clip = see below, we still need to specify the clip, (even if we called it before thru animate)
target_width, target_height = this is the target size, in our case its not animated, we want a set size and anyways, avs will complain as you can not animate the size of the master video frame.
b, c = this are internal arguments for the resize filter, its math for the interpolation of the pixels, i consolte the documentation and leave them at default.
src_left, src_top =
this is what we animate, the src_top will change from 24200 to 0 over the length of the video.
src_width, src_height = also frozen, same as target size. we only care for the src_top.
and so we get the two following extreams. animte will move linearly between them
BicubicResize(pan,600,800,0.33,0.33,0,24200,600,800)
BicubicResize(pan,600,800,0.33,0.33,0,0 ,600,800)
[hr]
the animate params are explained
here, in short:
Animate(clip clip, int start_frame, int end_frame, string filtername, start_args, end_args)
clip = is the clip we are working on, in my example i dont specify it as avs will use the last clip by default. there is even a reserved word for it,
last. so for example, if you want to get one of its properties you can use
last.height or
last.width.
start_frame, end_frame = the range on which we work on, also will set the speed of the transition. i set it to zero for start_frame and
length (a user defined var) for the end_frame.
filtername = this is the filter we use, like "resize" or "crop" or whatever, i originally tried using crop, but i was
advised to use resize as it uses different kinds of pixel interpolation for smoother, better looking result.
start_args, end_args = this are the start arguments and end arguments for the filter we animate. i usually comment out the Animate filter and first try applying the filter by its own, then i just copy the params into this field.
[hr]
CoronaSequence is an external filter so its not covered in the wiki, see original post for more on its syntex, in my orginal script i didn't set anything apart from the clip name, which proved to be a problem as the default length of CoronaSequence clip is 1501 and i couldn't understand why all my efforts ended in a video with that length, so i explicitly set its length to whatever speed i want the effect to run, using the
stop var.
note- i used
media player classic for preview as virtualdub couldn't handle the original 25,000 height.
note2- the smooth effect of this pan cannot be experienced on a video preview, you have to "bake" it to video as my machine couldn't handle it unless i veiwd it on a frame by frame basis. ymmv
Steve David, if you have any more questions, please, your work has been invaluable to me, and to the community!