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 > Video Encoding > MPEG-4 Encoder GUIs

Reply
 
Thread Tools Search this Thread Display Modes
Old 29th November 2006, 20:19   #1  |  Link
Bluedan
Registered User
 
Bluedan's Avatar
 
Join Date: Oct 2001
Location: were people always get wet feet
Posts: 328
MeGUI with avisynth 64 bit: avisynth script creator won't work

I decided to not put this in the usual MeGUI bug thread to avoid confusion for 32bit users.
On a second thought I'm not sure if it is a case of false settings anyway.
And third: Using Avisynth in 64bit flavor is a minority problem I guess.

Environment: XP 64bit. MeGUI 0.2.3.2192. 64bit dll/exe: Avisynth 20-07-2006, x264cli_x64_rev602, decomb 16-08-2005, dgdecode 22-06-2006 all transferred to 64bit from squid80.

The setup is done following this.

Well, I was using gordianknot for a long time to create the avs.
I wanted to use the build-in avisynth script creator but was confronted with the following error message when I try to open the d2v: no dgdecode_mpeg2source function known.
It seems that the dgdecode.dll wasn't found. Though when I create the avs with gordianknot (32bit everything) it can be run through megui.
In addition I am not able to set the plugin path to C:\Program Files (x86)\AviSynth 2.5\plugins\64bit in megui settings. I receive an error message saying something about an object. I'm sorry I cannot reproduce the exact words for I am in the middle of an encode. (Will add this later.)

What is wrong here?
__________________
I'm probably misconfused...
Bluedan is offline   Reply With Quote
Old 30th November 2006, 00:56   #2  |  Link
check
phjbdpcrjlj2sb3h
 
check's Avatar
 
Join Date: Sep 2005
Location: Western Australia
Posts: 1,692
I'd say it's the alpha version of 64bit software myself :P I'd just recommend you stick with the 32bit avisynth. If the info you posted in the other thread is correct (only using 65% of your CPU anyway), I think you'd be better off with avisynth32 + MT and multithreading x264.
check is offline   Reply With Quote
Old 30th November 2006, 05:55   #3  |  Link
squid_80
Registered User
 
Join Date: Dec 2004
Location: Melbourne, AU
Posts: 1,963
I don't understand why it's necessary to run MeGUI as a 64-bit application. Why can't you just point it to the 64-bit version of x264?
squid_80 is offline   Reply With Quote
Old 2nd December 2006, 22:09   #4  |  Link
Bluedan
Registered User
 
Bluedan's Avatar
 
Join Date: Oct 2001
Location: were people always get wet feet
Posts: 328
Quote:
Originally Posted by squid_80 View Post
I don't understand why it's necessary to run MeGUI as a 64-bit application. Why can't you just point it to the 64-bit version of x264?
That's exactly what I did. AFAIK there is no 64 bit version of MeGUI around and doesn't have to be: it's not time critical.

I just had to put MeGUI into a state that it is able to call 64 bit sub programmes. (Don't expect too much intelligence here from me, I'm no programmer, I'm afraid.)

I admit, I don't know how much the speed-up with 64 bit there really is (in terms of x264 mainly), but sure there is.
__________________
I'm probably misconfused...
Bluedan is offline   Reply With Quote
Old 3rd December 2006, 05:51   #5  |  Link
squid_80
Registered User
 
Join Date: Dec 2004
Location: Melbourne, AU
Posts: 1,963
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.
squid_80 is offline   Reply With Quote
Old 5th December 2006, 21:34   #6  |  Link
Bluedan
Registered User
 
Bluedan's Avatar
 
Join Date: Oct 2001
Location: were people always get wet feet
Posts: 328
I cannot get it to work this way over here following your directives.

The AVS generator works fine. The avs plays fine in a direct show player.
But when I start the job execution megui says this:

Code:
Avisynth open failure:
Script error: there is no function named "DGDecode_mpeg2source"
x264 [error]: could not open input file 'F:\AEONFLUX_PAL_GERMANY\test.avs'
(F:\AEONFLUX_PAL_GERMANY\test.avs, line 1)
I guess this is when avisynth 64 bit should kick in? I still wonder why the 64 bit version is supposed to be involved when starting encoding. I don't get how both dll could co-exist.
Somebody please enlight me.
__________________
I'm probably misconfused...
Bluedan is offline   Reply With Quote
Old 6th December 2006, 04:09   #7  |  Link
squid_80
Registered User
 
Join Date: Dec 2004
Location: Melbourne, AU
Posts: 1,963
You should be able to see a directory called \windows\syswow64. When a 32-bit program is running this directory appears to be \windows\system32, and the real \windows\system32 is invisible. Hence 64-bit dlls live in \windows\system32 and 32-bit dlls live in \windows\syswow64. This is how both versions co-exist.

A similar thing happens with the registry, entries for 32-bit programs are stored in different sections. I think this is where the problem is - 64-bit avisynth doesn't have a plugin directory set so dgdecode isn't being autoloaded. Copy this text into a .reg file (avisynth64plugin.reg or something), double-click on it and it will set your plugin directory to C:\Program Files (x86)\AviSynth 2.5\plugins\64bit which I took from your first post.
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
@="C:\\Program Files\\AviSynth 2.5"
"plugindir2_5"="C:\\Program Files (x86)\\AviSynth 2.5\\plugins\\64bit"
squid_80 is offline   Reply With Quote
Old 6th December 2006, 23:46   #8  |  Link
Bluedan
Registered User
 
Bluedan's Avatar
 
Join Date: Oct 2001
Location: were people always get wet feet
Posts: 328
Success!

That was causing the trouble. Now, it's much easier to handle. And I can skip GK for the script creation.

Thanks again, squid_80, for your patience and will to help.
It is really appreciated!

@check
CPU usage this way still varies between 60 and 70% on both cores together, ~50 fps first pass. What do you get there?
__________________
I'm probably misconfused...

Last edited by Bluedan; 6th December 2006 at 23:56.
Bluedan 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 23:59.


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