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.

Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se

 

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

Reply
 
Thread Tools Search this Thread Display Modes
Old 13th December 2015, 21:35   #61  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by rean View Post
Groucho2004, I edited "n" to get it working, because it seems to me as a benchmark code for huge frames. A non-edited state gives a memory exception, of course.
Can you post the DLL so we can try it?

Also, did you build the 2.6.0 release code or did you use a current CVS snapshot?

Last edited by Groucho2004; 13th December 2015 at 22:04.
Groucho2004 is offline   Reply With Quote
Old 14th December 2015, 21:52   #62  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by rean View Post
Groucho2004, /SAFESEH:NO
FYI - Ultim and the other AVS+ developers spent many hours re-writing the exception handling code in Avisynth to make it compatible with new compilers.
IanB is doing the same with Avisynth 2.6.1, check the Avisynth CVS.
Yet, you think they are all wasting their time and a simple linker switch would solve the problem?
Groucho2004 is offline   Reply With Quote
Old 15th December 2015, 10:27   #63  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by rean View Post
What problem do you mean? Currently it seems I have no issues yet. If you have any real test case that will crash my build or my build will work incorrectly, please post it. Probably this potential issue is long away from my usage. And, I will try the dev version 2.6.1 later, thanks for a point.
Here is some info on one of the issues.
In AVS+, all "new" allocations were checked regarding dependency on returning "NULL" and changed to the non-throwing (std::nothrow) version where applicable.
You can test this by running the script I posted and check the thrown exception. It should look like this:
Code:
GetFrameBuffer: Returned a VFB with a 0 data pointer!
size=2123366464, max=2108096512, used=4246732928, free=2113339392, phys=2847870976
I think we have run out of memory folks!
But you're probably just getting something like this:
Code:
Evaluate: Unrecognized exception!
The other thing is to implement a way to handle Win32 exceptions (C structured exceptions) as C++ typed exceptions. This can be done by implementing a SEH translator function, that also was done in AVS+.

Yes, your DLL will probably work but it's up to you if you can live with heavily crippled exception handling.

Edit: I just noticed that SEt's modified version does include a SEH exception translator.

Last edited by Groucho2004; 15th December 2015 at 10:57.
Groucho2004 is offline   Reply With Quote
Old 3rd January 2016, 23:02   #64  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,647
This is a less insane version of AVSValue::Assign() in interface.cpp that actually works in both 32 and 64 bit builds:
Code:
void AVSValue::Assign(const AVSValue* src, bool init) {
  if (src->IsClip() && src->clip)
    src->clip->AddRef();
  if (!init && IsClip() && clip)
    clip->Release();
  // make sure this copies the whole struct!
  array_size = src->array_size;
  type = src->type;
  string = src->string;
}
I had to fix it when adding my own 2.6 compatibility...
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 21st March 2016, 22:58   #65  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,182
I tried to recompile C-plugin Yadif with 2.6.0 headers.
GCC and VS compilers detect error in avisynth_c.h with =0 at line:
AVSC_API(int, avs_row_size)(const AVS_VideoInfo * p, int plane=0);
Without =0 compiling is normal.
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 17th May 2016, 22:28   #66  |  Link
Wilbert
Super Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,375
Quote:
Originally Posted by Fizick View Post
I tried to recompile C-plugin Yadif with 2.6.0 headers.
GCC and VS compilers detect error in avisynth_c.h with =0 at line:
AVSC_API(int, avs_row_size)(const AVS_VideoInfo * p, int plane=0);
Without =0 compiling is normal.
Should be fixed in 2.6.1. Please try.

@rean, your bug should be fixed too in 2.6.1.
Wilbert 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 14:35.


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