ImageSource(), ImageWriter(), x264-compressed still photos, avisynth improvements
Advertising
/
Message
Author
Avisynth scripts are not imperative programs "apply this to that", but rather more like functional programming – it describes filter connection path, but how actually frames flow, which frames are processed/skipped and in what order greatly depends on filters. Avisynth has no knowledge how to "process everything".
RE: ImageSource(), ImageWriter(), x264-compressed still photos, avisynth improvements
Avisynth script is pretty much babby's first graph description language. People seem to think that because it has conditionals and functions it's an actual general-purpose scripting language, but it isn't and it looks like you found that out the hard way. In general, if you want to do something within the Avisynth framework that either doesn't seem doable or seems prohibitively complicated, the answer is almost always "do it with a different tool" or "do it in a plugin". You can do almost anything in plugins, especially if you only care about compatibility with yourself, because then you can basically treat video frames like arbitrary memory buffers and do whatever you want. Asking for new features in Avisynth is not going to get you anywhere, really. The codebase is really showing its age and the framework has so many silly limitations that it's really not worth building on. Furthermore, there is only one active developer of note (IanB) who is even working on it at all, and his priorities run more to fixing bugs and cleaning up code than adding new features (the upcoming version, Avisynth 2.6, has been in development for several years and still doesn't really offer anything new or interesting at all, except a few new colorspaces).
RE: ImageSource(), ImageWriter(), x264-compressed still photos, avisynth improvements
No, he has a point. Why would a language not execute certain commands? The answer lies in the type of optimizing Avisynth does. It tries hard to not run filters when it doesn't have to. It also has a cache system of processed frames. The most hasic example is SelectEvery. This will process only the frames requested. The way around this is to ensure that all frames are requested. Check out the call plugin which can call any other program from script. Again, ImageMagick has it's own script language.
RE: ImageSource(), ImageWriter(), x264-compressed still photos, avisynth improvements
I sort of agree with you; Avisynth may be "not meant" to do the things I want to do, but there's simply no other choice I've found. I did actually go as far as to try to do something in ImageMagick, and I wrote a script in it. But there's still a lot of useful filters in Avisynth/Virtualdub that I can't get elsewhere. There's another option though; calling Avisynth from say, a .net program and combing the two, but if you could program at that level, you probably wouldn't need much help. Something else that comes close is Matlab. It's an interactive script, you can write a GUI in it, it imports video, and there's "toolboxes" for it. There's free clones like freemat, octave, etc.
RE: ImageSource(), ImageWriter(), x264-compressed still photos, avisynth improvements
You people just don't understand what Avisynth script is. Again: it is not a program. It's a path, graph. The script is not executed, so there is nowhere to apply strict or lazy evaluation.
RE: ImageSource(), ImageWriter(), x264-compressed still photos, avisynth improvements
I understand Avisynth is not a typical scripting language, and doesn't behave like a programming language. I'm just sayin' it SHOULD, or at least would be highly beneficial if it WOULD. I don't expect it to, it sounds like it's almost as dead as Latin, and probably the next place for the community to go would be an object-oriented successor, which will probably happen at some point by a whole new set of individuals to solve a different problem. Open-source and other similar projects are funny like that. Interesting comparison, I used to code 8-bit assembly in my teens and early 20's back in the 80's and 90's. I can't see that sort of approach being too popular in 2012-2015. :)
------------------------ RENNtech 168mm Pulley and Tune
RE: ImageSource(), ImageWriter(), x264-compressed still photos, avisynth improvements
>I think you've misunderstood how it works. I was trying to translate points of view here. I understand his point of view and yours. When you're new to Avisynth, all these questions come up. I didn't find the manual very clear (in fact it still frustrates me, there's no real index to all keywords). And saying it's a filter graph is just semantics; I can write a loop that does nothing but calculate a factorial, if I want to. You could even argue that it's Turiing complete and therefore like any other language. There's even GUI plugins to Avisynth; you can get keyboard input and interact with it just like a real program. Just let the video play forever and forget that it's a video, cause it's really a program ;)