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

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 15th March 2015, 22:16   #961  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Okay, things are starting to shape up. Reported bugs have all been looked at, where appropriate fixed, and MT-functionality has also seen some necessary correctness improvements. I'm thinking about releasing 0.2 pretty soon. What is needed for that at this point is mainly testing, and maybe getting some additional content for the installer into shape. The more adventurous among you can pull the latest test binaries from avs-plus.net/builds. Starting now, binaries are built with a newer C++ runtime due to the wide availability of VS Community Edition, so if you feel like testing, don't forget to also get the vcredist stuff under the same link. In the official release, the installer will take care of setting up the runtime for you of course.

Depending on what you testers report, the r1779 binaries might be extremely similar to what 0.2 will be. I, for one have been using recent builds in my own production encodes without problems, and the (very few) independent testers I gave them to also had encouraging reports.

As for what the new caching system coupled with the rewritten filters in AviSynth+ are capable of, I'm also showing you these results, based on a real-world and pretty heavy script. And it was running only single-threaded. Now these measurements are not to be generalized, and results will surely depend on both your machine as well your script, but I certainly started smiling when I first saw this comparison. Do you like it? Are you excited for AviSynth+ 0.2?

EDIT: "Quite few" came out wrong upon reading it over. What I mean to say is very few testers, not "quite a few".
EDIT: I forgot to mention, the way how you specify the default MT mode for all filters that don't have it set explicitly has changed. For that, the first argument of SetFilterMTMode now has to be "DEFAULT_MT_MODE" instead of just "" (an empty string). I updated the MT usage notes, please consult them about how to use MT.
__________________
AviSynth+

Last edited by ultim; 16th March 2015 at 21:27. Reason: replaced 1778 with r1779
ultim is offline  
Old 15th March 2015, 22:43   #962  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
chainik_svp,
you should also try out the latest build linked above. while i cannot stop ffdshow from leaking, this build should have improved the situation a lot. i also briefly looked at ffdshow's avisynth bridge, and i think i saw what the problem is. if you can get me someone who can build ffdshow for a test, i could submit a patch to try and see.
__________________
AviSynth+
ultim is offline  
Old 15th March 2015, 23:05   #963  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by ultim View Post
if you can get me someone who can build ffdshow for a test, i could submit a patch to try and see.
You could try to bother clsid
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline  
Old 15th March 2015, 23:17   #964  |  Link
chainik_svp
Registered User
 
Join Date: Mar 2012
Location: Saint-Petersburg
Posts: 239
ultim
Are you excited for AviSynth+ 0.2?

I'd be extremely excited IF the release will contain MT functions.
I mean make MT-enabled version the one and only version for AVS+.


you should also try out the latest build linked above

I will, thanks!


if you can get me someone who can build ffdshow for a test, i could submit a patch to try and see.

yeah, clsid is the one
__________________
SVPflow motion interpolation
chainik_svp is offline  
Old 15th March 2015, 23:33   #965  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by chainik_svp View Post
ultim
Are you excited for AviSynth+ 0.2?

I'd be extremely excited IF the release will contain MT functions.
I mean make MT-enabled version the one and only version for AVS+.
The build has all the MT functions. AVS+ won't have non-MT builds anymore. Due to the relatively new nature of MT in Avs+ though, MT-enabled encodes possibly don't yet have the same maturity as non-MT encodes with the same binary. This immaturity is exactly what testing should dissolve over time.
__________________
AviSynth+
ultim is offline  
Old 15th March 2015, 23:36   #966  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by ultim View Post
The more adventurous among you can pull the latest test binaries from avs-plus.net/builds.
One potential problem with that build (x86):
I'm using this script to make avisynth run out of memory:
Code:
setmemorymax(3000)
n = 4800
colorbars(width = n * 2, height = n, pixel_type = "yv12").killaudio().assumefps(24000, 1001).trim(0, 999)
SelectRangeEvery(1000, 100, 200)
temporalsoften(4,4,8,15,2)
pointresize(width() - 64, height() - 64).turnleft()
temporalsoften(4,4,8,15,2)
pointresize(width() + 64, height() + 64).turnright()
temporalsoften(4,4,8,15,2)
With the "official" 2.6 I get the usual "We've run out of memory, folks" message after 9 frames.
With AVS+ r1718 I get "Could not allocate video frame. Out of memory." after 4 frames.
AVS+ r1778 does not get past the first frame but also throws "Could not allocate video frame. Out of memory.". However, it also crashes with c0000005 (access violation). Crash dump is here.
Groucho2004 is offline  
Old 15th March 2015, 23:38   #967  |  Link
chainik_svp
Registered User
 
Join Date: Mar 2012
Location: Saint-Petersburg
Posts: 239
In fact I'd LOVE to replace Avisynth with AVS+ in SVP distribution.

We're just waiting for the "official" MT build (32-bit).
And we're all looking forward for the stable 64-bit version.

ultim, if you've any other thoughts about bundling AVS+ with SVP - please contact me


AVS+ won't have non-MT builds anymore.

good news, everyone
__________________
SVPflow motion interpolation

Last edited by chainik_svp; 15th March 2015 at 23:43.
chainik_svp is offline  
Old 15th March 2015, 23:51   #968  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 496
please keep the non-MT version (the lastest one), for if the linux users are unable to run the MT version
sl1pkn07 is offline  
Old 16th March 2015, 00:02   #969  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Actually, r1778 crashes with every script. I'm on WinXPSP3.
Groucho2004 is offline  
Old 16th March 2015, 00:04   #970  |  Link
chainik_svp
Registered User
 
Join Date: Mar 2012
Location: Saint-Petersburg
Posts: 239
sl1pkn07

> linux users are unable to run the MT version

Why? o_O

And since AVS+ is by design Windows-only, why won't Linux users switch to native Vapoursynth?
__________________
SVPflow motion interpolation
chainik_svp is offline  
Old 16th March 2015, 00:06   #971  |  Link
chainik_svp
Registered User
 
Join Date: Mar 2012
Location: Saint-Petersburg
Posts: 239
Quote:
Originally Posted by groucho2004 View Post
actually, r1778 crashes with every script. I'm on winxpsp3.
vc++ 2013 rt?
__________________
SVPflow motion interpolation
chainik_svp is offline  
Old 16th March 2015, 00:07   #972  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by chainik_svp View Post
vc++ 2013 rt?
-----Yes.
Groucho2004 is offline  
Old 16th March 2015, 00:11   #973  |  Link
innocenat
Registered User
 
innocenat's Avatar
 
Join Date: Dec 2011
Posts: 77
Quote:
Originally Posted by chainik_svp View Post
sl1pkn07

> linux users are unable to run the MT version

Why? o_O

And since AVS+ is by design Windows-only, why won't Linux users switch to native Vapoursynth?
Wine C++ runtime did not support #include <thread> used by Avs+ MT iirc. But I thought it was already fixed?
__________________
AviSynth+
innocenat is offline  
Old 16th March 2015, 00:12   #974  |  Link
chainik_svp
Registered User
 
Join Date: Mar 2012
Location: Saint-Petersburg
Posts: 239
may be binaries was built with v120 instead of v120_xp?

> Wine C++ runtime did not support #include <thread> used by Avs+ MT iirc.

so this's the question to WineHQ, right?

and last time I checked, I was able to install any VC runtime i needed
VC runtime isn't provided by Wine o_O
__________________
SVPflow motion interpolation

Last edited by chainik_svp; 16th March 2015 at 00:19.
chainik_svp is offline  
Old 16th March 2015, 00:18   #975  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by chainik_svp View Post
may be binaries was built with v120 instead of v120_xp?
Then it should not run at all (I think).
Groucho2004 is offline  
Old 16th March 2015, 00:33   #976  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 496
Quote:
Originally Posted by chainik_svp View Post
sl1pkn07

> linux users are unable to run the MT version

Why? o_O

And since AVS+ is by design Windows-only, why won't Linux users switch to native Vapoursynth?
i mean, maintain the both version, the last one non-MT and the MT version

yes, i use a VS, but for some projects needs maintain AVS system

greetings

Last edited by sl1pkn07; 16th March 2015 at 02:06.
sl1pkn07 is offline  
Old 16th March 2015, 02:04   #977  |  Link
innocenat
Registered User
 
innocenat's Avatar
 
Join Date: Dec 2011
Posts: 77
Quote:
Originally Posted by chainik_svp View Post
may be binaries was built with v120 instead of v120_xp?

> Wine C++ runtime did not support #include <thread> used by Avs+ MT iirc.

so this's the question to WineHQ, right?

and last time I checked, I was able to install any VC runtime i needed
VC runtime isn't provided by Wine o_O
A year ago (that was when this wine and thread thing was discussed here, and I dont follow wine development much) the situation is that some api arent available so even if you install vcredist it wont run thread at all. And that bug was assigned WontFix in wine bug tracker.

So if that bug is still present, user kinda require ST version.
__________________
AviSynth+
innocenat is offline  
Old 16th March 2015, 07:37   #978  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
The issues with Wine are gone so long as you're using the latest Wine 1.7, although the native Wine dlls for msvc[p|r]120 are still insufficient, so you need the MS ones (since 1.7 is the -devel branch, this could very well change before 1.8). My various personal builds of AviSynth+ from r1718 onwards seem to work fine - I get similar speeds as I was with 2.6 MT (might be mostly due to getting bottlenecked in HCenc). And I was using Prefetch(4) and setting the filter mode with the .avsi, so the MT should be active.

The only problem is that the MSVC 2012 and 2013 runtime installers error out. The DLLs work, the installers don't. So trying to use the redist bundled in AviSynth+'s installer won't work on Wine. You have to extract the dlls from the MS redists and copy them into Wine's system32 directory, and then add overrides for those DLLs in winecfg. This was true on both OSX 10.10 with Homebrew and Ubuntu 14.10 with the ubuntu-wine PPA. Really, winetricks is the place to handle that part, and it should be only a matter of time before vcrun2012/vcrun2013/etc. options get added to it (if they haven't been already).

Quote:
Originally Posted by chainik_svp
And since AVS+ is by design Windows-only,
Classic AviSynth has that limitation; there is work being done to resolve that issue in AviSynth+ (it's just taking a while).
qyot27 is offline  
Old 16th March 2015, 10:33   #979  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by Groucho2004 View Post
One potential problem with that build (x86):
I'm using this script to make avisynth run out of memory:
Code:
setmemorymax(3000)
n = 4800
colorbars(width = n * 2, height = n, pixel_type = "yv12").killaudio().assumefps(24000, 1001).trim(0, 999)
SelectRangeEvery(1000, 100, 200)
temporalsoften(4,4,8,15,2)
pointresize(width() - 64, height() - 64).turnleft()
temporalsoften(4,4,8,15,2)
pointresize(width() + 64, height() + 64).turnright()
temporalsoften(4,4,8,15,2)
...
Yeah this script runs out of memory. I'll try to adapt some things to shrink the caches more aggressively under extreme memory pressure.

As for XP-compatibility, all things are compiled with the xp-toolset, so at least from that aspect, it should be fine. I wonder if there was some other oversight on my part (e.g. using an unsupported API or dunno what), I admit I haven't tested on XP at all. Will look into it.
__________________
AviSynth+
ultim is offline  
Old 16th March 2015, 10:41   #980  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,718
It's been a year since I said "I'm going to hop on from Avisynth MT (SEt's latest v2.6 build) to Avisynth+ just for some testing." and now it seems that it is the time if you feel that the multithreading issues should be gone. Do you have anything specific you wish to have tested? Should the output of Avisynth 2.6 MT and Avisynth+ be identical? And the most important question: is MT enabled automatically or does it need to be set to achieve maximum performance?
__________________
And if the band you're in starts playing different tunes
I'll see you on the dark side of the Moon...
Boulder is offline  
Closed Thread

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 16:18.


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