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 8th June 2015, 13:36   #1181  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,752
You'll have to call the AviSynth script directly from a 64 bit application to load 64 bit AviSynth+ to load 64 bit plugins.

Try it first with AVSMeter64.exe – when it passes the analysis and starts processing frames, it worked.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline  
Old 8th June 2015, 14:58   #1182  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
@vcmohan

You can also try 64-bit VirtualDub. You might want to upgrade to the latest AviSynth+ (r1825) also.

The documentation for SetFilterMTMode and Prefetch is here: http://avisynth.nl/index.php/AviSynth%2B#MT_Notes

Last edited by Reel.Deel; 8th June 2015 at 15:04.
Reel.Deel is offline  
Old 9th June 2015, 14:25   #1183  |  Link
vcmohan
Registered User
 
Join Date: Jul 2003
Location: India
Posts: 890
Quote:
Originally Posted by Reel.Deel View Post
@vcmohan
The documentation for SetFilterMTMode and Prefetch is here: http://avisynth.nl/index.php/AviSynth%2B#MT_Notes
Many thanks. I did not understand clearly the following.
Quote:
Per-frame heap allocations should be avoided, because they can act as implicit synchronization points between threads.
Can I use in getFrame method say float * var = new float[vi.width*vi.height]; and at end of this getFrame method use a delete []var; ? Does this cause the implicit synchronization? If so what should I do to have a writable buffer in getFrame section?
__________________
mohan
my plugins are now hosted here
vcmohan is offline  
Old 9th June 2015, 15:20   #1184  |  Link
innocenat
Registered User
 
innocenat's Avatar
 
Join Date: Dec 2011
Posts: 77
If you don't care about original Avisynth support, current Avisynth has IScriptEnv2.Allocate (just cast from your original IScriptEnv), which you should use with mode AVS_POOLED_ALLOC. But I don't know whether this solve the implicit synchronization, nor whether this API is stable. It is being used by internal filter though: https://github.com/AviSynth/AviSynth...ample.cpp#L755
__________________
AviSynth+
innocenat is offline  
Old 9th June 2015, 20:24   #1185  |  Link
8-BaLL
Registered User
 
Join Date: Jun 2012
Posts: 75
What is more stable/powerful at the moment AVS+ or AVS 2.6 final? Which one do you guys prefer atm?
8-BaLL is offline  
Old 9th June 2015, 21:25   #1186  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by 8-BaLL View Post
What is more stable/powerful at the moment AVS+ or AVS 2.6 final? Which one do you guys prefer atm?
You're going to get variety of opinions with this kind of question. I'd say use AVS 2.6 for serious work. The current AVS+ builds are really in Alpha stage and I've had problems with them, especially using complex scripts like QTGMC.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline  
Old 9th June 2015, 21:43   #1187  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Quote:
Originally Posted by Groucho2004 View Post
You're going to get variety of opinions with this kind of question. I'd say use AVS 2.6 for serious work. The current AVS+ builds are really in Alpha stage and I've had problems with them, especially using complex scripts like QTGMC.
MT is alpha I agree but single threaded works completely fine in my experience.
stax76 is offline  
Old 9th June 2015, 21:50   #1188  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by stax76 View Post
MT is alpha I agree but single threaded works completely fine in my experience.
In my tests the 32 bit r1825 (have not tested 64 bit) slows down continuously with QTGMC, no matter if single threaded or multi threaded.
There is something odd with the memory management in the newer builds, they use much less memory than r1576 or 2.6 but it seems that this is exactly what causes the slowdown. Just a hunch.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline  
Old 9th June 2015, 22:50   #1189  |  Link
8-BaLL
Registered User
 
Join Date: Jun 2012
Posts: 75
Alright thanks, I guess I will just keep using 2.6 then.
8-BaLL is offline  
Old 10th June 2015, 07:20   #1190  |  Link
vcmohan
Registered User
 
Join Date: Jul 2003
Location: India
Posts: 890
Quote:
Originally Posted by Reel.Deel View Post
@vcmohan

You can also try 64-bit VirtualDub. You might want to upgrade to the latest AviSynth+ (r1825) also.

The documentation for SetFilterMTMode and Prefetch is here: http://avisynth.nl/index.php/AviSynth%2B#MT_Notes
I have virtualdub 64 bit version. With version() call I get a message AVISYNTH+ 0.1 (r1576 x64)
I thought home page installer puts the latest dll.
However with SetFilterMTMode("..", 1)
I get a message no function named setFilterMTMode
The script I am using is:
l
Code:
oadplugin("C:\TransPlugins\bin_64\HistogramAdjust\x64\Release\HistogramAdjust.dll")
#----------------------------------------

SetFilterMTMode("HistogramAdjust",1)
imagesource("c:\images\source1_z.jpg",end = 500)

converttoyV12()
HistogramAdjust(limit = 70)
prefetch(6)
what is the problem?
__________________
mohan
my plugins are now hosted here
vcmohan is offline  
Old 10th June 2015, 08:02   #1191  |  Link
foxyshadis
ангел смерти
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Lost
Posts: 9,558
Try a script with nothing but
Code:
Version()
and see what that gives.
foxyshadis is offline  
Old 10th June 2015, 08:15   #1192  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by vcmohan View Post
I have virtualdub 64 bit version. With version() call I get a message AVISYNTH+ 0.1 (r1576 x64)
I thought home page installer puts the latest dll.
However with SetFilterMTMode("..", 1)
I get a message no function named setFilterMTMode
The script I am using is:
l
Code:
oadplugin("C:\TransPlugins\bin_64\HistogramAdjust\x64\Release\HistogramAdjust.dll")
#----------------------------------------

SetFilterMTMode("HistogramAdjust",1)
imagesource("c:\images\source1_z.jpg",end = 500)

converttoyV12()
HistogramAdjust(limit = 70)
prefetch(6)
what is the problem?
The installer from avs-plus.net installs the latest stable (r1576) which does not support MT.
A link to the r1825 binaries is here.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline  
Old 29th June 2015, 23:30   #1193  |  Link
goorawin
Registered User
 
Join Date: Feb 2012
Posts: 82
I have just started using the latest version Avisynth+ (r1825) and seems to be working reasonable well and quicker in some situations where 64bit can be used. Looks very promising, so great work by those who have developed it to this stage.
The version I have found to work really well for almost everything is 2.6 MT but it is only 32bit.
However although I can get many scripts that work in 2.6 MT to work in plus, I can not get the following script to work at all. So I'm hoping someone can help. I use this script a lot in batch encoding and it should allow VirtualDub 64 bit to be used for that.

SetFilterMTMode("DEFAULT_MT_MODE", 2)
SetFilterMTMode("FFVideoSource", 3)
LoadVirtualDubPlugin ("C:\Virtual Dub\plugins32\Deshaker.vdf", "deshaker", preroll=0)Clip="D:\Batch Script Render\Iutput Files\Test.mts"
V1=FFVideoSource(Clip)
A1=FFAudioSource(Clip,track = -1)
AudioDub(V1, A1)#.AdvancedMultiTrim("0,-25")
ConvertToRGB32()
SCRIPT_1=Deshaker("19|1|30|4|1|0|1|0|640|480|1|2|1000|1000|1000|1000|4|1|4|2|8|30|300|4|C:\\Users\\Peter\\AppData\\Local\\Deshaker\\Deshaker.log|0|0|0|0|0|0|0|0|0|0|0|0|0|1|8|8|3|8|0|0|30|30|0|0|1|0|1|1|0|10|1000|1|90|1|1|20|5000|100|20|1|0|ff00ff")
ForceProcess(SCRIPT_1)
SCRIPT_1 = 0
SCRIPT_2=ConvertToRGB32(matrix="Rec709").Deshaker("19|2|30|4|1|0|1|0|640|480|1|2|1000|1000|1000|1000|4|1|4|2|8|30|300|4|C:\\Users\\Peter\\AppData\\Local\\Deshaker\\Deshaker.log|0|0|0|0|0|0|0|0|0|0|0|0|0|1|8|8|3|8|0|0|30|30|0|0|1|0|1|1|0|10|1000|1|90|1|1|20|5000|100|20|1|0|ff00ff")
\.ConvertToYUY2() # I can add other plugins here


return SCRIPT_2

Function ForceProcess(clip c) {
# Force process c clip
RT_DebugF("Starting Force process of clip") # EDIT: Output to DebugView (google)
GScript("""
for(i=0,c.FrameCount-1) {
RT_YankChain(c,i)
}
""")
}

This line SCRIPT_1=Deshaker .......... causes "system exception- access violation"

Any suggestion to get this to work in Avisynth + would be very much appreciated.
Thanks
goorawin is offline  
Old 29th June 2015, 23:36   #1194  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Does 64-bit VirtualDub load 64-bit plugins from plugins64? Because you're pointing to the Deshaker plugin in plugins32.

Also, GScript's extensions were integrated into AviSynth+; you can just use those features natively now.

Last edited by qyot27; 29th June 2015 at 23:39.
qyot27 is offline  
Old 30th June 2015, 00:21   #1195  |  Link
goorawin
Registered User
 
Join Date: Feb 2012
Posts: 82
I am trying to use virtualdub 32bit to get it to work. I'm testing it on Avspmod, which only handles 32bit. I did try to load it direct into ffmpeg but that failed as well.
It is the first deshaker pass that fails to load.
I'll look at the Gscript issue later, but that shouldn't cause any of these issues.
I have also tried loading just the first pass which works in 2.6.
Thanks for your input
goorawin is offline  
Old 30th June 2015, 02:45   #1196  |  Link
bxyhxyh
Registered User
 
Join Date: Dec 2011
Posts: 354
Deshaker plugin is not really compatible with MT avisynth. It is also internally multi-threaded. This maybe the case. Have you tried single threaded settings (if is there exist)?

Last edited by bxyhxyh; 30th June 2015 at 02:48.
bxyhxyh is offline  
Old 30th June 2015, 04:07   #1197  |  Link
goorawin
Registered User
 
Join Date: Feb 2012
Posts: 82
Well it may not be compatible with MT but I have been using it now for a year or more with 2.6 MT.
It took many days to set it up so it would work and it renders quicker than a single thread setup.
This is an example of the script I use.
SetMemoryMax(512)
Setmtmode(5,4)
LoadVirtualDubPlugin ("C:\Virtual Dub\plugins32\Deshaker.vdf", "deshaker", preroll=0)Clip="G:\Africa\Wilds\Final Edit\Part02\199.mts"
V1=avss_26_DSS2(Clip, fps = 50)
A1=FFAudioSource(Clip,track = -1)
AudioDub(V1, A1).AdvancedMultiTrim("0,-25")
Setmtmode(2)
SCRIPT_1=ConvertToRGB32(matrix="Rec709").Deshaker("19|1|30|4|1|0|1|0|640|480|1|2|1000|1000|1000|1000|4|1|4|2|8|30|300|4|C:\\Users\\Peter\\AppData\\Local\\Deshaker\\Deshaker.log|0|0|0|0|0|0|0|0|0|0|0|0|0|1|8|8|3|8|0|0|30|30|0|0|1|0|1|1|0|10|1000|1|90|1|1|20|5000|100|20|1|0|ff00ff")
ForceProcess(SCRIPT_1)
SCRIPT_1 = 0
Setmtmode(2)
SCRIPT_2=ConvertToRGB32(matrix="Rec709").Deshaker("19|2|30|4|1|0|1|0|640|480|1|2|1000|1000|1000|1000|4|1|4|2|8|30|300|4|C:\\Users\\Peter\\AppData\\Local\\Deshaker\\Deshaker.log|0|0|0|0|0|0|0|0|0|0|0|0|0|1|8|8|3|8|0|0|30|30|0|0|1|0|1|1|0|10|1000|1|90|1|1|20|5000|100|20|1|0|ff00ff")
\.ConvertToYV12()
\.MTClipEnhance(levels=245, gamma=1.05, WB=0.20, saturation=1.20, Hue1=-2,Hue2=1)

return SCRIPT_2

Function ForceProcess(clip c) {
# Force process c clip
RT_DebugF("Starting Force process of clip") # EDIT: Output to DebugView (google)
GScript("""
for(i=0,c.FrameCount-1) {
RT_YankChain(c,i)
}
""")
}

The MTClipEnhance also has a Setmtmode within it.
I would just like to be able to use it within Avisynth + . This would save the need for changing versions and hopefully we could get a further increase in rendering speed.
goorawin is offline  
Old 30th June 2015, 04:14   #1198  |  Link
goorawin
Registered User
 
Join Date: Feb 2012
Posts: 82
I forgot to mention that yes I did try, as best as I could, a single threaded settings.
goorawin is offline  
Old 3rd July 2015, 17:19   #1199  |  Link
RenderGuy2
Registered User
 
Join Date: Feb 2015
Posts: 31
This may already be known and deemed unimportant as ffdshow is no longer being developed, but I have noticed that r1825 is not available to ffdshow rev4533 x64. Avisynth+ r1779 works as it should with ffdshow. Scripts added to ffdshow with r1825 simply have no effect.
RenderGuy2 is offline  
Old 7th July 2015, 21:57   #1200  |  Link
ianken
Guest
 
Posts: n/a
Any idea when there will be a new release with installer? Makes deployment a bit easier.
 
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 11:44.


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