Filter SDK

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (1 revision)
Line 7: Line 7:
 
* SimpleSample plugin source codes;
 
* SimpleSample plugin source codes;
 
* may be some extra files in 'Extra' folder.
 
* may be some extra files in 'Extra' folder.
 +
 +
== Necessary software ==
  
 
You must have some [[Filter_SDK/SDK_necessaries|necessary software]].
 
You must have some [[Filter_SDK/SDK_necessaries|necessary software]].
  
[[Filter_SDK/Ben_docs|Ben's AviSynth Docs]] is the documentation written for AviSynth 1.0 by Ben Rudiak-Gould, in its original form.
+
== Writing a plugin ==
  
See more about the modifications for AviSynth 2.5 in the [[Filter_SDK/Two-Five_SDK|AviSynth Two-Five SDK]].
+
We will start by writing some simple plugins to you the show basics.
  
Also, [[Filter_SDK/Simple_sample|Simple sample]] has some very simple examples covering development of a filter that does virtually nothing through to one that draws a variable sized square, in the middle of the screen, in all [[Color_spaces|Color spaces]].
+
=== Processing video ===
  
One thing not covered in [[Filter_SDK/Simple_sample|Simple sample]], is how to [[Filter_SDK/Change_frame_size|change frame size]] in a filter. Also have a look at [[Filter_SDK/Getting_started_with_audio|Getting started with Audio]].
+
* InvertNeg produces a photo-negative of the input clip.
 +
* SimpleSample has some very simple examples covering development of a filter that draws a variable sized square, in the middle of the screen. It does so n all Color spaces.
 +
 
 +
One thing not covered in [[Filter_SDK/Simple_sample|Simple sample]], is how to [[Filter_SDK/Change_frame_size|change frame size]] in a filter.
 +
 
 +
=== Processing audio ===
 +
 
 +
* xxx
 +
 
 +
Also have a look at [[Filter_SDK/Getting_started_with_audio|Getting started with Audio]].
 +
 
 +
=== Runtime functions ===
  
 
See [[Filter_SDK/Non-clip_sample|Non-clip sample]] how to create runtime AviSynth functions.
 
See [[Filter_SDK/Non-clip_sample|Non-clip sample]] how to create runtime AviSynth functions.
 +
 +
=== Speeding up your plugin using assembler ===
 +
 +
You can also browse various topic on [[Filter_SDK/Assembler_optimizing|Assembler Optimizing]].
 +
 +
== The plugin api's ==
  
 
There are several different Colorspaces in AviSynth. See more information about [[Color_spaces|Color spaces]] and [[Filter_SDK/Working_with_images|Working with Images]].
 
There are several different Colorspaces in AviSynth. See more information about [[Color_spaces|Color spaces]] and [[Filter_SDK/Working_with_images|Working with Images]].
Line 24: Line 43:
 
Read more about the [[Filter_SDK/Internal_functions|Internal Functions]] in AviSynth.
 
Read more about the [[Filter_SDK/Internal_functions|Internal Functions]] in AviSynth.
  
You can also browse various topic on [[Filter_SDK/Assembler_optimizing|Assembler Optimizing]].
+
Read everything about the plugin api's: http://avisynth.nl/index.php/User:Admin/Filter_SDK
  
Once you've got the basics down on AVS development (Ben's text is quite good), the [http://virtualdub.org/filtersdk SDK] for [[VirtualDub]] is also a good read.  Good news is you won't have to worry about writing [http://function-pointer.org function pointers] and [http://www.charlespetzold.com/pw5/index.html raw Win32]; meanwhile, Avery knows his stuff when it comes to video & CPU optimization techniques, so you better pay attention.
+
== Some history ==
  
Some video related ebooks (PDF) can be downloaded freely from [http://www.snellwilcox.com/reference.html Snell & Wilcox].
+
[[Filter_SDK/Ben_docs|Ben's AviSynth Docs]] is the documentation written for AviSynth 1.0 by Ben Rudiak-Gould, in its original form.
 +
 
 +
See more about the modifications for AviSynth 2.5 in the [[Filter_SDK/Two-Five_SDK|AviSynth Two-Five SDK]].
  
 
Please read AviSynth [[Filter_SDK/SDK_history|SDK History]].
 
Please read AviSynth [[Filter_SDK/SDK_history|SDK History]].
 +
---
 +
 +
== Other sources ??? ==
 +
 +
Once you've got the basics down on AVS development (Ben's text is quite good), the [http://virtualdub.org/filtersdk SDK] for [[VirtualDub]] is also a good read.  Good news is you won't have to worry about writing [http://function-pointer.org function pointers] and [http://www.charlespetzold.com/pw5/index.html raw Win32]; meanwhile, Avery knows his stuff when it comes to video & CPU optimization techniques, so you better pay attention.
 +
 +
Some video related ebooks (PDF) can be downloaded freely from [http://www.snellwilcox.com/reference.html Snell & Wilcox]. edit - http://www.snellgroup.com/support/documentation/engineering-guides this???
 +
  
----
+
== License terms ==
 
   
 
   
 
Note: Avisynth Filter SDK parts are under specific [[Filter_SDK/SDK_license|SDK license terms]].
 
Note: Avisynth Filter SDK parts are under specific [[Filter_SDK/SDK_license|SDK license terms]].

Revision as of 17:31, 24 August 2013

AviSynth external Filter SDK is a package for developers to create your own filters (plugins) for AviSynth.

The package consists of:

  • this documentation text files (in HTML or Wiki format);
  • the header file 'avisynth.h' (recent version) with all declarations to include in plugin source code;
  • SimpleSample plugin source codes;
  • may be some extra files in 'Extra' folder.

Contents

Necessary software

You must have some necessary software.

Writing a plugin

We will start by writing some simple plugins to you the show basics.

Processing video

  • InvertNeg produces a photo-negative of the input clip.
  • SimpleSample has some very simple examples covering development of a filter that draws a variable sized square, in the middle of the screen. It does so n all Color spaces.

One thing not covered in Simple sample, is how to change frame size in a filter.

Processing audio

  • xxx

Also have a look at Getting started with Audio.

Runtime functions

See Non-clip sample how to create runtime AviSynth functions.

Speeding up your plugin using assembler

You can also browse various topic on Assembler Optimizing.

The plugin api's

There are several different Colorspaces in AviSynth. See more information about Color spaces and Working with Images.

Read more about the Internal Functions in AviSynth.

Read everything about the plugin api's: http://avisynth.nl/index.php/User:Admin/Filter_SDK

Some history

Ben's AviSynth Docs is the documentation written for AviSynth 1.0 by Ben Rudiak-Gould, in its original form.

See more about the modifications for AviSynth 2.5 in the AviSynth Two-Five SDK.

Please read AviSynth SDK History. ---

Other sources ???

Once you've got the basics down on AVS development (Ben's text is quite good), the SDK for VirtualDub is also a good read. Good news is you won't have to worry about writing function pointers and raw Win32; meanwhile, Avery knows his stuff when it comes to video & CPU optimization techniques, so you better pay attention.

Some video related ebooks (PDF) can be downloaded freely from Snell & Wilcox. edit - http://www.snellgroup.com/support/documentation/engineering-guides this???


License terms

Note: Avisynth Filter SDK parts are under specific SDK license terms.

Personal tools