Log in

View Full Version : MP Pipeline error


anton_foy
18th December 2021, 16:12
Hi, suddenly (I don't know what I changed or did to cause it) MP Pipeline started to give me this error:
MP_Pipeline: Unable to create slave process. Message: (slave_common.cpp) ReadFile failed,code=109
So I have downloaded the latest version (Pinterf's 0.23) but it gives me the same error. I read in an earlier thread that it needed to be updated to the newest version to fix the problem but since I did nothing changed. Anyone encountered this?
Thanks!

StainlessS
18th December 2021, 17:59
I dont use Mp Pipeline thingy,
ReadFile failed
Check your files names are correct [also, is it straight ASCII filename {without SPACES} and same for the script itself, rather than some other encoding].
IIRC, there was something some months ago where you now have to end the mp_pipeline script with a "Return Last".

An oft suggested hint is also, "Post Your Script".

anton_foy
18th December 2021, 18:08
I dont use Mp Pipeline thingy,

Check your files names are correct [also, is it straight ASCII filename {without SPACES} and same for the script itself, rather than some other encoding].
IIRC, there was something some months ago where you now have to end the mp_pipeline script with a "Return Last".

An oft suggested hint is also, "Post Your Script".

Sorry here is my script:
ClearAutoloadDirs()
#LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins+\mp_pipeline.dll")
LoadPlugin("C:\AvisynthRepository_361\AVSPLUS_x86\plugins\mp_pipeline.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins\manyPlus.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins\awarpsharpmt.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins\hqdn3d.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins\vsDeGrainMedian.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins\DGDecodeNV.dll")
LoadPlugin("C:\AvisynthRepository_361\AVSPLUS_x64\plugins\KNLMeansCL.dll")
LoadPlugin("C:\AvisynthRepository_361\AVSPLUS_x86\plugins\BM3DCPU_AVS.dll")
LoadPlugin("C:\AvisynthRepository_361\AVSPLUS_x86\plugins\BM3D_VAggregate_AVS.dll")
LoadPlugin("C:\AvisynthRepository_361\AVSPLUS_x86\plugins\BM3DCUDA_AVS.dll")

MP_Pipeline("""
SetFilterMTMode("DEFAULT_MT_MODE", 2)

#Index
LSMASHVideoSource("C:\Users\comp\Videos\C0135.mp4")


# ### prefetch: 32, 16
### ###
### platform: Win32
SetMemoryMax(20480)
SetCacheMode(mode=1)

SetFilterMTMode("LSmashVideoSource", MT_SERIALIZED)
convertbits(16)
Deblock_QED_MT(quant1=26, aOff1=1, aOff2=1, bOff1=2, bOff2=2, uv=3)
Levels(0, 1, 65280, 0, 235*256, coring=false, dither=false)

### platform: win32
### branch 4
### ###

### platform: Win32

### ###
SetFilterMTMode("DEFAULT_MT_MODE", 2)
# DENOISE #
basiq(preset="high")

### ###
### platform: Win32

neo_f3kdb(range=15, Y=45, Cb=30, Cr=30, grainY=0, grainC=0, sample_mode=2, blur_first=true, dynamic_grain=false, mt=true)

### platform: Win32

### ###

""")

trim(40,60)

#Chroma Upscaling
ConverttoYUV444()
ConvertBits(bits=10, dither=1)
Prefetch(16)

Thanks I will check.

EDIT: Checked, it is "mp_pipeline.dll" so no spaces (has not put in anymore dll's since it worked yesterday) and "return last" did not do it sadly.

Boulder
18th December 2021, 18:24
I have to ask: what are you looking for in MP_Pipeline?

anton_foy
18th December 2021, 18:29
I have to ask: what are you looking for in MP_Pipeline?

Without it my scripts run at snail pace at best or does not even run at all.

EDIT: just for testing atm without mp_pipeline I got an error: mt_expand : wrong colorspace, only YV12 or I420 allowed
but I only have the newest masktools2.dll

StainlessS
18th December 2021, 18:59
Without it my scripts run at snail mt_expand : wrong colorspace, only YV12 or I420 allowed
but I only have the newest masktools2.dll
It dont look like it. [maybe you got a rogue masktools loading from somewhere {and you dont seem to load it in that script}].

SetMemoryMax(20480) # 20 GB
Is above intended.
(also, does mp pipeline whatsit {x86} allow you to set 20GB of cache ??? {when entire x86 memory space is 4GB})

anton_foy
18th December 2021, 19:11
It dont look like it. [maybe you got a rogue masktools loading from somewhere {and you dont seem to load it in that script}].

SetMemoryMax(20480) # 20 GB
Is above intended.
(also, does mp pipeline whatsit {x86} allow you to set 20GB of cache ??? {when entire x86 memory space is 4GB})

Boulder suggested it to me in the Mdegrain SVP-thread to crank it up to 20480 https://forum.doom9.org/showthread.php?p=1958966#post1958966

Yes at last I found the hidden masktools.dll and removed it :stupid: thanks but now knlmeanscl fatal error now: CL_OUT_OF_HOST_MEMORY ...ugh

StainlessS
18th December 2021, 19:36
CL_OUT_OF_HOST_MEMORY
And what happens if you just comment out the setmemorymax line ?

Boulder
18th December 2021, 19:42
That kind of points to the video card memory? OpenCL (no, it's CUDA)??

I think you're mostly restricted by your 32-bit system - I believe it cannot use that 20GB of memory for cache anyway.

anton_foy
18th December 2021, 19:51
And what happens if you just comment out the setmemorymax line ?

I tried and it will not run I waited 14 minutes for it to start.

anton_foy
18th December 2021, 19:52
That kind of points to the video card memory? OpenCL (no, it's CUDA)??

I think you're mostly restricted by your 32-bit system - I believe it cannot use that 20GB of memory for cache anyway.

But it worked before when mp pipeline was working.

gispos
18th December 2021, 20:22
Try 'LWLibavVideoSource("C:\Users\comp\Videos\C0135.mp4", indexingpr=False)'
with the newer versions I also have problems with 'LSMASHVideoSource' with some mp4 files.

real.finder
18th December 2021, 20:27
Without it my scripts run at snail pace at best or does not even run at all.

EDIT: just for testing atm without mp_pipeline I got an error: mt_expand : wrong colorspace, only YV12 or I420 allowed
but I only have the newest masktools2.dll

maybe you need to read this https://forum.doom9.org/showthread.php?p=1902809#post1902809

anton_foy
18th December 2021, 20:31
Try 'LWLibavVideoSource("C:\Users\comp\Videos\C0135.mp4", indexingpr=False)'
with the newer versions I also have problems with 'LSMASHVideoSource' with some mp4 files.

Thanks! As for now it does not work but if I get mp pipeline work again it may improve things?

anton_foy
18th December 2021, 20:40
maybe you need to read this https://forum.doom9.org/showthread.php?p=1902809#post1902809

Thanks! It was my mistake.

anton_foy
23rd December 2021, 14:50
I uninstalled avisynth+ and everything removed all avisynth related dll's and after a whole day I got it to work (with mp_pipeline only though) but only one time. Tried the script about 30 times because for some reason the 2nd time it worked and the rest gives me: "MP_Pipeline: Unable to create slave process. Message: (test.avs, line 88)
test.avs: Unknown error occurred"

My script here:
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins\awarpsharpmt.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins\hqdn3d.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins\vsDeGrainMedian.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins\DGDecodeNV.dll")


MP_Pipeline("""

SetFilterMTMode("DEFAULT_MT_MODE", 2)

#Index
LWLibavVideoSource("C:\Users\comp\Videos\C0135.mp4", indexingpr=False)


# ### prefetch: 32, 16
### ###
### platform: Win32
SetMemoryMax(20480)
SetCacheMode(mode=1)

SetFilterMTMode("LWLibavVideoSource", MT_SERIALIZED)
convertbits(16)
Deblock_QED_MT(quant1=26, aOff1=1, aOff2=1, bOff1=2, bOff2=2, uv=3)
Levels(0, 1, 65280, 0, 235*256, coring=false, dither=false)


### platform: win32
### branch 4
### ###

### platform: Win32

### ###
SetFilterMTMode("DEFAULT_MT_MODE", 2)
# DENOISE #
basiq(preset="high")

### ###
### platform: Win32

neo_f3kdb(range=15, Y=45, Cb=30, Cr=30, grainY=0, grainC=0, sample_mode=2, blur_first=true, dynamic_grain=false, mt=true)

### platform: Win32

### ###

""")

trim(40,60)

#Chroma Upscaling
ConverttoYUV444()
ConvertBits(bits=10, dither=1)
Prefetch(16)

EDIT: Ahh my fault, I noticed I put a "t" by accident after SetFilterMTMode but I still think it is strange that it gives me the MP_pipeline error.
When changing back it is working (although it takes about 6-7minutes to start). Also I read in the MP Pipeline thread that I have to put the MP_pipeline exe-files and dll's for 64-bit in plugins64 folder and not in plugins64+.

anton_foy
22nd January 2022, 14:31
Sorry but trouble again since I installed AviSynth+ 3.7.1 final x64 and x86 (https://github.com/AviSynth/AviSynthPlus/releases/tag/v3.7.1)

I first uninstalled my previous version completely and checked system32 and systemWOW64 and they both did not contain any avisynth.dll or devil.dll files. Then I installed the new 3.7.1 FINAL version and then the plugins for x64 in the plugins64 -folder.

Error: Cannot load a 64 bit DLL in 32 bit Avisynth: 'C:/..../plugins64/*anyplugin*.dll'

Tried to put the x64 plugins in plugins64+-folder too but still the same error. I cannot understand why it is so complicated to get Avs+ to work. :(

Script:

ClearAutoloadDirs()
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\lsmashsource.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\gradationcurve_x64.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\manyPlus.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\awarpsharpmt.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\hqdn3d.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\fft3dgpu.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\masktools2.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\DGDecodeNV.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\deblock.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\KNLMeansCL.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\mvtools2.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\neo-f3kdb.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\neo-dfttest.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\neo-fft3d.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\reduceflicker.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\fastblur.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\dctfilter.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64\amdct.dll")
import("C:\Program Files (x86)\AviSynth+\plugins\Deblock_QED_MT2.avsi")
import("C:\Program Files (x86)\AviSynth+\plugins\gradepack.avsi")
import("C:\Program Files (x86)\AviSynth+\plugins\deblockpack.avsi")
import("C:\Program Files (x86)\AviSynth+\plugins\maskspack.avsi")
import("C:\Program Files (x86)\AviSynth+\plugins\extools.avsi")
import("C:\Program Files (x86)\AviSynth+\plugins\knlmc.avsi")
import("C:\Program Files (x86)\AviSynth+\plugins\transformspack.avsi")
import("C:\Program Files (x86)\AviSynth+\plugins\smdegrain.avsi")
import("C:\Program Files (x86)\AviSynth+\plugins\dfttestmc_mc.avsi")
import("C:\Program Files (x86)\AviSynth+\plugins\basiq.avsi")

#Index
LSMASHVideoSource("C:\Users\comp\Videos\C0561.mp4")

SetMemoryMax(2048)
SetCacheMode(mode=1)

convertbits(16)
Deblock_QED_mt(quant1=26, aOff1=1, aOff2=1, bOff1=2, bOff2=2, uv=3)
Levels(0, 1, 255*256, 0, 235*256, coring=false, dither=false)

#### NR ###
ex_levels(0,1.4,255)
MOTION=fft3dgpu(sigma=0.2,sigma2=0.6,sigma3=2,sigma4=1,plane=4,bt=1)
STATIC=HQ3DMC(LumT=10,LumS=1)
MASK=mt_lutxy(Trim(1,0),mt_polish("6*abs(x-y)"),U=-128, V=-128).ex_levels(10,2.0,60)
mt_merge(STATIC,MOTION,MASK,Y=3,U=3,V=3, luma=true).tweak(sat=1.2)
ReduceFlicker(strength=1, aggressive=false, grey=false)
neo_f3kdb(grainY=44,grainC=3,mt=true).ex_levels(0,0.72,255).ex_vibrance(0.94) #20, 10

#Chroma Upscaling
ConverttoYUV444()
ConvertBits(bits=10, dither=1) #16, 0

#Prefetch(16)
trim(40,60)

VoodooFX
22nd January 2022, 15:38
@anton_foy

You can't use 64bit plugins in 32bit AviSynth.

StainlessS
22nd January 2022, 16:57
You can't use 64bit plugins in 32bit AviSynth.
+,
you need to use x64 app [eg vdub2 x64] to open x64 avisynth, which in turn requires x64 plugins.

anton_foy
22nd January 2022, 17:32
@anton_foy

You can't use 64bit plugins in 32bit AviSynth.

you need to use x64 app [eg vdub2 x64] to open x64 avisynth, which in turn requires x64 plugins.

Yes but I installed both Avs+ x86 and x64 versions. Is that not enough? I even uninstalled and removed everything and installed only 64-bit Avisynth+ and it is the same error.

I use just as usual CMD and ffmpeg -i test64.avs -c:v prores_ks -profile:v 4 -pix_fmt yuv444p10 64.mov
to export to file.

Edit:
Sorry I see now I did not be clear that I installed both 32-bit and 64-bit Avs+.

poisondeathray
22nd January 2022, 18:17
Is your ffmpeg binary x64 or x86 ?

StainlessS
22nd January 2022, 18:57
I installed both Avs+ x86 and x64 versions. Is that not enough?

As PDR says, you need to exec x64 version ffmpeg,
your script tries load of x64 plugins,
so you need x64 avs+,
which will only be loaded by x64 app ie ffmpeg x64.

EDIT: x86 ffmpeg will load x86 avs+ which requires x86 dll's.
All of the way "down the line", they need all be same 'flavour' :)

EDIT: Above holds true for pretty much everything.
You can exec x64 or x86 programs on x64 Windows OS, but those executables MUST
only use same flavour dll's [Avisynth is a dll].
There are some kind of exceptions, eg PS-PAD (x86 OR x64) text editor can start up eg x86 and/or x64 versions
of VDub2, but that is because they execute them by Filename, ie they are started independantly [EDIT: not part of the parent process]
and thereafter need same flavour dll's as those executables [which are not necessarily the same as the PS-PAD executable].

anton_foy
22nd January 2022, 19:11
Is your ffmpeg binary x64 or x86 ?

As PDR says, you need to exec x64 version ffmpeg,
your script tries load of x64 plugins,
so you need x64 avs+,
which will only be loaded by x64 app ie ffmpeg x64.

EDIT: x86 ffmpeg will load x86 avs+ which requires x86 dll's.
All of the way "down the line", they need all be same 'flavour' :)

Beautiful thanks guys! That was the problem, 64-bit is even running (and quite good speed) without mp_pipeline.

VoodooFX
22nd January 2022, 19:28
Maybe your ffmpeg is x86?
Open exe with some text/hex viewer/editor and look in the header what letter comes after "PE", "L" is x86 and "d" indicates x64.

StainlessS
22nd January 2022, 19:46
Anton Foy,
I have set the "Open With" stuff so I can right click an AVS file and start with eg
x86 VirtualDub2, or x64 VirtualDub2, so can test both x86 and x64 'lanes' or 'branches' or whatever you want to call them.
I have same for PotPlayer and MPC-HC too. (maybe also for a few more apps, cant remember)

EDIT: But it also means you need eg x86 AND x64 versions of PotPlayer etc installed.
(Some apps, eg VDub2, install both x86 and x64 versions together anyway, others require separate installation)

anton_foy
22nd January 2022, 22:57
Anton Foy,
I have set the "Open With" stuff so I can right click an AVS file and start with eg
x86 VirtualDub2, or x64 VirtualDub2, so can test both x86 and x64 'lanes' or 'branches' or whatever you want to call them.
I have same for PotPlayer and MPC-HC too. (maybe also for a few more apps, cant remember)

EDIT: But it also means you need eg x86 AND x64 versions of PotPlayer etc installed.
(Some apps, eg VDub2, install both x86 and x64 versions together anyway, others require separate installation)

Nice thanks for the advice! I was using Vdub2 before but with the more demanding scripts it had problem to load them yet they worked in CMD with ffmpeg (no preview though).