View Full Version : SEt's Avisynth 2.5.8 MT compiled for *X86_64*, Latest Build 4/16/2010
Pages :
1
2
3
4
5
6
7
8
[
9]
10
11
12
13
14
15
16
17
Buggle
30th April 2010, 16:40
At last I am trying out the newest 64 bit possibilities. The only problem I am still having is that FluxSmoothST is not yet available in x64, plus the absence of a Nero AAC x64 version. I installed the Avisynth64 fine and then encoded some stuff with MeGuix64. All fine. Until of course I just tried to use Nero, since thats a 32bit executable. It returned an error, so I started the 32bit MeGUI again to try it in there. It failed again with an error. Looking at the SysWOW64 folder, I found the avisynth.dll to be the one I previously pasted in the System32 folder. This seems to be a bug, but by what is it caused? I reinstalled stock avisynth now and made sure that the system32 folder contains the x64 dll's and the WOW64 folder the old 32 bit ones. MeGUI 32 runs fine again, I'm currently encoding an ACC file. After that I'll check the MeGUI 64. Edit: reinstalling stock aivsynth fixed the problem.
Oh and of course very, very thanks for all the hard work! Was looking forward to going full 64 bit for quite some time. Now I can :D
Edit2: On second thought, I am also experiencing the non-strictly-monotonic pts warnings (your 16-4 release plus 1570 x264). Is there an ETA on fixing this? Or should I start using those MT capabilities? I'm a bit reluctant to do that, really...
Jeremy Duncan
3rd May 2010, 07:46
This is how I'm multithreading with the avisynth I made version 2.5.8:
setmtmode(2)
Last=ffdshow_source()
setmemorymax(550)
LimitedSharpenFaster_JD(strength=11)
LimitedSharpenFaster_JD(strength=11)
super=MSuper(pel=2, hpad=16, vpad=16)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=32, blksizev=32, search=5, searchparam=1, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=32, blksizev=32, search=5, searchparam=2, badrange=(-24))
backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=32, blksizev=32, thSAD=100, search=5, searchparam=1)
forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=32, blksizev=32, thSAD=100, search=5, searchparam=2)
MBlockFps(super, backward_2, forward_2, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=1)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last
If I used the avisynth in this thread and the mvtools, would I be able to use multithreading?
If I can use multithreading can you tell me how?
And if it's not to much can you edit the code I post here so it's compatible with this version of avisynth? :thanks:
Edit, oh yeah since some people asked if you could make some plug ins 64 bit, could you make tsp's mt.dll 64 bit too? link (http://www.avisynth.org/tsp/avisynth257MT5_src.7z)
Lyle_JP
3rd May 2010, 09:35
I tried using the MT.dll from the file in hope that it would correct the horizontal "shadow line" type issue which appears right in the sentral part of the video but it still hasn't been fixed yet :( And that faint horizontal line shows up with a lot of filters when using MT with them.
There's nothing wrong with MT. What's happening is this: MT divides the image into smaller images, processed separately as complete images in their respective threads. Some noise reduction tools treat border areas differently than other parts of the image. MT creates a new border (or multiple borders) within the image by dividing it up. So what you are seeing is an artifact of your chosen noise reduction tool, not MT.
Fortunately, MT offers a solution anyway. It's a parameter called "overlap". Setting it to about 4 pixels wipes out most of the artifacts you're seeing.
Stephen R. Savage
3rd May 2010, 22:39
On the wiki "benchmarks" page, the antialiasing script is quoted incorrectly. This should be changed in case anybody tries to use it, as the correct form omits the return statement:
input=AviSource("D:\testfile.avi")
ox = width(input)
oy = height(input)
aa = input.TurnRight().EEDI2(field=0).TurnLeft().EEDI2(field=0)
edge = mt_logic(mt_edge(aa, "5 10 5 0 0 0 -5 -10 -5 4", 0, 255, 0, 255),
\ mt_edge(aa, "5 0 -5 10 0 -10 5 0 -5 4", 0, 255, 0, 255), "max").Greyscale().
\ Levels(0, 0.8, 128, 0, 255, false).Spline36Resize(ox, oy, -0.5, -0.5, 2 * ox, 2 * oy)
ds = Spline36Resize(aa, ox, oy, -0.5, -0.5, 2 * ox, 2 * oy)
maskmerge = mt_merge(input, ds, edge, U=1, V=1)
MergeChroma(ds,maskmerge)
On the plugins link page, "FieldHint" is misspelled as "FeildHint".
Incidentally, it seems JoshyD's last name is... Duncan. (See: http://code.google.com/u/joshua.d.duncan/). I'm going to refrain from commenting further on that.
Wilbert
4th May 2010, 18:45
On the wiki (...)
Could you correct those two issues please? Thanks.
Incidentally, it seems JoshyD's last name is... Duncan.
I noticed that too (both are even from Canada). I'm sure that this is just coincidence though.
Stephen R. Savage
4th May 2010, 18:52
Could you correct those two issues please? Thanks.
I noticed that too (both are even from Canada). I'm sure that this is just coincidence though.
I am not authorized to edit the Avs64 wiki (http://code.google.com/p/avisynth64/w/list), because I am not a developer of Avisynth64. Perhaps Jeremy Duncan is actually a really sophisticated coder, and he's been pulling our legs all along.
@ Buggle: The non-monotonic PTS warning is a bug, but it doesn't affect encoding since Avisynth is CFR and you can always reset the framerate when muxing anyway.
Edit: Incidentally, I wonder what happened to JoshyD. He hasn't shown up in several days now.
kemuri-_9
4th May 2010, 23:28
@ Buggle: The non-monotonic PTS warning is a bug, but it doesn't affect encoding since Avisynth is CFR and you can always reset the framerate when muxing anyway.
the bug directly rears its head there, but there is no guarantee that the effect is not more far reaching,
possibly breaking other calculations that involve use of doubles.
Stephen R. Savage
9th May 2010, 23:10
http://www.megaupload.com/?d=9ZWS9HDF
FoxyShadis has updated AddGrainC to v1.5, which is more compatible with MT.
STaRGaZeR
11th May 2010, 14:55
I've not read the entire thread, so sorry if these questions have been asked before.
Is the source code of GradFun2DB x64 (http://www.mediafire.com/?w0trndmni3j) available?
I can't use TIVTC x64, it crashes on me. tfm() is the cause. Is this a known problem?
Thanks!
Razinal
12th May 2010, 18:39
I think fft3dgpu crashes the mpc-hc64.exe when I'm using the avisynth in ffdshowx64.
when i press 'page down', 'ctrl+page down' or just wait untill it tries to play the next file, mpc-hc crashes.
It plays the first video just fine but when it's time to play the next one...
What I'm using :
ffdshowx64 => I've tried rev. 3300-3408 (in ~20 rev. steps)
avisynthx64 => 4/16/2010 and 3/15/2010
mpc-hc64 => 1249-1881 (in ~100 rev. steps)
Windows => Seven x64 Pro
Settings :
mpc-hc64 => All default
ffavisynth =>
PPS=5
fft3dgpu(bw=16, bh=16, plane=0, bt=4, sigma=PPS, mode=1, precision=2, wintype=2, degrid=2)
fft3dgpu(bw=64, bh=64, plane=0, bt=4, sigma=PPS/8, sigma2=PPS/4, sigma3=PPS/2, sigma4=PPS, mode=1, precision=2, wintype=2, degrid=2)
ffdshow => except 'avisynth' I've got 'Resize' set to always @ 1024xAUTO (Lanczos), 'Levels' using 'Didee's YlevelsG' at INPUT=0-240 and OSD to 'Decoder FPS' at top-left with classic shadows (outline's alpha set to 0% and body, shadow set to 100%)
Renderer => EVR_Custom (I've also tried EVR, VMR9 (both), EVR_Synced)
Notes :
I've copied both DevIL.dll and avisynth.dll to system32 folder, have already installed 2.5.8 x32 (and the MT ver of it over the original) beforehand and ran the batch file as admin.
I have a HD4850 card using Catalyst 10.2 drivers (with dynamic contrast set off).
I've tried turning fft3dgpu's options off one by one but nothing seems make it to work.
When i turn fft3dgpu off everything is fine.
Sometimes this happens immediately after opening a file.
Which one do you think is causing this problem : fft3dgpu, mpc-hc, ffavisynth or avisynth itself?:confused:
EDIT: after updating ffdshow to 3435 everything seem to be working just fine. (I've also changed my avisynth script to below)
setmemorymax(768)
SetMTMode(1,2)
Last=ffdshow_Source()
PPS=5
last.Framerate > 30 ? Eval("""
ConvertFPS(2997, 125)
MT("Spline64Resize(1024, last.height)")
MT("Spline64Resize(last.width, 576)", SplitVertical=True)
Undot()
fft3dgpu(bw=16, bh=16, plane=0, bt=4, sigma=PPS, mode=1, precision=1, wintype=2, degrid=2)
fft3dgpu(bw=64, bh=64, plane=0, bt=4, sigma=PPS/8, sigma2=PPS/4, sigma3=PPS/2, sigma4=PPS, mode=1, precision=2, wintype=2, degrid=2)
Subtitle("VFR", align=9, size=11)
""") : Eval("""
MT("Spline64Resize(1024, last.height)")
MT("Spline64Resize(last.width, 576)", SplitVertical=True)
Undot()
fft3dgpu(bw=16, bh=16, plane=0, bt=4, sigma=PPS, mode=1, precision=1, wintype=2, degrid=2)
fft3dgpu(bw=64, bh=64, plane=0, bt=4, sigma=PPS/8, sigma2=PPS/4, sigma3=PPS/2, sigma4=PPS, mode=1, precision=2, wintype=2, degrid=2)
""")
Hagbard23
14th May 2010, 10:47
i've not read all the postings here - but:...great work - just what i've been looking for. Most Plugs work fine to me - except those from Squid and Kassandro. For some Reason only the Versions of "removegrain"/"Repair" presented here are working with the actual x64 Build of avisynth. Kassandros Builds presented on his own page and NICAudio.DLL (Squid's Build) is not working at all. At least - that's what i tested.... ;)
Nevertheless i've been waiting long for this. Thanks ..keep up the work!
Is there a 64-bit version of deblock.dll? If not, could someone compile it for use with Deblock_QED, thanks.
jpsdr
21st May 2010, 08:46
I've try the following :
a=mpeg2source("File.d2v",upConv=0).DoubleWeave().Pulldown(1,3).trim(0,1774)
b=mpeg2source("File.d2v",upConv=0).DoubleWeave().Pulldown(0,2).trim(1775,3780)
c=mpeg2source("File.d2v",upConv=0).DoubleWeave().Pulldown(1,3).trim(3781,34355)
a+b+c
SetMTMode(2,6)
TempGaussMC_beta2(edimode="eedi2")
SelectEven()
But, when i process in VDub, there is only one CPU running. Where i do wrong ?
Gavino
21st May 2010, 09:35
when i process in VDub, there is only one CPU running. Where i do wrong ?
Try adding this line at the end of your script:
Distributor()
When using SetMTMode, this is required for applications that invoke Avisynth directly rather than via the VfW interface, but I'm not sure if VDub is one of those.
yo4kazu
21st May 2010, 11:38
Is there a 64-bit version of deblock.dll? If not, could someone compile it for use with Deblock_QED, thanks.
64-bit version deblock 1.2
[link removed]
64-bit version deblock 1.2
deblock12_x64.7z (http://www.mediafire.com/?azj5lgzyy22)I did a quick test and deblock12_x64 works. :thanks: yo4kazu
Unfortunately, I see now Deblock_QED uses DCTFilter to interpolate the border values over the whole block. Thus, I would need a 64-bit version of DCTFilter as well. :(
If anyone wants to compile a 64-bit version of DCTFilter, maybe you could take into account what Didée said:
AFAIK, no .... DCTFilter hasn't been ported yet.
But if someone *would* port it, that would be a good occasion to eliminate the stripe-bug that DCTFilter has had ever since. ;)
yo4kazu
22nd May 2010, 03:26
64-bit version of DCTFilter as well. :(
If anyone wants to compile a 64-bit version of DCTFilter
I can just recompile to 64-bit.
But there DCTFilter in inline-asm, I can not be rewritten.
sorry
Robert Martens
22nd May 2010, 03:56
But, when i process in VDub, there is only one CPU running. Where i do wrong ?
Try adding this line at the end of your script:
Distributor()
When using SetMTMode, this is required for applications that invoke Avisynth directly rather than via the VfW interface, but I'm not sure if VDub is one of those.
I don't think VirtualDub is in that category, I have great success using SetMTmode in VDub without Distributor added to my scripts.
I think the issue here is the lack of SetMTmode at the head of the script; as I understand it, SetMTmode must be the first line in any script where you wish to use it, or it won't work.
The posted sample script would therefore become:
SetMTmode(2,6)
a=mpeg2source("File.d2v",upConv=0).DoubleWeave().Pulldown(1,3).trim(0,1774)
b=mpeg2source("File.d2v",upConv=0).DoubleWeave().Pulldown(0,2).trim(1775,3780)
c=mpeg2source("File.d2v",upConv=0).DoubleWeave().Pulldown(1,3).trim(3781,34355)
a+b+c
TempGaussMC_beta2(edimode="eedi2")
SelectEven()
I can just recompile to 64-bit.
Yes, please recompile DCTFilter to 64-bit as it is currently, thanks.
I understand that fixing the bug would require someone who knows the code well; no need to apologize. :)
Maybe JoshyD or someone else can fix the bug and release a new version at a later time.
JoshyD
23rd May 2010, 07:18
Could you correct those two issues please? Thanks.
I noticed that too (both are even from Canada). I'm sure that this is just coincidence though.
I'm not from Canada, nothing against Canadians, I've just been very very busy with (paid) work. I've always lived in the US. Issues shall be addressed in due time. I have not abandoned the project. Expect updates and fixes in the next week or two.
aegisofrime
23rd May 2010, 08:00
I'm not from Canada, nothing against Canadians, I've just been very very busy with (paid) work. I've always lived in the US. Issues shall be addressed in due time. I have not abandoned the project. Expect updates and fixes in the next week or two.
WELCOME BACK! I was getting a bit worried here!
I was getting a bit worried here!
me too :)
txporter
28th May 2010, 17:43
Been looking into using 64-bit avisynth more now that I am using Didee's TGMC script with more regularity. I have done a few searches but have been unable to tell if yadif will run with 64bit avisynth or if it needs to be re-compiled (if it is even possible). I prefer edimode=Yadif over EEDI2. Does yadif work as-is with JoshyD's 64bit avisynth or does that need to get ported over?
update: found this to be a non-issue. Can update TGMC script to use Tdeint rather than Yadif for bobbing and have everything 64-bit then.
txporter
28th May 2010, 20:55
@turbojet- I assume that you are running various versions of avisynth along side each other (based on your performance comparison chart). If that is true, how would I go about installing a 32bit and 64bit version of avisynth that can be called by different encoders? I do encodes with HCenc (only 32bit) as well as x264 (either 32 or 64bit available). I need to be able to continue using 32bit avisynth but am interested in trying 64bit avisynth.
turbojet
29th May 2010, 06:22
The 64 bit installer requires avisynth 32 bit to be installed (at least the registry pointers). It won't affect avisynth 32 bit at all. For auto-loading 64 bit dll's go into avisynth 2.5\plugins64 directory. If all the filters are auto-loaded you can use the same avs script in a 32 bit and 64 bit exe.
txporter
29th May 2010, 16:26
The 64 bit installer requires avisynth 32 bit to be installed (at least the registry pointers). It won't affect avisynth 32 bit at all. For auto-loading 64 bit dll's go into avisynth 2.5\plugins64 directory. If all the filters are auto-loaded you can use the same avs script in a 32 bit and 64 bit exe.
Awesome! That's the kind of info I was hoping to hear. Excited to play around with 64bit avisynth. Thanks for the installer, turbojet.
Buggle
30th May 2010, 12:01
Awesome! That's the kind of info I was hoping to hear. Excited to play around with 64bit avisynth. Thanks for the installer, turbojet.
Just make sure the x32 avisynth dlls and such are in the sysWOW folder and the x64 avisynth dlls are in the system32 folder.
Everything will work without a problem.
txporter
30th May 2010, 15:43
Just make sure the x32 avisynth dlls and such are in the sysWOW folder and the x64 avisynth dlls are in the system32 folder.
Everything will work without a problem.
Yep. Works just as you say (and turbojet). Picked up a little speed from 32-bit set up. Working with PAL video on NTSC disc (using TGMC with either yadif or tdeint edimode to convert back to 25fps progressive): 32bit (yadif) = 4.2fps, 64bit (tdeint) = 4.6fps. Need to redo 32bit with tdeint for a good comparison, but getting ~8% with it as it is.
yo4kazu
31st May 2010, 16:53
more 64bit build filters:
[link removed]
squid_80
31st May 2010, 21:25
more 64bit build filters:
[link removed]
Is there source code to go with those?
Guest
31st May 2010, 22:38
Link removed pending correction of GPL violations.
yo4kazu
1st June 2010, 03:44
Is there source code to go with those?
sorry, linked source in my site
Guest
1st June 2010, 04:56
What is the URL to your site?
yo4kazu
1st June 2010, 05:24
What is the URL to your site?
yes, rewrite x64 source code upload to mediafire and linked my site
Guest
1st June 2010, 13:37
I do not see an URL in your response.
It's on his profile?: http://yo4kazu.110mb.com/
Thanks yo4kazu.
If you are taking requests, I'd like to get tomsmocomp :)
Didée
1st June 2010, 14:25
If anyone is able to translate the description of "RequestThreads" from Japanese into understandable English, it would be much appreciated.
(From the Google online translation I can gather not more than what the naked parameter names already tell...)
txporter
1st June 2010, 15:32
Few fps numbers for full episode conversion of 1 episode of Dr. Who:
Q6600, 4gb RAM, Vista64
Avisynth 2.5.8MT (32bit and 64bit)
x264 r1613 builds (rack04)
Avisynth script (I updated TGMC to use tdeint since there is no 64bit Yadif):
setmtmode(5,0)
MPEG2Source("%%~nA.d2v")
setmtmode(2)
TempGaussMC_beta2(1,1,1,edimode="tdeint",Smode=1,SLmode=1,Sbb=0,SVthin=0.0)
srestore(frate=25)
RemoveGrain(1)
setmtmode(5)
Vobsub("%%~nA.idx")
x264 parameters:
%x264% --crf 19 --preset slow --keyint 50 --sar 40:33 --tune film -o %%~nA.264 %%~nA.avs 2>%%~nA.log
32bit (non-patched build): 4.03fps, 1271.54 kbps, ~4hr 27mins
32bit (patched build): 3.89fps, 1269.62 kbps, ~4hr 36mins
64bit (non-patched build): 4.56fps, 1268.47 kbps, ~3hr 55mins
64bit (patched build): 4.58fps, 1266.54 kbps, ~3hr 55mins
Seeing 13+% improvement in fps for 64bit avisynth conversion! Very nice work, JoshyD. Don't understand why the patched build of x264 32bit was slower than non-patched. Might not be real. Only difference in plugins during the test was that both non-patched build numbers (32 and 64) were run after I updated masktools from a43 to a44.
Chikuzen
1st June 2010, 21:50
If anyone is able to translate the description of "RequestThreads" from Japanese into understandable English, it would be much appreciated.
(From the Google online translation I can gather not more than what the naked parameter names already tell...)
http://forum.doom9.org/showthread.php?p=1404556#post1404556
yo4kazu
2nd June 2010, 14:06
It's on his profile?: http://yo4kazu.110mb.com/
Thanks yo4kazu.
If you are taking requests, I'd like to get tomsmocomp :)
Thanks for following.
I can't rewrite inline assembly code tomsmocomp to 64bit...
OK, thanks for responding.
FYI, I found a new DLL (msvcr100.dll) was required but was not installed on my system while using MCTemporalDenoise. I downloaded Microsoft Visual C++ 2010 Redistributable Package (http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=bd512d9e-43c8-4655-81bf-9350143d5867&displayLang=en) & that resolved it.
What about yadif, is that easy to port to 64bit?
yo4kazu
4th June 2010, 07:21
What about yadif, is that easy to port to 64bit?
ok, I just finished.
[removed]
only check was run on Avisynth64
Guest
4th June 2010, 13:37
@yo4kazu
Stop posting GPL violating archives. You must include source code or a offer of it in the archive.
ok, I just finished.
[removed]
only check was run on Avisynth64
Cool, thanks!
It might be better to post the link to your site (where you already have the source posted). So there is no perceived GPL issues.
Guest
9th June 2010, 13:22
Cool, thanks!
It might be better to post the link to your site (where you already have the source posted). So there is no perceived GPL issues. Yes. Simply include a link in the archive.
Joshy, you need to do the same thing.
Your efforts are greatly appreciated but we have to support and abide by GPL. Thank you.
Guest
9th June 2010, 15:12
Running this script with the 4-16 version of Avisynth 64 produces a green screen:
version()
converttoyuy2()
Am I doing something wrong? Thank you.
EDIT: At first just version() worked, now after running the script above, it produces only a gray screen. Please advise. My porting efforts will be wasted if Avisynth 64 is not at least a little bit usable. Hopefully I am just ignorant.
Works here. Opening with Veedub64 and exporting to image gives me this:
http://i49.tinypic.com/2uj430h.jpg
I think it is recommended to always use SetMTMode with this version but here it doesn't seem to make a difference.
Guest
9th June 2010, 19:32
I think my PC went to sleep mode between when it worked and when it didn't. I will reboot when I get home to test that.
Thanks for your results.
Didée
9th June 2010, 19:45
Not-helpful post:
Sorry I've no idea what's going wrong on your side. All I can tell is that Avisynth64 is working quite well for me.
http://img821.imageshack.us/img821/50/avisynth64.th.png (http://img821.imageshack.us/i/avisynth64.png/)
My setup process was as painless as this:
- installed Avisynth 2.5.8 (32bit, standard)
- installed Avisynth-x86_64 as linked in the OP
- Installed VeeDub64, and all Avisynth64-Plugins I could get my fingers on
and bingo, everything was running as expected.
Anything special about your OS, or the application(s) you're using?
Accidentially cancelled an UAC message during Avisynth64 installation?
By chance, are you using a restricted user account?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.