Avisynth loop code#
The only real limitation in the API itself is that it has a single depth field that corresponds to the RGB bit depth the remainder of the limitations were in VirtualDub's support code around that API, most notably the bitmap library. It would thus be desirable to support multiple types of formats in the chain. While this is very easy to program, and is advantageous for some types of rendering, it is inefficient with other types of image processing algorithms that can be performed directly in the YCbCr color model, which is preferred for many video compression formats. One of the biggest limitations of the current filter API is that it only supports the 32-bit X8R8G8B8 pixel format. Some of the features I talk about here might not make it into the next version, though, depending on how well they work out, as honestly the current design is rather ambitious. I don't normally like to talk about designs-in-progress because it seems too much like a promise that I may not be able to keep, but I also don't like to work alone in the dark for too long. Below, I'll talk about some of these and some of the implications for both users and filter authors. For brevity, I will refer to the current-generation video filter system as VF1 and the next-generation system as VF2. I've sunk a lot of time into it so far, and there are some parts of it that are nice, and other parts that are simply hairy to implement and design.
Avisynth loop full#
The video filter system is one of the oldest remaining parts of the VirtualDub source code, now that I've rewritten the capture and project modules, and large portions of the render module. While it contributes a rather important part of VirtualDub's feature set, at this point it is also a major limiting factor in the program's development. As such, it has gotten my full attention for the next major experimental release, 1.7.0 (in case you were wondering what I've been doing for the past couple of months).ĭesigning a next-generation video filter system isn't easy. ¶Redesigning the VirtualDub video filtering system