Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.


Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 7th January 2011, 22:25   #1  |  Link
Registered User
Join Date: Feb 2009
Location: USA
Posts: 680
Using Avisynth inside a program/development questions

Hi all,

Been a while since I've posted any problems, etc.. Hopefully it won't be too difficult to get some answers. Sorry if these questions are noob-ish, but I am learning a lot of things about programming as I go.. I have tinkered with languages for a decade but could never settle on one, or get very far by myself since I lack the money for traditional/formal classes on Programming.

This is a very serious project with a real goal though, and I fully expect to invest Months of work in its realization.

I am currently in the beginning stages (writing the design document) of what I hope will be my first complete Windows program. I don't want to go too much into detail, except to say it is inspired by YATTA (Yet Another Telecide Tool for Anime) and is specifically geared towards Anime VFR sources. In the end I am hoping to end up with something similar to YATTA, but much easier to use/learn, and that has much better documentation.

The application will be developed in PureBasic (I just can't stand C/C++ sorry!) and although I have tried looking at YATTA's source code several times, I can't really decipher the PASCAL language stuff well enough to tell what it is doing.

I am guessing I am going to have to write or find a wrapper of some sort, in order to use Avisynth inside my program.. Basically I want to be able to load an AVS script, and then scan it (without rendering.. like Yatta Metrics Collector, or like VirtualDub's Video Analysis Pass).

That way I should be able to manipulate a video in anyway I deem necesarry, right? I'm going to capture output metrics from stuff like Telecide/TFM or any other filters that might warrant this, using the Debugstring- so I think I've got that part covered and know how to do it.

But before I embark upon the journey if either trying to write a wrapper myself (*pointers....groan), or understand the one written by Inc. (he also is working on a nice DirectShow wrapper for PB) I was wondering if there wasn't an easier way to work with Avisynth, Similar to how Virtualdub is used I suppose.

Perhaps implementing basic AVI loading for instance, and dealing with the frame served AVS script (using mpeg2source or w/e). As long as I could still call the frames individually, or zip through them to analyze real fast, etc.. There shouldn't be any accuracy concerns, right? However I am also aware that sometimes a program that is frameserved AVI by Avisynth, might still have issues with seeking within a stream, etc..

So I am wondering really what the best way to go is? Most of the data my program will work with and manipulate will be taken from DebugStrings for the most part (at least for the core functionality I want to implement.. don't know about future features yet).

I guess I'm just looking for general advice on how to approach this issue. If any other devs who use Avisynth in their programs want to comment with how they do it, how hard it was, or any other advice; that would be most appreciated.
osgZach is offline   Reply With Quote

api, avisynth, purebasic, vfr, wrapper

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +1. The time now is 11:17.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.