View Single Post
Old 30th October 2007, 19:34   #1  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
(fast ?) Rotation plugin

I developed and released new simple Rotate plugin.

Rotate plugin makes frames rotation on any given angle.

It may be used for perspective correction of amateur films or for special effect. Avisynth internal functions TurnLeft and TurnRight can rotate image on 90 degrees only. The Rotate plugin is faster than Zoom plugin and produces better quality images (IMO). Implemented Alan Paeth's method of bitmap rotation by means of 3 shears. Pixel (linear) interpolation is used at every shear. Size (scale) and aspect ratio of source picture are preserved.

Based on rotation code from:
http://treskunov.net/anton/Software/..._function.html

Syntax and parameters of version 1.1:

Rotate (clip, float "angle", int "width", int "height", int "color")

first parameter is the source clip.

angle is rotation angle in degrees clock wise. Default 0.

width and height is size of destination output image. Default 0 is to be equal to input clip size.

color is background color of part of clip. Integer or hex or global color constant like color_gray (see colors_rgb.avsi). Default 0 (color_black).

Color formats: RGB32 (fast MMX), YV12 (not optimized)

IMO, rotation filter should be Avisynth internal filter, but I am not sure about implementation

Speed and bug reports are welcome as well as algo discussion.
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.

Last edited by Fizick; 30th October 2007 at 19:39.
Fizick is offline   Reply With Quote