View Full Version : megui use in conjunction with avisynth64?? YES!!
Bluedan
5th September 2006, 23:23
Maybe I'm just too.... dumb: :confused:
I thought it might be possible to make use of 64 bit version of avisynth (compiled by squid80) in conjunction with megui (which is 32 bit app of course).
I put x264 64bit compile in place and set megui path accordingly. Copied avisynth 64bit compile to system32 folder and executed the reg patch included (squid80).
Also dgdecode.dll and decomb.dll in place (plugin path in megui set accordingly), 64 bit, since they are used in the avisynth script.
And yes, I'm on XP64.
MeGUI keeps telling me it couldn't load avisynth.dll.
I know, the interaction of 32bit apps with 64bit is difficult.
Is it right that a simple call of x264 from within MeGUI is impossible?
I sure don't want to use VDUB64 with x264 vfw version!
How do you manage all this?
pcaca
6th September 2006, 02:57
It should work if you start MeGUI as 64bit application, but all of your AviSynth plugins should be 64bit. You can start MeGUI as 64bit application if you change some flags with CorFlags.exe.
Look at this thread for some info:
http://forum.doom9.org/showthread.php?t=106740
More info:
http://msdn2.microsoft.com/en-us/library/ms241064.aspx
http://msdn2.microsoft.com/en-us/library/ms164699.aspx
Bluedan
6th September 2006, 21:22
Thank you for your suggestion.
I installed the sdk pack, ran the cmd prompt, typed a corflags command and received the following message:
http://www.1200kb.net/uploadimg/file1733386720.jpeg
This is the instruction from the ms net website:
Determining the status of an .exe or .dll
Use corflags.exe at the command line to see if it an .exe or .dll is meant to run only on a specific platform or under WOW64. You can also use corflags.exe to change the platform status of an .exe or .dll. See CorFlags Conversion Tool (CorFlags.exe) for more information. A Visual Studio 2005 assembly's CLR header (or COM+ Runtime header) has the Major Run-time Version Number set to 2 and the Minor Run-time Version Number set to 5. In Visual Studio 2003 assemblies, they are 2 and 0, respectively. All applications that have the minor runtime version set to 0 are treated as legacy applications and are always executed under WOW64 on 64-bit machines.
As I understood all this, corflags is suitable for files that have already been compiled.
Feeding Google with the error message didn't lead to any intelligible info, at least for me.
EDIT
Oh, boy. As usual a problem with spaces in paths....
sorry
I successfully erased the 32bit flag. Now avisynth seems to have been loaded, but megui came up with another message:
Starting job job1-1 at 22:38:02
calling setup failed with error The file F:\Der Ewige Gärtner\gärtner.avs cannot be opened.
Error message for your reference: Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Exception from HRESULT: 0x8007000B)
And then megui crashes.
What else do I have to do to make this work?
foxyshadis
8th September 2006, 01:50
A translation would be nice, although most likely it's a problem with aviynthswrapper.dll, which is a 32-bit dll. It would likely have to be recompiled to work with 64-bit avisynth.
squid_80
8th September 2006, 05:14
Sounds right - 0x8007000B is a bad image format exception, which is what you get when trying to load a 64-bit dll from a 32-bit program, or vice-versa.
Bluedan
8th September 2006, 05:49
Translation: You tried to open a file with a bad format.
@Squid: For you did all these recompiles, could you please also do a 64bit version of avisynthwrap.dll??
That'll be very kind! :)
BTW, your server (http://okejl.dk/dunstan/) is unavailable since days.
squid_80
8th September 2006, 06:21
I don't know where to find the source code. I see avisynthwrapper.zip on sourceforge, but when I try to download it I get a 0-byte length file. I don't know what language Dimzon used to write it, if it wasn't C or C++ I won't be able to do it.
As for the webserver, I don't know where it's gone as it lives on the opposite side of the world.
Bluedan
10th September 2006, 18:09
I don't know where to find the source code. I see avisynthwrapper.zip on sourceforge, but when I try to download it I get a 0-byte length file.
I PMed Dimzon, for he didn't post in This and other forums since 1st september. So far no reply.
This (http://rapidshare.de/files/32638377/avisynth_sources.7z.html) is what I was able to d/l from sourceforge today. I hope it is what you (me) are looking for.
Your server is still unavailable.
dimzon
10th September 2006, 21:11
get avisynthwrapper.zip from BeHappy workspace (it's part of behappy source code)
Bluedan
10th September 2006, 21:59
get avisynthwrapper.zip from BeHappy workspace (it's part of behappy source code)
Well, the only thing I reach is this:
http://www.1200kb.net/uploadimg/file1960818834.jpeg
The other two subdirectories neither do show what I am looking for.
BTW, I chose the html interface for browsing. Is that it?
EDIT:
Sorry, it's in the BeHappy.zip. Didn't expect such a small file to contain all the sources! Thanks.
Bluedan
12th September 2006, 21:45
Finally!!!
It works!
Squid80 has again been so kind to do some extra transforming of 32 to 64bit code.
All necessary files can be found here (http://members.optusnet.com.au/squid_80/) now.
1. Change megui 32bit flag to 64bit with coreflags. You'll need NET framework SDK for that. See above for details.
2. Replace avisynth.dll, libmmd.dll and avisynthwrapper.dll with 64 bit equivalents, as well as all the avisynth filters and dgdecode.dll that will be used according to your script. Don't forget to execute the regpatch provided with avisynth64.zip.
3. Adjust path in megui config menu to x264.exe 64 bit version.
4. Add job to MeGUI as usual.
Two shots of hottest action!! :devil:
(EDIT)OK. These two pictures didn't last centuries... (/EDIT)
AMD X2 3800+. First pass, turbo mode, profile: HQ-slower (unaltered).
It does not exceed 65% CPU power consumption much.
Thank you, squid80, you spent a lot of time with this. Now the average user is able to use one of the most convenient and powerful GUI to encode with x264 with 64bit "enhancement". It's really much appreciated.
Last word: Personally, I miss LeakKerneldeint.dll in 64bit flavor, but AFAIK it is bustling with assembler code.
squid_80
13th September 2006, 05:59
Last word: Personally, I miss LeakKerneldeint.dll in 64bit flavor, but AFAIK it is bustling with assembler code.
There's a comment in leakkerneldeint's source code by the author:
// Someone somewhere probably wants my head on a silver plate for this (mis-)usage
// of the preprocessor, but I regret nothing - at the very least it keeps the code
// manageable and avoids branching in the inner loop... :P
....
Inline assembly sucks. Especially when it is conditionally compiled.
Kostarum Rex Persia
13th September 2006, 22:51
squid_80, dude, you are incredible. Thank you for this GREAT work.
Space Hopper
30th June 2008, 20:38
Even though I don't usually feel like an idiot, today I do...
I've tried all the above and I had a minor breakthrough in getting virtualdub x64 to load my avs using avisynth64, which seem to confirm that squid's various 64bit dll converts are working. So hurray for that and thanks squid!
But I cannot for the life of me get megui to load anything.
Neither my avs nor my d2v.
I cleared the megui.exe flags using corflags.exe megui.exe /32BIT- /FORCE
No errors, so I assume thats it.
No luck in megui however, it just throws an error:
"Avisynth script error:
Cannot load avisynth.dll"
As I've said, i've done everything I could dig up on this forum + google.
I'm at your mercy now...
:confused:
Ps. This video encoding business is as confusing as ever. :D
Bluedan
1st July 2008, 00:09
@ space hopper: It looks like avisynth64.dll could not be found (installed/registered correctly? you have 64bit OS for sure - didn't mention it explicitly?).
By using corflags to clear the 32bit flags you're turning MeGUI into a native 64-bit app, which means it's necessary to use the modified avisynthwrapper.dll and also it must use avisynth64 to display the preview. It's all unnecessary. All you need to do is:
- install avisynth (32-bit)
- install MeGUI (from x264.nl)
- install avisynth64.
- get 64-bit x264.exe and point MeGUI to it. When using the avisynth script creator turn off colour correction (since there is no 64-bit colormatrix) and don't even think about trying the "Analyse" button. If you choose a deinterlace option make sure there is a 64-bit function for it (e.g. part of decomb).
This way MeGUI will function as a 32-bit app using the regular 32-bit avisynth and plugins for the script creator, the only time 64-bit code is used is when x264.exe is called.
I just tried this and it worked flawlessly.
This is a quote from this thread (http://forum.doom9.org/showthread.php?t=118803).
The instructions there mean less action to make your machine work in 64bit on video frames.
Read that post and the following and you'll reach your aim.
I admit that I fell back to 32bit-only transcoding months ago because the different code potions transported to 64bit are mostly outdated. On the opposite: for many avisynth filters this is irrelevant, for the original 32bit version hasn't been changed for a long time as well.
Since squid80 seems to be the only guy being involved intensively with this task, it is simply overload for a 1-man-job.
x264, XVID and dgdecode are updated quite often - though sometimes maybe with only minor speedwise or functional improvements - who wants to keep up with this providing fresh up-to-date 64 bit code?
Squid80 has done much here so far, but that's impossible to ask.
On my side I don't have the time anymore (job) for extensive testing: I still wonder if there is a noticable difference in speed between the currently available 64bit (avisynth+filter+encoder) an 32bit code.
But still: what is a 30 minutes gain on one encode worth when I still let my encodes run overnight for some hours and switch on my pc in the morning (which I rarely do anyway) when the encoding has already ended a couple of hours ago?
It's academic then. :rolleyes:
Dark Shikari
1st July 2008, 00:44
On my side I don't have the time anymore (job) for extensive testing: I still wonder if there is a noticable difference in speed between the currently available 64bit (avisynth+filter+encoder) an 32bit code.x264 hasn't supported 64-bit Windows for years now. If you want to use 64-bit x264 for encoding, you'll need to use WINE + Avisynth + avs2yuv + mkfifo + x264 on Linux.
Bluedan
1st July 2008, 10:28
???
Maybe the primary code generation isn't optimized for 64bit compilation at all (didn't look after this and anyhow this is beyond my skills) but there have been several 64bit Windows compiles from squid80 and others in the past.
The latest I have on HD - fairly old now - is from Cef's site (http://mirror05.x264.nl/Cef/?dir=.), version r682.
I don't see why I should use Whine then ???
If there have been major changes in x264 since r682 I'd rather switch to 32bit windows build.
Sharktooth
1st July 2008, 12:53
it's wine... and yes, there have been major changes...
Space Hopper
1st July 2008, 14:53
@ space hopper: It looks like avisynth64.dll could not be found (installed/registered correctly? you have 64bit OS for sure - didn't mention it explicitly?).
I'd think avisynth64 works since I could load my avs through vdub64, and yeah I have windows vista 64 bit.
But I don't know much about vdub, so maybe its built in.
Anyway, sounds like its more trouble than its worth.
I'll jump back to 32bit I think.
However since 64bit has been around for a while now, I wish people would start developing for it. :)
Thanks anyway.
And thanks squid for trying to start some 64bit greatness.
Sharktooth
1st July 2008, 15:13
well i dont plan to ever install vista 64. dont know the other devs, but i think berrinam has ubuntu as his main OS (like me) and dont know about kurtnoise (i think he has vista 32 somewhere).
however, since x264 doesnt support win64 since some time i doubt the old 64bit builds are faster than the current 32bit ones. also the lack of 64bit avisynth filters and other 64bit packages...
squid_80
1st July 2008, 16:23
well i dont plan to ever install vista 64. dont know the other devs, but i think berrinam has ubuntu as his main OS (like me) and dont know about kurtnoise (i think he has vista 32 somewhere).
XP64 FTW. OEM copies turn up on ebay for around $50, and you get a power cord thrown in to make it legal :)
I don't do much encoding these days, when I do occassionally have a tv cap to take care of it gets punted to my spare E6600 thanks to virtualdub's shared processing list handling. So speed doesn't really matter to me.
ricky man
19th January 2009, 15:27
where do you get the corflag.exe ?
Sharktooth
19th January 2009, 16:24
start reading from the beginning of the thread...
ricky man
22nd January 2009, 22:03
when i try to convert MeGui 32bit to Megui 64bit, it tell me that" it cannot open for writing ." does anyone know what does that mean? and how do i fix this problem.
thank you.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.