AviSynth v3

From Avisynth wiki
Jump to: navigation, search

Here you can find some information about AviSynth v3.0. The first alpha is not ready yet, so this page is mainly for developers and people who are just interested.

AviSynth v3.0 is a powerful frameserver for Windows and Linux, and it is a complete rewrite of AviSynth v2.5, written from scratch by Bidoche (David Pierre), Kurosu, Caro and others. Additional information can be found here: [1]. I put together a small faq.

Small faq


[edit] Q1) The forums are silent about AviSynth v3.0. Where is the progress discussed?

The progress is mainly discussed on IRC: irc.freenode.org #avisynth. So, if you want to follow the progress, you know where to look :)

Normally there are around 18-26 users on that channel.

[edit] Q2) What is AviSynth v3.0 about and what are the main differences with v2.5?

The main differences are:

1) User features:

  • Linux port:

AviSynth v3.0 will also work on Linux. v3.0 is not relying on vfw anymore (although it can be used when possible). It is made in such a way, that new APIs can be added to the core, like gstreamer, which is implemented in the Linux version but should work on any platform where it is available.

  • It's easy to add other color formats (in the core or as separate plugin). Currently, it provides 3 additional color formats (compared to AviSynth v2.5):

YV24, a 4:4:4 YUV planar color format, and RGB45 and YV45 which are 15 bits depth versions of RGB24 and YV24 (NB: even though RGB45 is 8 byte aligned, the extra is not alpha, just garbage).

  • The scripting language grammar is more powerful. For example, "if" statements are now supported.
  • Dsynth will be included, which allows for direct streaming (for video and audio) whenever possible. Filters which allow this: AviSource(), Trim() and (Un)alignedSplice(). [it's not finished yet.]

2) Dev features:

  • v3.0 is built using VC7.1 or MinGW, using STLport as standard library, Boost libraries and Freetype. Inline assembly code is replaced by NASM. See Q4 for further info. Yasm will be used for suporting 64 bits architecture.
  • Improved memory management, ie not use more memory than necessary and do the best of the available when it's short.
  • Multi instance awareness: v3.0 will behave correctly when multiple scripts are loaded at once, they will share memory, and some filters (multiple avisource on same file) may even resolve themselves into a fusioned clip.
  • Improved parser: the parser will include the widely requested flow control structs (if then else, for, while). It will add two new types : frame and function.
  • It will include GUI hooks so they can retrieve info about filters directly from avisynth and its plugins.
  • It includes a C API. Other wrappers can be easily added.

[edit] Q3) When is the first alpha test version ready?

It will take a while before the first alpha version is ready for testing.

The color conversions are partly implemented (the ones in AviSynth v2.5 are). The resizers should be implemented and plugins should be able to load correctly. Plus a bunch of other things should be done before the first alpha release. On the positive side, it is compilable under Linux!

If you want to help testing gstreamersource, read the following post: [2] for the necessary information.

[edit] Q4) How should I compile it?

Document can be found in sourceforge: compiling it on Windows and Linux. French installation guide.

See also (french): (under Windows) and (under Linux).

[edit] Q5) How many developers are working on it?

None. The progress has been stalled for a while now, and at the moment there is no hope for improvement. So if you want to help, drop a note here or at IRC.

Personal tools