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

Reply
 
Thread Tools Search this Thread Display Modes
Old 4th August 2003, 08:13   #1  |  Link
kevina
Registered User
 
Join Date: Jun 2003
Posts: 71
AVISynth C API Now Available

I have just released a compiler neutral C Interface to AviSynth in the forum of a plugin. You can find it at http://kevin.atkinson.dhs.org/avisynth_c/. The current version is 0.14.

I would really appreate it if some AVISynth developers could look it over and give me some feedback. I am hoping that eventually it can become part of AVISynth.

It currently is designed for AVISynth 2.5.

Enjoy.

Last edited by kevina; 10th September 2003 at 05:22.
kevina is offline   Reply With Quote
Old 4th August 2003, 08:30   #2  |  Link
sh0dan
Retired AviSynth Dev ;)
 
sh0dan's Avatar
 
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
First impression is good - I'll have a closer look ASAP.
__________________
Regards, sh0dan // VoxPod
sh0dan is offline   Reply With Quote
Old 5th August 2003, 14:28   #3  |  Link
sh0dan
Retired AviSynth Dev ;)
 
sh0dan's Avatar
 
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
I took a few minutes and made an attempt at integrating it into the core. I tried to implement it, so it would work seamless, and results look promising.

avisynth_c.dll seems to be required for other plugins to load - no problem - it can be included in the installation package. It does however not have to be loaded as a plugin when it is part of the core.

LoadPlugin automatically remaps C-plugins to "LoadCPlugin", if a C-plugin is detected.

I get a bunch of errors like "D:\dev\avisynth2\avisynth\avisynth_c.cpp(58) : warning C4273: 'avs_release_video_frame' : inconsistent dll linkage. dllexport assumed."

Are you interested in having C-plugins put into the core?? It seems to work very nicely!
__________________
Regards, sh0dan // VoxPod
sh0dan is offline   Reply With Quote
Old 5th August 2003, 15:15   #4  |  Link
kevina
Registered User
 
Join Date: Jun 2003
Posts: 71
Yes I am interested in integrating it into the core. It has not been tested very well, so for right now I rather have it as a plugin since it makes updating it easier....

I am not sure why you are getting those errors. You might need to define AVISYNTH_C_EXPORTS.

If it is integrated in the core avisynth_c.dll should not be needed. However a .lib file will be needed to compile plugins since, unlike with the VC++ API, plugins need to use several symbols from avisynth_c.dll.
I hope I am making sence to you.
kevina is offline   Reply With Quote
Old 5th August 2003, 15:23   #5  |  Link
sh0dan
Retired AviSynth Dev ;)
 
sh0dan's Avatar
 
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
Not much

But I assume it would only be a lib for avisynth_c. Shouldn't be much of a problem. I'm committing my temp work now - I'll get back with binary, libraries, etc.

Edit: Do you have CVS access??
__________________
Regards, sh0dan // VoxPod

Last edited by sh0dan; 5th August 2003 at 22:43.
sh0dan is offline   Reply With Quote
Old 6th August 2003, 13:10   #6  |  Link
sh0dan
Retired AviSynth Dev ;)
 
sh0dan's Avatar
 
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
New CVS binary up, with C-plugin support.
__________________
Regards, sh0dan // VoxPod
sh0dan is offline   Reply With Quote
Old 6th August 2003, 16:34   #7  |  Link
Kurosu
Registered User
 
Join Date: Sep 2002
Location: France
Posts: 432
I didn't take time to explore this, but if it means C-only code can be used to generate plugins and/or other compilers than MS VC++ can be used without much hassle, then that's definetely a good thing, which should be put forward even further (once it's stable, I guess).
Kurosu is offline   Reply With Quote
Old 6th August 2003, 16:52   #8  |  Link
kevina
Registered User
 
Join Date: Jun 2003
Posts: 71
Kurosu, that is exactly what it does. C only code, or C++ code other than VC++.
kevina is offline   Reply With Quote
Old 6th August 2003, 17:18   #9  |  Link
sh0dan
Retired AviSynth Dev ;)
 
sh0dan's Avatar
 
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
For now I guess it can only be tested with the example plugin in the archive above.
__________________
Regards, sh0dan // VoxPod
sh0dan is offline   Reply With Quote
Old 6th August 2003, 17:22   #10  |  Link
Kurosu
Registered User
 
Join Date: Sep 2002
Location: France
Posts: 432
Great!

Though, I'm so much used to current Avisynth framework I would take an awful time to switch to another one (even for the better, be it 3.0 or C-code - arhg, and asm syntax would change if I use another compiler ). But not having to compile with VC++ is a big step forward into the direction of "free software".

Last edited by Kurosu; 6th August 2003 at 17:28.
Kurosu is offline   Reply With Quote
Old 12th August 2003, 23:24   #11  |  Link
kevina
Registered User
 
Join Date: Jun 2003
Posts: 71
New Version Available

Version 0.11 is now available at http://kevin.atkinson.dhs.org/avisynth_c/.

Minor API Changes, Bug Fixes, and enhanced examples to work with YV12.
kevina is offline   Reply With Quote
Old 23rd August 2003, 02:21   #12  |  Link
kevina
Registered User
 
Join Date: Jun 2003
Posts: 71
Version 0.12 is now available at http://kevin.atkinson.dhs.org/avisynth_c/ .

Added some missing function to the API.
kevina is offline   Reply With Quote
Old 24th August 2003, 21:59   #13  |  Link
Si
Simply me
 
Si's Avatar
 
Join Date: Aug 2002
Location: Lancashire, England
Posts: 610
SimpleCSample?

Kevin,

I was wondering if you'd consider doing a LoadCPlugin conversion of SimpleSample (just a conversion of SimpleSample13a would do )

I believe your plugin could entice more people (hopefully with good ideas) into writing Avisynth filters.

regards

Simon
Si is offline   Reply With Quote
Old 24th August 2003, 22:10   #14  |  Link
kevina
Registered User
 
Join Date: Jun 2003
Posts: 71
I guess I could. I do provide some examples however.

If someone else cares to test out my API they could attempt to convert it. Would also give me some feedback on my design.....
kevina is offline   Reply With Quote
Old 25th August 2003, 02:21   #15  |  Link
Sigmatador
Guest
 
Posts: n/a
what about speed, do the same plugin done with vcc/icl and Cplugin have the same speed ?
  Reply With Quote
Old 25th August 2003, 02:55   #16  |  Link
kevina
Registered User
 
Join Date: Jun 2003
Posts: 71
There is a little bit of overhead due to a extra function call for each API method used. However, since data is retrived on a per-frame bases
the overhead should be negligible.
kevina is offline   Reply With Quote
Old 25th August 2003, 04:10   #17  |  Link
stickboy
AviSynth Enthusiast
 
Join Date: Jul 2002
Location: California, U.S.
Posts: 1,267
Just to make sure your stance on the GPL is clear: must any plug-in that uses the Avisynth C API also be GPL'd?
stickboy is offline   Reply With Quote
Old 25th August 2003, 04:59   #18  |  Link
kevina
Registered User
 
Join Date: Jun 2003
Posts: 71
It is under the same copyright of Avisynth itself. So filters must not be GPL. I will try update the copyright for the next version.
kevina is offline   Reply With Quote
Old 25th August 2003, 15:32   #19  |  Link
Si
Simply me
 
Si's Avatar
 
Join Date: Aug 2002
Location: Lancashire, England
Posts: 610
@stickboy
Can I ask why you raised the question?
@kevin
COuld you explain your answer
Quote:
So filters must not be GPL
(Have I missed something somewhere )

regards
Simon
Si is offline   Reply With Quote
Old 25th August 2003, 15:37   #20  |  Link
kevina
Registered User
 
Join Date: Jun 2003
Posts: 71
My mistake. Filters do not have to be GPL.
kevina is offline   Reply With Quote
Reply

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 06:49.


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