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. |
12th January 2019, 03:02 | #1 | Link |
Registered User
Join Date: Oct 2018
Posts: 54
|
Run 32-bit DLLs in 64-bit AviSnyth
I use this code:
Code:
LoadPlugin("J:\StaxRip-x64-2.0.0.0\Apps\MP_Pipeline-0.18\x64\MP_Pipeline.dll") MP_Pipeline(""" LoadPlugin("J:\StaxRip-x64-2.0.0.0\Apps\Plugins\AVS\GRunT\GRunT.dll") Import("J:\StaxRip-x64-2.0.0.0\Apps\Srestore.avsi") QTGMC(Preset = "Medium", FPSDivisor=2) Srestore(frate=23.976) ### prefetch: 16, 0 ### ### """) |
12th January 2019, 10:33 | #3 | Link | |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Quote:
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? |
|
12th January 2019, 14:55 | #4 | Link | |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
Quote:
Code:
LoadPlugin("J:\StaxRip-x64-2.0.0.0\Apps\MP_Pipeline-0.18\x64\MP_Pipeline.dll") MP_Pipeline(""" ### platform: win32 LoadPlugin("J:\StaxRip-x64-2.0.0.0\Apps\Plugins\AVS\GRunT\GRunT.dll") Import("J:\StaxRip-x64-2.0.0.0\Apps\Srestore.avsi") QTGMC(Preset = "Medium", FPSDivisor=2) Srestore(frate=23.976) ### prefetch: 16, 0 ### ### """) |
|
12th January 2019, 16:23 | #5 | Link | |
Registered User
Join Date: Oct 2018
Posts: 54
|
Quote:
https://pastebin.com/raw/yavC5T8a Last edited by Vitality; 12th January 2019 at 16:36. |
|
12th January 2019, 16:34 | #6 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Does your QTGMC use 64 bit plugs ?, does it work in only 32 bit mode (load script calling QTGMC only into Vdub 32 bit).
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 12th January 2019 at 16:36. |
12th January 2019, 16:42 | #10 | Link |
Registered User
Join Date: Sep 2007
Posts: 5,377
|
QTGMC does work under avs+ x64 MT , you need the updated version with updated pinterf plugins for mvtools , masktools
But - srestore is problematic to run in MT mode under any conditions . Many people get mixed up frames. Those that claim they don't probably didn't look closely |
12th January 2019, 16:45 | #12 | Link | |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
Quote:
Code:
LoadPlugin("C:\HDTV Tools\MP_Pipeline\x86\MP_Pipeline.dll") MP_Pipeline(""" ### platform: win64 LoadPlugin("C:\HDTV Tools\DGDecNV\DGDecodeNV.dll") DGSource("TIM_p_1.2_BD.dgi") trim(0,4999) ### prefetch: 20, 10 ### ### """) Frames processed: 5000 (0 - 4999) FPS (min | max | average): 137.9 | 570.2 | 482.6 Memory usage (phys | virt): 26 | 13 MiB Thread count: 20 CPU usage (average): 1% Time (elapsed): 00:00:10.360 Code:
LoadPlugin("C:\HDTV Tools\MP_Pipeline\x64\MP_Pipeline.dll") MP_Pipeline(""" ### platform: win64 LoadPlugin("C:\HDTV Tools\DGDecNV\DGDecodeNV.dll") DGSource("TIM_p_1.2_BD.dgi") trim(0,4999) ### prefetch: 20, 10 ### ### """) Frames processed: 5000 (0 - 4999) FPS (min | max | average): 189.0 | 589.9 | 484.8 Memory usage (phys | virt): 20 | 8 MiB Thread count: 20 CPU usage (average): 1% Time (elapsed): 00:00:10.314 Code:
LoadPlugin("C:\HDTV Tools\DGDecNV\DGDecodeNV.dll") DGSource("TIM_p_1.2_BD.dgi") trim(0,4999) Frames processed: 5000 (0 - 4999) FPS (min | max | average): 154.1 | 635.2 | 481.1 Memory usage (phys | virt): 210 | 556 MiB Thread count: 27 CPU usage (average): 5% Time (elapsed): 00:00:10.393 |
|
12th January 2019, 16:50 | #13 | Link | |
Registered User
Join Date: Sep 2007
Posts: 5,377
|
Quote:
That's entirely my point - we don't have x64 versions of everything, so you use it as a last resort. You don't use this for fun because it adds overhead and is slower Repeat the test with some typical scripts that have both x64 and x86 filters . QTGMC and Srestore are available in x64 natively. So there is no reason to run in x86 for some parts |
|
12th January 2019, 16:57 | #14 | Link | |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
Quote:
And what do you mean by slower? I've just easily demonstrated it's not slower to use MP_Pipeline than not using it for the same script. There's no throughput loss in MP_Pipeline or in it piping from x86 to x64 filter chains. Are you trying to say that x86 versions of plugins are slower than their x64 counterparts? Last edited by Stereodude; 12th January 2019 at 16:59. |
|
12th January 2019, 16:59 | #15 | Link | |
Registered User
Join Date: Sep 2007
Posts: 5,377
|
Quote:
@Vitality - which versions of QTGMC, Srestore do you have ? |
|
12th January 2019, 17:06 | #16 | Link | |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
Quote:
In contrast, it can speed up some scripts (at the expense of using more total system memory). Like using QTGMC followed by MCTD. Separating the two of them with MP_Pipeline into their own sections is faster than running them together in a single conventional AVS script. |
|
12th January 2019, 17:32 | #18 | Link | ||
Registered User
Join Date: Sep 2007
Posts: 5,377
|
QTGMC_3.361s
https://forum.doom9.org/showthread.php?p=1836519=510 Srestore2.792 Quote:
Compare running 1) native x64, 2) native x86, both with some filters , you would expect (1) be faster, right ? Ok. For fun, replace the intermediate filter with an x86 version using mp_pipeline (3) . You would expect it to be faster than (2), but slower than (1) . In reality, it's the slowest, slower than native x86 . The more filters, the larger the delta script0.avs Code:
colorbarshd(1920,1080) trim(0,4999) spline36resize(720,480) spline36resize(1920,1080) script1.avs Code:
MP_Pipeline(""" ### platform: win64 colorbarshd(1920,1080) trim(0,4999) ### ### ### platform: win32 spline36resize(720,480) ### ### ### platform: win64 spline36resize(1920,1080) ### ### """) (1) avsmeter64 script0.avs (2) avsmeter script0.avs (3) avsmeter64 script1.avs => you can try different prefetch values , it will still be slower native x86 Quote:
In other cases, running x64 natively is faster (Also, the threading model is much better in vapoursynth . When you have multiple filters , it tends to bog down avisynth+ mt ) Last edited by poisondeathray; 12th January 2019 at 17:47. |
||
12th January 2019, 17:33 | #19 | Link | |
Registered User
Join Date: Oct 2018
Posts: 54
|
Quote:
|
|
12th January 2019, 17:42 | #20 | Link | |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
Quote:
|
|
|
|