Log in

View Full Version : MeGUI: bug reports and feature requests


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 [101] 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147

Groucho2004
16th March 2016, 17:15
Another one is mt_masktools.dll , that's an older one . There used to be mt_masktools-26.dll and mt_masktools-25.dll (for avisynth 2.6.x and 2.5.x , respectively, for masktools2 a48), but those are older too. The newest one is masktools2.dll (masktools 2 beta 1) for avisynth 2.6 , I would try updating that too

http://avisynth.nl/index.php/MaskTools2
I believe I covered that in my previous post.

poisondeathray
16th March 2016, 17:17
I believe I covered that in my previous post.

Sorry, I didn't see it before posting. 2 min too late :o

Bruce/Fl
16th March 2016, 23:32
Hey, we're getting somewhere, thanks to all!

Here is thelogfile from the speed test. I used a very short clip. I didn't include the script from the logfile (Huge!)

[General info]
Log file created with: AVSMeter 2.1.6 (x86)
Script file: C:\Users\Bruce\Desktop\Practice\BJM1a.avs
Avisynth version string: AviSynth 2.60, build:Mar 31 2015 [16:38:54]
Avisynth file version: 2.6.0.6
Avisynth Interface Version: 6
Avisynth MT support: No
Avisynth.dll linker/compiler version: 6.0
Avisynth.dll location: C:\Windows\SysWOW64\avisynth.dll
Avisynth.dll time stamp: 2015-03-31, 01:40:58
PluginDir2_5 (HKLM, x86): C:\Users\Bruce\Videos\Tools\AVISynth\plugins


[Clip info]
Number of frames: 76
Length (hh:mm:ss.ms): 00:00:05.072
Frame width: 1920
Frame height: 1080
Framerate: 14.985 (15000/1001)
Colorspace: YV12
Audio channels: n/a
Audio bits/sample: n/a
Audio sample rate: n/a
Audio samples: n/a


[Runtime info]
Frames processed: 76 (0 - 75)
FPS (min | max | average): 0.208 | 0.737 | 0.323
Memory usage (phys | virt): 1121 | 1124 MB
Thread count: 1
CPU usage (average): 24%
Time (elapsed): 00:03:55.489

I tried to slip in a "changeFPS (30000, 1001)" at the end, but it didn't take, (it's still 14.985, maybe someone here will help me in the placement of that later.

With the script successfully getting through the meter, I tried MeGUI, and, success!

Now I just need to figure out how to get it back to 29.970, and then press on with what comes after I get me .264 file.

So, what does the AVSmeter tell us?

Groucho2004
17th March 2016, 00:05
FPS (min | max | average): 0.208 | 0.737 | 0.323
So, what does the AVSmeter tell us?That you have to have a lot of patience using that script. :D

poisondeathray
17th March 2016, 00:13
What was the culprit ? So that other people facing the same symptoms can get help next time. Does avspmod still not work for you ?

If you script has something like "return last", add the changefps() before that, or erase the return line . Or post the current version of the script

Bruce/Fl
17th March 2016, 00:58
That you have to have a lot of patience using that script. :D

Yeah, and I've only got 6 hours of film to process! lol

Maybe 3 hours, since I'm taking out the dupe frames .....

EDIT: I know John really worked on the speed, and he had great success. He has provisions in place for multi threading, but I'm not messing with that yet. (I'll probably need to reincorporate that MT_masktools.dll then?) My desktop that I am at has an old processor, an AMD A6-3650 APU with Radeon(tm) HD Graphics 2.60 GHz (Quad core)

My laptop has an i7, I hope to use that as much as I can, till I spring for a new desktop.

Bruce/Fl
17th March 2016, 01:02
What was the culprit ? So that other people facing the same symptoms can get help next time. Does avspmod still not work for you ?

If you script has something like "return last", add the changefps() before that, or erase the return line . Or post the current version of the script

It looks like it was those newer .dlls Groucho had me switch out. Was it one in particular? I don't know.

After everything gets straightened out I can swap some back in and see which 1(s) jam it up.

I had temporarlily forgot about my AVVSPmod issue. I just tried it, still nothing. Won't open, and when I drag a script to the shortcut (or the executabe) nothing happens. Tried running as admin also, still nothing.

I'll post the script at present, next.

Bruce/Fl
17th March 2016, 01:08
Part 1 of probably 3

# film restoration script by videoFred.
# denoising, resizing, stabilising, sharpening, auto-levels and auto-white balance.
#
# Modified by John Meyer, October 7, 2012
#
# Changes made by Meyer (June 8, 2010):
# 1. Replaced the MVDegrainMulti function, which was part of the original MVTools
# with the equivalent function using the newer and faster MVTools2.
# 2. Added RemoveDirt function prior to Degrain in order to eliminate large dust spots. This
# substantially improves the dirt removal capabilities of this script. The user will need to
# download this plugin at:
# http://www.removedirt.de.tf/
# 3. Eliminated a great deal of sharpening. The original script did sharpening in at least four places.
# With grainy film stock, this sometimes created objectionable grain. Also, the limitedSharpenFaster
# function, while excellent for video, is uncessarily slow, and isn't really needed for this low
# resolution source. Too much sharpening can make the film look too much like video.
# 4. Added multithreading. I was able to roughly triple the script performance. It may be possible to
# substantially increase this, perhaps as much as 12x instead of 3x. However, the autolevels function
# would have to be replaced.
# 5. Fixed several things I found. The result3 option didn't have the manual color correction code, so I
# added that back in. All the numbered "stab" variables (stab1, stab2, etc.) aren't needed except
# for providing a test function for stabilization. I eliminated all of this to streamline the script.
# 6. Deflicker seemed redundant, given all the averaging that takes place with MDegrain, and also the averaging
# that is done when the autolevels outputs are selected.
# 7. I reduced the number of frames used for averaging autolevels from the default (which is 5) to 2.
# I probably should add a variable in the header so the user can change this. Something else to do
# in the future ...
# 8. I added yet another set of crop parameters. I did this because both my capture and my output are
# done using NTSC DV AVI which is 720x480. However, 8mm film is almost exactly square, so the captured
# 720x480 video has black bars on the side. These need to be cropped off prior to doing motion
# stabilization, but then added back prior to the final output, which must still be 720x480 with the
# black bars on the side.
# 9. I reduced the default depan settings to 20, which is what was recommended in the original script. I
# also reduced the post-depan cropping. I did this so I could keep as much of the original frame
# as possible.
# 10. I removed the second denoising and sharpening function. It just seemed to be too much, and made the
# result too artificial
# 11. I removed the MVFLowFPS interpolation. I did this during one of dozens and dozens of attempts
# to improve the speed of the script. I should probably add this back, but if I do so, I also
# need to make it work correctly for interlaced output. If the goal is to show this on an NTSC or PAL
# television set, then it is not correct to convert from the film fps to 25 fps progressive (PAL) or
# 29.97 fps progressive (NTSC). Instead, this should be done as follows (example given is NTSC):
#
# MFlowFPS(source,super,backward_vec, forward_vec, num=60000, den=1001,ml=200)
# SeparateFields()
# SelectEvery(4, 0, 3)
# Weave()
#
# This yields interlaced 29.97, which has twice the temporal resolution as 29.97 progressive, and will
# therefore look correct on a TV set. I have done a lot of this as part of my Kinescope to video
# conversion scripts. For those scripts, the goal is to make the filmed version of a TV show look
# like it was actually videotaped. However, for something that originated on film, this "does violence"
# to the original feel of the media. It is true that it can make horizontal pans less "juddery," but
# it won't feel like film anymore. Also, this technique does break down, espcially with fast motion
# in the foreground.
# 12. Removed the unecessary "coloryuv(off_U=blue,off_V=red)" statement from the denoising section.
# 13. Added killaudio() statement to prevent lockups when using SetMTMode().
#
# Changes made on October 7, 2012
#
# 1. Modified RemoveDirtMC function to do estimation in two steps. This improves performance and quality.
# 2. Modified MDegrain to do estimation in two steps. This provides roughly the same quality with blocksize=8
# as what I was getting with blocksize=4, but with virtually no performance penalty
# 3. Updated to use special build of MVTools2 that works with SVP.
# 4. Moved Autolevels inside special multi-threading section in order to improve performance with autolevels.
# 5. Removed all trim commands because I do all editing outside the script (in Vegas).
# 6. Included two alternative ways to do frame interpolation: SVP and InterFrame. The InterFrame script is probably better
# but I included the SVP code because it may provide a starting point for more customized approaches. Neither is enabled by default.
#

#====================================================================================

Bruce/Fl
17th March 2016, 01:09
Part 2 of 3

#VIDEO FILE
#----------------------------------------------------------------------------------------------------------------------------
#Change the following line to point to your video file
source=AVISource("C:\Users\Bruce\Desktop\fs.avi")


#GENERAL PARAMETERS
#----------------------------------------------------------------------------------------------------------------------------
result="result4" #specify the wanted output here
play_speed=16 #play speed (8mm=16; Super8=18; 16mm sound=24)


#COLOR AND LEVELS PARAMATERS
#----------------------------------------------------------------------------------------------------------------------------
saturation=1.0 #for all outputs
gamma=1.0 #for all outputs
blue= -0 red=-0 #manual color adjustment, when returning result3 & result4. Values can be positive or negative
black_level=0 white_level=255 output_black=0 output_white=255 #manual levels, when returning result2 & result4


#SIZE, CROP AND BORDERS PARAMETERS
#----------------------------------------------------------------------------------------------------------------------------
CLeft=16 CTop=16 CRight=16 CBottom=16 #crop values after Depan and before final resizing
W=1920 H=1080 #final size after cropping
bord_left=0 bord_top=0 bord_right=0 bord_bot=0 #720p= borders 150
in_bord_left=240 in_bord_top=0 in_bord_right=240 in_bord_bot=0 #Borders around input that must be removed


#STABILISING PARAMETERS
#----------------------------------------------------------------------------------------------------------------------------
maxstabH=5 #maximum values for the stabiliser (in pixels) 20 is a good start value
maxstabV=20
est_left=40 est_top=40 est_right=40 est_bottom=40 #crop and contast values for special Estimate clip
est_cont=1.6

#DENOISING PARAMETERS
#----------------------------------------------------------------------------------------------------------------------------
#denoising_strength=600 #denoising level of first denoiser: MVDegrain()
#denoising_strength=300 #denoising level of first denoiser: MVDegrain()
#block_size= 16 #block size of MVDegrain
#block_size_v= 16
#block_over= 8 #block overlapping of MVDegrainMulti()

denoising_strength= 600 #denoising level of first denoiser: MDegrain()
block_size= 8 #block size of MVDegrain
block_size_v= 8
block_over= 4 #block overlapping of MVDegrainMulti()

#denoising_strength= 600 #denoising level of first denoiser: MDegrain()
#block_size= 4 #block size of MVDegrain
#block_size_v= 4
#block_over= 2 #block overlapping of MVDegrainMulti()

dirt_strength=23 #sets amount of dirt removal (big spots)


#FOUR STEP SHARPENING PARAMETERS
#--------------------------------------------------------------------------------------------------------------------------------
PRE_sharp_ness= 120 PRE_radi_us= 3 #presharpening (UnsharpMask) just after first denoising
#PRE_sharp_ness= 85 PRE_radi_us= 3 #presharpening (UnsharpMask) just after first denoising

LSF_sharp_ness=160 LSF_radi_us=2 LSF_sub=1.5 #second sharpening parameters (LimitedSharpenFaster) sub=subsampling

#Sharp_Strength = 0.4
Sharp_Strength = 0.1


#AUTO LEVELS PARAMETER
#--------------------------------------------------------------------------------------------------------------------------------
X=4 #X is a special parameter for reducing the autolevels effect on the whites
X2=4 #X2 is a special parameter for reducing the autolevels effect on the blacks


#NUMBER OF THREADS
#--------------------------------------------------------------------------------------------------------------------------------
threads=6


# END VARIABLES, BEGIN SCRIPT
#=================================================================================================================================


SetMemoryMax(1000)

LoadPlugin ("mvtools2.dll") #Version 2.5.11.9 2/24/2012
LoadPlugin("autolevels.dll") #Version 0.6.0.0 1/09/2011
LoadPlugin("Deflicker.dll") #Version 0.4.0.0 8/16/2004
Loadplugin("Depan.dll") #Version 1.10.0.0 4/09/2007
LoadPlugin("DepanEstimate.dll") #Version 1.9.2.0 3/25/2007
LoadPlugin("fft3dfilter.dll") #Version 2.1.1.0 2/20/2007
#Loadplugin("mt_masktools.dll") #Version 2.0.23.0 3/14/2008
loadplugin("RemoveDirtSSE2.dll") #Version 0.9 5/05/2005
Loadplugin("RemoveGrainSSE2.dll") #Version 0.9 5/01/2005
#Loadplugin("removegrain.dll") #Version 0.9 5/01/2005
Loadplugin("warpsharp.dll") # 4/05/2010


#Use the following for alternative frame interpolation
#loadplugin("svpflow1.dll") #Version 1.2.1.0 5/29/2012
#loadplugin("svpflow2.dll") #Version 1.3.1.0 6/02/2012
#Import("InterFrame2.avsi") #Version 2.1.0 6/27/2012

#Import("LimitedSharpenFaster.avs") #Not used in this script, but available if someone wants to experiment
#LoadPlugIn("LimitedSupport_09Jan06B.dll") #Used with LimitedSharpenFaster

#Remove all setmtmode statements (there are three in this script) if not using multi-threaded (MT) AVISynth
#setmtmode(5,threads)
source1=AVISource("C:\Users\Bruce\Desktop\fs.avi").assumefps(15000,1001).ConverttoYv12().killaudio
#source1= Avisource(film).assumefps(play_speed).converttoYV12()
cropped_source=source1.crop(in_bord_left,in_bord_top,-in_bord_right,-in_bord_bot) #remove any black borders on input video
#setmtmode(2)

#cropped_source=filldrops(cropped_source) #Use this when removing bad frames that have been removed by duplicating previous frame


#STABILIZING
#....................................................................................................................................................................
stab_reference= cropped_source.crop(est_left,est_top,-est_right,-est_bottom).tweak(cont=est_cont).MT_binarize(threshold=80).greyscale().invert()
mdata=DePanEstimate(stab_reference,trust=1.0,dxmax=maxstabH,dymax=maxstabV)
#stab=DePanStabilize(cropped_source,data=mdata,cutoff=0.5,dxmax=maxstabH,dymax=maxstabV,method=1,mirror=15).deflicker()
stab=DePanStabilize(cropped_source,data=mdata,cutoff=0.5,dxmax=maxstabH,dymax=maxstabV,method=1,mirror=15)


#DENOISING
#...................................................................................................................................................................
input_to_removedirt=stab.crop(CLeft,CTop,-CRight,-CBottom)
stabcrop=RemoveDirtMC(input_to_removedirt,dirt_strength,false)

prefiltered = RemoveGrain(stabcrop,2)
superfilt = MSuper(prefiltered, hpad=32, vpad=32,pel=2)
super= MSuper(stabcrop, hpad=32, vpad=32,pel=2)

halfblksize= (block_size>4) ? block_size/2 : 4
halfoverlap= (block_over>2) ? block_over/2 : 2

bvec1 = MAnalyse(superfilt, isb = true, delta = 1, blksize=block_size, overlap=block_over,dct=0)
bvec1 = MRecalculate(super, bvec1, blksize=halfblksize, overlap=halfoverlap,thSAD=100)

fvec1 = MAnalyse(super, isb = false, delta = 1, blksize=block_size, overlap=block_over,dct=0)
fvec1 = MRecalculate(super, fvec1, blksize=halfblksize, overlap=halfoverlap,thSAD=100)

bvec2 = MAnalyse(super, isb = true, delta = 2, blksize=block_size, overlap=block_over,dct=0)
bvec2 = MRecalculate(super, bvec2, blksize=halfblksize, overlap=halfoverlap,thSAD=100)

fvec2 = MAnalyse(super, isb = false, delta = 2, blksize=block_size, overlap=block_over,dct=0)
fvec2 = MRecalculate(super, fvec2, blksize=halfblksize, overlap=halfoverlap,thSAD=100)

# bvec3 = MAnalyse(super, isb = true, delta = 2, blksize=block_size, overlap=block_over,dct=0)
# bvec3 = MRecalculate(super, bvec3, blksize=halfblksize, overlap=halfoverlap,thSAD=100)

# fvec3 = MAnalyse(super, isb = false, delta = 2, blksize=block_size, overlap=block_over,dct=0)
# fvec3 = MRecalculate(super, fvec3, blksize=halfblksize, overlap=halfoverlap,thSAD=100)


#super = stabcrop.MSuper(pel=2)
#bvec1 = MAnalyse(super, isb = true, delta = 1, blksize=block_size, overlap=block_over,dct=0)
#fvec1 = MAnalyse(super, isb = false, delta = 1, blksize=block_size, overlap=block_over,dct=0)
#bvec2 = MAnalyse(super, isb = true, delta = 2, blksize=block_size, overlap=block_over,dct=0)
#fvec2 = MAnalyse(super, isb = false, delta = 2, blksize=block_size, overlap=block_over,dct=0)
#bvec3 = MAnalyse(super, isb = true, delta = 3, blksize=block_size, overlap=block_over,dct=0)
#fvec3 = MAnalyse(super, isb = false, delta = 3, blksize=block_size, overlap=block_over,dct=0)


#Use the second line below, and un-comment two lines above if you want to average more frames. Doesn't seem necessary for most work IMHO.
denoised=stabcrop.MDegrain2(super, bvec1,fvec1,bvec2,fvec2,thSAD=denoising_strength).levels(0,gamma,255,0,255).tweak(sat=saturation).unsharpmask(PRE_sharp_ness,PRE_radi_us,0)
#denoised=stabcrop.MDegrain3(super, bvec1,fvec1,bvec2,fvec2,bvec3,fvec3,thSAD=denoising_strength).tweak(sat=saturation).unsharpmask(PRE_sharp_ness,PRE_radi_us,0)

Bruce/Fl
17th March 2016, 01:09
3 of 3

#SHARPENING
#...................................................................................................................................................................
sharp1=denoised.sharpen(Sharp_Strength)
#sharp1=limitedSharpenFaster(denoised,smode=1,strength=LSF_sharp_ness,overshoot=50,radius=LSF_radi_us, ss_X=LSF_sub, SS_Y=LSF_sub, dest_x=W - bord_left - in_bord_left - bord_right - in_bord_right,dest_y=H - bord_top - in_bord_top - bord_bot - in_bord_bot)

PreBorderFrame = sharp1.Lanczos4Resize(W - bord_left - in_bord_left - bord_right - in_bord_right, H - bord_top - in_bord_top - bord_bot - in_bord_bot)

#FRAME INTERPOLATION (optional)
#...................................................................................................................................................................

#superfps= MSuper(PreBorderFrame,pel=2)
#backward_vec2 = MAnalyse(superfps, isb = true,blksize=16)
#forward_vec2 = MAnalyse(superfps, isb = false,blksize=16)
#PreBorderFrame = MFlowFps(PreBorderFrame,superfps, backward_vec2, forward_vec2, num=60000, den=1001, ml=200).SeparateFields().SelectEvery(4, 0, 3).Weave()

#The following alternative can provide synthesized frames for hi-def material that causes MSuper to choke
#////// Begin alternative to MFlowFPS ////
#super_params="{pel:2,gpu:1}"
#analyse_params="""{block:{w:32,h:32},
# main:{search:{coarse:{distance:-10}}},
# refine:[{thsad:200}]
# }"""

#smoothfps_params="{rate:{num:60,den:16,abs:false},scene:{mode:0,limits:{scene:8500}},algo:21,cubic:1}"

#The following provides smooth output
#super = SVSuper(PreBorderFrame,super_params)
#vectors = SVAnalyse(super, analyse_params)
#PreBorderFrame = SVSmoothFps(PreBorderFrame,super, vectors, smoothfps_params, url="www.svp-team.com", mt=threads).SeparateFields().SelectEvery(4, 0, 3).Weave().assumefps(29.97)
#////// End alternative to MFlowFPS ////


#The following is another alternative that can provide synthesized frames for hi-def material that causes MSuper to choke. Probably better than the one above.
#////// Begin alternative to MFlowFPS ////
#PreBorderFrame=InterFrame(NewNum=30000,NewDen=1001,PreBorderFrame,GPU=true,Cores=threads)
#////// End alternative to MFlowFPS ////

#Change SetMTMode for Autolevels

#SetMTMode(5,threads)

#RESULT1: AUTOLEVELS,AUTOWHITE
#......................................................................................................................................................................
result1= PreBorderFrame.coloryuv(autowhite=true).addborders(X,0,0,0,$FFFFFF).addborders(0,0,X2,0,$000000).autolevels(filterRadius=2).crop(X,0,-X2,-0).addborders(bord_left+in_bord_left, bord_top+in_bord_top, bord_right+in_bord_right, bord_bot+in_bord_bot)

#RESULT3: AUTOLEVELS, MANUAL COLOR CORRECTIONS
#.....................................................................................................................................................................
result3= PreBorderFrame.coloryuv(off_U=blue,off_V=red).addborders(X,0,0,0,$FFFFFF).addborders(0,0,X2,0,$000000).autolevels(filterRadius=2).crop(X,0,-X2,-0).addborders(bord_left+in_bord_left, bord_top+in_bord_top, bord_right+in_bord_right, bord_bot+in_bord_bot)

#SetMTMode(2)


#RESULT2: MANUAL LEVELS, AUTOWHITE
#......................................................................................................................................................................
result2= PreBorderFrame.levels(black_level,gamma,white_level,0,255).coloryuv(autowhite=true).addborders(bord_left+in_bord_left, bord_top+in_bord_top, bord_right+in_bord_right, bord_bot+in_bord_bot)

#RESULT4: MANUAL LEVELS, MANUAL COLOR CORRECTIONS
#.....................................................................................................................................................................
result4= PreBorderFrame.coloryuv(off_U=blue,off_V=red).levels(black_level,gamma,white_level,0,255).addborders(bord_left+in_bord_left, bord_top+in_bord_top, bord_right+in_bord_right, bord_bot+in_bord_bot)

#PARAMETERS FOR THE COMPARISONS
#.....................................................................................................................................................................
W2= W+bord_left+bord_right
H2= H+bord_top+bord_bot
source4=Lanczos4Resize(source1,W2,H2)


#COMPARISONS: ORIGINAL VS RESULTS
#......................................................................................................................................................................
resultS1= stackhorizontal(subtitle(source4,"original",size=28,align=2),subtitle(result1,"autolevels, autowhite",size=28,align=2))
resultS2= stackhorizontal(subtitle(source4,"original",size=28,align=2),subtitle(result2,"autowhite, manual levels correction",size=28,align=2))
resultS3= stackhorizontal(subtitle(source4,"original",size=28,align=2),subtitle(result3,"autolevels, manual color correction",size=28,align=2))
resultS4= stackhorizontal(subtitle(source4,"original",size=28,align=2),subtitle(result4,"manual colors and levels correction",size=28,align=2))

source1=AVISource("C:\Users\Bruce\Desktop\fs.avi").ChangeFPS(30000, 1001)

Eval(result)

# END SCRIPT, BEGIN FUNCTIONS
#=================================================================================================================================


#REMOVE DIRT FUNCTION
#......................................................................................................................................................................
function RemoveDirt(clip input, int "limit", bool "_grey")
{
clensed=input.Clense(grey=_grey, cache=4)
alt=input.RemoveGrain(2)
return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=6,cthreshold=8, gmthreshold=40,dist=3,dmode=2,debug=false,noise=limit,noisy=4, grey=_grey)

# Alternative settings
# return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey,show=true)
# return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=6,cthreshold=8, gmthreshold=40,dist=3,tolerance= 12,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey,show=false)
}

function RemoveDirtMC(clip,int "limit", bool "_grey")
{
_grey=default(_grey, false)
limit = default(limit,6)

# prefiltered = fft3dfilter(clip,sigma=1,sigma2=2,sigma3=3,sigma4=5,bw=64,bh=64)

prefiltered = RemoveGrain(clip,2)
superfilt = MSuper(prefiltered, hpad=32, vpad=32,pel=2)
super=MSuper(clip, hpad=32, vpad=32,pel=2)

bvec = MAnalyse(superfilt,isb=true, blksize=16, overlap=2,delta=1, truemotion=true)
fvec = MAnalyse(superfilt,isb=false, blksize=16, overlap=2,delta=1, truemotion=true)

bvec_re = Mrecalculate(super,bvec,blksize=8, overlap=0,thSAD=100)
fvec_re = Mrecalculate(super,fvec,blksize=8, overlap=0,thSAD=100)

backw = MFlow(clip,super,bvec_re)
forw = MFlow(clip,super,fvec_re)

clp=interleave(forw,clip,backw)
clp=clp.RemoveDirt(limit,_grey)
clp=clp.SelectEvery(3,1)
return clp
}

#This function is the previous way to do motion estimation. It is slower and not as accurate.
function RemoveDirtMC_old(clip,int "limit", bool "_grey")
{
_grey=default(_grey, false)
limit = default(limit,6)
i=MSuper(clip,pel=2)
fvec = MAnalyse(i,isb=false, blksize=16, delta=1, truemotion=true)
bvec = MAnalyse(i,isb=true, blksize=16, delta=1, truemotion=true)
backw = MFlow(clip,i,bvec)
forw = MFlow(clip,i,fvec)
clp=interleave(forw,clip,backw)
clp=clp.RemoveDirt(limit,_grey)
clp=clp.SelectEvery(3,1)
return clp
}

# This function will remove near duplicates ("0.1") or exact duplicates (change to "0.0"). It replaces these
# duplicates with a motion estimated frame.
# Use: In your video editor, replace any single bad frame (burned frame, jump, missing frame from splice, etc.) with a duplicate of the
# previous frame. Then, include a call to this function
function filldrops (clip c)
{
super=MSuper(c,pel=2)
vfe=manalyse(super,truemotion=true,isb=false,delta=1)
vbe=manalyse(super,truemotion=true,isb=true,delta=1)
filldrops = mflowinter(c,super,vbe,vfe,time=50)
fixed = ConditionalFilter(c, filldrops, c, "YDifferenceFromPrevious()", "lessthan", "0.1")
return fixed
}

Bruce/Fl
17th March 2016, 01:16
I'm trying to set up both my desktop and my laptop with the same programs/scripts.

I have my desktop running the script, and the speed test and MeGUI both work with the script now.

Using the same avisynth, same plugins, etc, when I try to run the speed test on my laptop, it fails at the following step.

"There is no function named "MT_Binarize"

Here is the offending segment.

#STABILIZING
#....................................................................................................................................................................
stab_reference= cropped_source.crop(est_left,est_top,-est_right,-est_bottom).tweak(cont=est_cont).MT_binarize(threshold=80).greyscale().invert()
mdata=DePanEstimate(stab_reference,trust=1.0,dxmax=maxstabH,dymax=maxstabV)
#stab=DePanStabilize(cropped_source,data=mdata,cutoff=0.5,dxmax=maxstabH,dymax=maxstabV,method=1,mirror=15).deflicker()
stab=DePanStabilize(cropped_source,data=mdata,cutoff=0.5,dxmax=maxstabH,dymax=maxstabV,method=1,mirror=15)

My desktop avisynth setup lets it through, the laptop (windows 10, if it makes a difference) flags it.

Does that point to any particular dll that I may have mishandled, if anyone knows?

poisondeathray
17th March 2016, 03:28
mt_binarize is from masktools2.dll ; the older version was called mt_masktools-26.dll for avisynth 2.6.x

welcome to avisynth .dll hell :D everyone goes though it at some point

Bruce/Fl
17th March 2016, 03:42
I wonder why it works on my desktop and not on my laptop though, I'm not positive, but I believe I've got all the same files loaded up on each.

Groucho2004
17th March 2016, 09:36
I wonder why it works on my desktop and not on my laptop though, I'm not positive, but I believe I've got all the same files loaded up on each.
Make sure you comment out the explicit "Loadplugin()" statements in the script and check if the the auto-load directory has all the right plugin versions.

Bruce/Fl
17th March 2016, 10:06
Make sure you comment out the explicit "Loadplugin()" statements in the script and check if the the auto-load directory has all the right plugin versions.

A question for you. The way the script is written with that MT_binarize command, doesn't that necessitate having that MT_masktools plug-in in play? Maybe I accidentally left that in when I replaced it with the new masktools and that's why it's working?

I'm at work right now, otherwise I'd look myself. Just doing a thought exercise.

Groucho2004
17th March 2016, 11:20
The way the script is written with that MT_binarize command, doesn't that necessitate having that MT_masktools plug-in in play?
No. The masktools2.dll I linked to in post #5080 contains mt_binarize.

Some advice - Try to get more familiar with Avisynth, this site (http://avisynth.nl/index.php/Main_Page) is excellent for reference and tutorials.

LouieChuckyMerry
18th March 2016, 02:15
Ooops...

LouieChuckyMerry
18th March 2016, 02:29
Can I remove the "update_cache"?
Or does MeGUI need this for something.

I regularly cull the "obsolete" and duplicate files, leaving a single file of each type, and I've never had a problem. I think (ha ha) that MeGUI automatically reverts to an older version if the updated version proves problematic, which is why I keep the newest backup. Someone more knowledgeable than I might offer insight...


Some advice - Try to get more familiar with Avisynth, this site (http://avisynth.nl/index.php/Main_Page) is excellent for reference and tutorials.

Thanks for that :thanks:

Bruce/Fl
18th March 2016, 03:20
No. The masktools2.dll I linked to in post #5080 contains mt_binarize..

OK, that explains why it worked on my desktop.

Some advice - Try to get more familiar with Avisynth, this site (http://avisynth.nl/index.php/Main_Page) is excellent for reference and tutorials.

Yes, I've been there often, I did the first few pages of tutorials, the "getting started" stuff. I usually go back there when needing a new .dll for whatever reason, that site has legitimate and usually current links to get the latest and correct files.

There is a ton of useful info in there, and I try to read up as much as I can, although obviously not enough.

Make sure you comment out the explicit "Loadplugin()" statements in the script and check if the the auto-load directory has all the right plugin versions.

That made sense to me to do that, so I did that. Now, when the script tries to run in AVSInfo, it stops and says:

Script error: Clense does not have a named argument "cache"
<C:\Users\Bruce\Desktop\Practice\BJM1c.avs, line 330>
<C:\Users\Bruce\Desktop\Practice\BJM1c.avs, line 360>
<C:\Users\Bruce\Desktop\Practice\BJM1c.avs, line 202>

The only difference between my latest try and the successful one before it was I commented out that group of "Loadplugin" commands.

Does one (or more) of the Loadplugin commands I commented out need to remain, or does that kind of error point to something else entirely?

Bruce/Fl
18th March 2016, 03:47
I think I may have stumbled upon something here:

http://forum.doom9.org/showthread.php?t=172002

Which says that rgtools doesn't include removedirt.

But that raises another question, why does the script run when I do the loadplugin on rgtools, even though I took out the removedirt dll, which supposedly isn't included in rgtools?

poisondeathray
18th March 2016, 04:59
I think I may have stumbled upon something here:

http://forum.doom9.org/showthread.php?t=172002

Which says that rgtools doesn't include removedirt.

But that raises another question, why does the script run when I do the loadplugin on rgtools, even though I took out the removedirt dll, which supposedly isn't included in rgtools?


There are about 238 remove dirt variants and versions

You have one in your script, called as a function as a dependency for removedirtmc . That actually relies on one of the 164.5 versions of removegrain.dll

http://forum.doom9.org/showthread.php?p=1761016#post1761016


.
.
.

function RemoveDirt(clip input, int "limit", bool "_grey")
{
clensed=input.Clense(grey=_grey, cache=4)
alt=input.RemoveGrain(2)
return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=6,cthreshold=8, gmthreshold=40,dist=3,dmode=2,debug=false,noise=limit,noisy=4, grey=_grey)

# Alternative settings
# return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey,show=true)
# return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=6,cthreshold=8, gmthreshold=40,dist=3,tolerance= 12,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey,show=false)
}

.
.
.

Bruce/Fl
18th March 2016, 05:16
I know you're trying to lead me down a path to understand what's happening, but I'm afraid I'm too inexperienced to see it..

I guess my question still is, it appears that that particular removedirt needs a loadplugin? I thought that if I had its replacement (rgtools) in the autoload folder, it would load by itself. When I manually load the RGtools, the script works.

poisondeathray
18th March 2016, 05:38
Script error: Clense does not have a named argument "cache"


Your script uses the old versions of clense etc.. rgtools isn't completely backwards compatible

Notice in the rgtools documention , the clense version there doesn't have cache argument, the original one does
https://github.com/tp7/RgTools/blob/master/README.md

http://avisynth.nl/index.php/RemoveGrain_v1.0b/RemoveGrain/Clense

You would have to modify your script or use the other version



I don't think rgtools needs loadplugin(), not sure what is going on there. Do you have the .dll in the plugins folder (not in a subfolder) ? rgtools does include removegrain, which is part of that function for that version of removedirt

Bruce/Fl
18th March 2016, 06:28
Your script uses the old versions of clense etc.. rgtools isn't completely backwards compatible

Notice in the rgtools documention , the clense version there doesn't have cache argument, the original one does
https://github.com/tp7/RgTools/blob/master/README.md

http://avisynth.nl/index.php/RemoveGrain_v1.0b/RemoveGrain/Clense

You would have to modify your script or use the other version



I don't think rgtools needs loadplugin(), not sure what is going on there. Do you have the .dll in the plugins folder (not in a subfolder) ? rgtools does include removegrain, which is part of that function for that version of removedirt

I found out I still had the removedirt and removegrain DLLs in my syswow folder. I put them both in the plugin folder, and removed the rgtools and the script worked. I did them one at a time to see which ones were needed. So I kind a got a flow going now,l.

I'm still kind of having a hard time figuring out where to get the speed back up to 29.97 after running the filters. I looked for a return final statement, or something similar, and the script isn't written exactly that way. Looking at the script, do you have any suggestions on where I might put it? Maybe there is some verbiage in there that you recognized as the equivalent of the "return final" type of statement?

poisondeathray
18th March 2016, 22:37
Your last line of the actual script is

Eval(result)


All the stuff that comes after it are just function definitions

and at the top of the script, where you enter parameters, you've defined result as:

result="result4"


So find the line with result4 and add it to the end of it

It would be this one:

result4= PreBorderFrame.coloryuv(off_U=blue,off_V=red).levels(black_level,gamma,white_level,0,255).addborders(bord_left+in_bord_left, bord_top+in_bord_top, bord_right+in_bord_right, bord_bot+in_bord_bot).ChangeFPS(30000,1001)

Bruce/Fl
19th March 2016, 05:05
Your last line of the actual script is

Eval(result)


All the stuff that comes after it are just function definitions

and at the top of the script, where you enter parameters, you've defined result as:

result="result4"


So find the line with result4 and add it to the end of it

It would be this one:

result4= PreBorderFrame.coloryuv(off_U=blue,off_V=red).levels(black_level,gamma,white_level,0,255).addborders(bord_left+in_bord_left, bord_top+in_bord_top, bord_right+in_bord_right, bord_bot+in_bord_bot).ChangeFPS(30000,1001)

It looks like that did the trick!

I think I tried that spot, (I tried a few places) in the same position, but not as a continuation of the same text line you did, (after adding a period) I just put a new line of text with the changeFPS command under that line. If that not working doesn't make sense, then I must be mistaken.

But regardless, it worked. Thank you PDR, and also Groucho, thank you very much also. And kudos to you both for putting up with my beginners level of comprehension about these processes.

Now that that has been hammered out, alond with my issues with AVSPmod, I think I'll go back to the other thread in Avisynth Usage, and try to get from having a good .264 file, to having it authored and ready to put on a BD.

And probably before I do that I also need to incorporate the L-Smash into the script so as to be able to take on some more robust files out of Vegas.

Again, thanks to all.

Glarioo
19th March 2016, 14:56
@LouieChuckyMerry

Thanks, gonna keep that update cache file. Just for security...

Barough
26th March 2016, 23:30
MKVToolNix v9.0.1 have been released.

NyaR
4th April 2016, 00:59
MeGUI version 2624 has a bug that it cannot export presets.

When I export my custom presets I get an empty 1kb .zip

If I revert to previous MeGUI 2525 version I am able to export the presets.

You can reproduce this by following these steps:


Download this: http://www.hejyhej.com/files/presets.7z
Open the /presets/ directory and extract hejmegui.zip
Import hejmegui.zip and all presets within.
Then attempt to export the presets you've just imported.


End result: empty 1kb .zip file.

hello_hello
4th April 2016, 07:10
MeGUI's script creator is somewhat misleading at the moment when anamorphic encoding is enabled. It doesn't matter if the resizing and aspect error are wrong because resizing is disabled, but it's misleading, especially for someone new to MeGUI, and it's hard enough for them to understand the anamorphic options. Today I found myself once again explaining to someone via a forum post why you can encode mod16 with an option called "encode non mod16". Could the name be easily changed? "Anamorphic strict" as Handbrake describes it would make more sense.

http://s28.postimg.org/57zysmkrh/Me_GUI.gif

I don't know whether you saw my bug report a while back Zathor, but switching encoder presets still doesn't work when the encoder configuration is open, it only has an effect if you also change an encoder setting. If you select a different preset and close the encoder configuration it'll revert to the previously selected preset.

Opening the preview via the button in the video section and changing the DAR should force MeGUI to use the selected DAR if you add the script to the queue for encoding immediately after closing the preview. It's not working.

Thanks.

Carlo75
5th April 2016, 14:05
I'm not sure if it's a real bug or I doing something wrong, but maybe you can help me.

I have several times try to encode some different mpeg2.ts files, but everytime the encoding crashed at the second rendering job with this error:

Process exits with error: 0xC0000005 STATUS_ACCESS_VIOLATION (-1073741819)

The error comes only when the second pass encoding starts, whitout them anything works well, but for better quality I want the second pass...

I already tried different thinks like disable x264 64bit, but nothing help. For the last test I deinstalled and reinstalled MeGui complette, but without success...

Errorlog is attached.

Greets

Carlo

hello_hello
5th April 2016, 15:03
The error comes only when the second pass encoding starts, whitout them anything works well, but for better quality I want the second pass...

I don't know why it's happening (can't see your error.txt file yet), but in case you didn't know...
x264's quality based encoding (CRF) encodes exactly the same way as 2 pass. There's very minor differences, but if each method encoded the same video at the same bitrate, the quality would be identical.

So for 2 pass encoding the bitrate or file size is known, but the quality is unknown.
For CRF encoding it's the other way around. You pick the quality and the bitrate will be whatever it needs to be (according to how hard the video is to compress).

Carlo75
5th April 2016, 18:04
Hi hello_hello.

Ok, I had always selected CRF18 and pre-rendering. If I understand you right, that was not necessary.

But on the other way, it should work anyway... for that there must be something wrong.

Greets

Carlo

hello_hello
7th April 2016, 18:45
Carlo75,
I'm not sure if I'm following your log file exactly.... there seems to be some OneClick encoder stuff in there.... but when you referred to a second pass I thought you meant you'd configured x264 for 2 pass encoding. It runs the first pass to work out how to distribute the bits and a second pass to encode, and you'd specify a file size or bitrate.

A pre-rendering job is something else. To be honest I've never used it as it was probably intended. I think the idea is if you're using 2 pass encoding (x264 configured for 2 pass) and you've got very slow filtering in a script, the pre-rendering job applies the filtering to the video but the output is encoded as a lossless AVI in a single pass. Once that's done the lossless AVI is used for 2 pass encoding and the encoder can run each pass at full speed. The filtering doesn't have to be run twice as it normally would.
I'm pretty sure MeGUI lets you add a pre-rendering job when using CRF encoding but I can't imagine there'd ever be much point. Without pre-rendering the source is being decompressed and re-encoded, with pre-rendering the source is being decompressed and saved as a lossless AVI which is then re-encoded, but the result should be exactly the same either way.

I did manage to reproduce your problem. Process exits with error: 0xC0000005 STATUS_ACCESS_VIOLATION (-1073741819)
I'm running XP so I can't use the latest ffmpeg (which is used to create the lossless AVI) because it doesn't work, so I rolled back to an earlier version. It created the lossless AVI for me, but after that was indexed x264 produced the same error in the log file.
I tried again while encoding with Xvid and I thought it was successful, but I discovered it had encoded the error message instead. This time it was:
CAVIStreamSynth: Access Violation at 0xba3c06, reading from 0x1091020

Best as I can tell it's ffmsindex's fault. If I manually create a script to open the lossless AVI with L-Smash it encodes successfully. For the moment though it's probably not something you need to worry about because it seems like creating a pre-rendering job isn't necessary in your case.

For anyone who might want to look at the problem, if I create a lossless AVI using MeGUI's pre-rendering option, and I then create the following script to open it, the script will open in MeGUI's preview, it'll open in MPC-HC, but it won't encode via MeGUI. That's me and MeGUI and XP, if it's relevant. I can't test older versions of ffms2 myself at the moment as I'm in the middle of some encoding jobs that are using it for decoding.

LoadPlugin("C:\Program Files\MeGUI\tools\ffms\ffms2.dll")
FFVideoSource("D:\test.avi", threads=1)

chipzoller
10th April 2016, 13:06
Hello, I'd like to request the ability to sort the columns in the HD Stream Extractor window, specifically in the Features pane. Right now when you click on a column name/header, it does nothing. Having them sort in both ascending and descending fashion would be helpful when processing discs with Screen Pass protection, for example.

adem940
11th April 2016, 13:59
I started to have same problem ''0xC0000005 STATUS_ACCESS_VIOLATION (-1073741819)'' everything was working well yesterday, today I tried to encode x264 video like always and it kept giving this error, I don't know what to do :(

this is my log file info:


--[Error] [11-Apr-16 3:52:06 PM] Process exits with error: 0xC0000005 STATUS_ACCESS_VIOLATION (-1073741819)
--[Information] [11-Apr-16 3:52:06 PM] Job completed
-[Information] [11-Apr-16 3:52:15 PM] Successfully deleted C:\Users\Adem\Desktop\Hundred OP60.264
-[Information] Log for job2 (mux, Hundred OP60.264 -> Hundred OP60.mp4)
--[Information] [11-Apr-16 3:52:15 PM] Deleting intermediate files
-[Information] Log for job1 (video, Hundred OP.avs -> Hundred OP60.264)
--[Information] [11-Apr-16 3:54:48 PM] Started handling job
--[Information] [11-Apr-16 3:54:48 PM] Preprocessing
-[NoImage] SetMemoryMax(512)
-[NoImage] #SetMTMode(3,4)
-[NoImage] PluginPath = "E:\video encoding\MeGUI\tools\avisynth_plugin\"
-[NoImage] LoadPlugin(PluginPath+"svpflow1.dll")
-[NoImage] LoadPlugin(PluginPath+"svpflow2.dll")
-[NoImage] Import(PluginPath+"InterFrame2.avsi")
-[NoImage] LoadPlugin("C:\Program Files (x86)\Haali\MatroskaSplitter\avss.dll")
-[NoImage] dss2("C:\Users\Adem\Desktop\Hundred OP.mp4", fps=23.976).AssumeFPS(24000,1001).ConvertToYV12()
-[NoImage] #SetMTMode(2)
-[NoImage] #deinterlace
-[NoImage] #crop
-[NoImage] #denoise
-[NoImage] #resize
-[NoImage] InterFrame(Cores=4, GPU=True)
--[Information] [11-Apr-16 3:54:48 PM] Avisynth input script
--[Information] [11-Apr-16 3:54:48 PM] resolution: 1920x1080
--[Information] [11-Apr-16 3:54:48 PM] frame rate: 60/1
--[Information] [11-Apr-16 3:54:48 PM] aspect ratio: 16:9 (1.778)
--[Information] [11-Apr-16 3:54:48 PM] Job command line: "E:\video encoding\MeGUI\tools\x264_10b\x264-10b.exe" --level 5.2 --preset superfast --tune animation --bitrate 10000 --keyint 600 --vbv-bufsize 300000 --vbv-maxrate 300000 --sar 1:1 --output "C:\Users\Adem\Desktop\Hundred OP60.264" "C:\Users\Adem\Desktop\Hundred OP.avs"
--[Information] [11-Apr-16 3:54:48 PM] Process started
--[Information] [11-Apr-16 3:54:48 PM] Standard output stream
--[Information] [11-Apr-16 3:54:48 PM] Standard error stream
---[Information] [11-Apr-16 3:54:49 PM] avs [info]: 1920x1080p 1:1 @ 60/1 fps (cfr)
---[Information] [11-Apr-16 3:54:49 PM] x264 [info]: using SAR=1/1
---[Information] [11-Apr-16 3:54:49 PM] x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
---[Information] [11-Apr-16 3:54:49 PM] x264 [info]: profile High 10, level 5.2, 4:2:0 10-bit
--[Error] [11-Apr-16 3:56:18 PM] Process exits with error: 0xC0000005 STATUS_ACCESS_VIOLATION (-1073741819)
--[Information] [11-Apr-16 3:56:18 PM] Job completed
-[Information] [11-Apr-16 3:56:26 PM] Successfully deleted C:\Users\Adem\Desktop\Hundred OP60.264
-[Information] Log for job2 (mux, Hundred OP60.264 -> Hundred OP60.mp4)
--[Information] [11-Apr-16 3:56:26 PM] Deleting intermediate files

Ma
12th April 2016, 17:21
I started to have same problem ''0xC0000005 STATUS_ACCESS_VIOLATION (-1073741819)'' everything was working well yesterday, today I tried to encode x264 video like always and it kept giving this error, I don't know what to do :(


It looks like x264 crashes. You can try to change default MeGUI x264-10b.exe (Komisar) to official build from:
http://download.videolan.org/pub/videolan/x264/binaries/

adem940
13th April 2016, 15:28
It looks like x264 crashes. You can try to change default MeGUI x264-10b.exe (Komisar) to official build from:
http://download.videolan.org/pub/videolan/x264/binaries/

how can I change it? copying and pasting them into default folders didn't work...


Edit: I still have same problem, encoding stops at 63% or sometimes 67% :/

Ma
13th April 2016, 15:55
how can I change it? copying and pasting them into default folders didn't work...

From your log:
E:\video encoding\MeGUI\tools\x264_10b\x264-10b.exe

So please download 10bit x264 for Win32
http://download.videolan.org/pub/videolan/x264/binaries/win32/x264-10b-r2665-a01e339.exe

Then please copy downloaded file to folder
E:\video encoding\MeGUI\tools\x264_10b\

At the end please rename
x264-10b-r2665-a01e339.exe
to
x264-10b.exe

-------------
There is new stable source code for x264 ver. 148.2691. Soon should be new binaries.

adem940
14th April 2016, 13:11
From your log:
E:\video encoding\MeGUI\tools\x264_10b\x264-10b.exe

So please download 10bit x264 for Win32
http://download.videolan.org/pub/videolan/x264/binaries/win32/x264-10b-r2665-a01e339.exe

Then please copy downloaded file to folder
E:\video encoding\MeGUI\tools\x264_10b\

At the end please rename
x264-10b-r2665-a01e339.exe
to
x264-10b.exe

-------------
There is new stable source code for x264 ver. 148.2691. Soon should be new binaries.

did as you said, replaced it with new one but crashed at 67% :/

LigH
14th April 2016, 13:23
So the reason is probably not the encoder itself, but possibly the hardware (e.g. overheating CPU or RAM), especially when it's a different location each time you try, and crashing earlier with less cool-down break. Or the source video when it's always at the same position.

Ma
14th April 2016, 16:14
did as you said, replaced it with new one but crashed at 67% :/

Thanks for info. If not x264 then maybe Avisynth.

Could you try to delete (comment out) the line from your script:
InterFrame(Cores=4, GPU=True)

I know that this will be different result of encoding but this is only for testing.

hello_hello
14th April 2016, 16:53
The encode in the log file only ran for a minute or so before it crashed, but MeGUI seemed to be able to finish the cleanup jobs without any problem, so my vote wouldn't be for overheating.

DirectShowSource + Interframe seems a bit daring to me. DSS2 + Interframe mightn't be as daring, but still a little brave.

The first thing I'd try would be something other than DSS2 to open the video with GPU=True taken out of the equation for Interframe.

You can open MP4s without indexing with L-Smash. They open pretty quickly. You still need to use the File Indexer to open them or you'll only be offered DirectShowSource as an alternative, but after the File Indexer runs the Script Creator opens an MP4 with LSMASHVideoSource (LSMASHAudioSource for audio encoding) rather than LWLibavVideoSource. I'd try that rather than DSS2.

adem940
16th April 2016, 12:23
the thing is, I don't get this error in every video, it was happening before too with some videos but when I replace an old version of x264.exe, it was working fine, but this time it doesn't work, always giving error with this video, tried another video with same type, I mean really same type, bitrate and all but it worked well, this video gives error :/

@hello_hello

I deleted them manually cause it gave error...

@Ma

it gave error ''cannot open video output''

I think I will just give up on this video :/ it is working with same type other videos but not this one, too weird.

Sp00kyFox
16th April 2016, 17:50
I just wanted to make some comparison tests between x264 and x265. it seems there is a missing space when megui creates the commandline for x265 in the case of using high bit depth input.
check out the error log:

--[Information] [16.04.2016 18:46:29] resolution: 2560x534
--[Information] [16.04.2016 18:46:29] frame rate: 24000/1001
--[Information] [16.04.2016 18:46:29] aspect ratio: 12:5 (2.400)
--[Information] [16.04.2016 18:46:29] custom command line: --output-depth 12 --input-depth 16 --input-csp i444 --ssim
--[Information] [16.04.2016 18:46:29] Job command line: "C:\Software\MeGUI\tools\x265\avs4x265.exe" --x265-binary "C:\Software\MeGUI\tools\x265\x64\x265.exe" --tune ssim --crf 23 --output-depth 12 --input-depth 16 --input-csp i444 --ssim --output "D:\!x264\x265_crf23_medium.hevc" "D:\!x264\encode.avs"
--[Information] [16.04.2016 18:46:29] Process started
--[Information] [16.04.2016 18:46:29] Standard output stream
---[Information] [16.04.2016 18:46:29] avs [info]: AviSynth 2.60, build:Feb 20 2015 [03:16:45]
---[Information] [16.04.2016 18:46:29] avs [info]: Video colorspace: YV24
---[Information] [16.04.2016 18:46:29] avs [info]: Video resolution: 2560x534
---[Information] [16.04.2016 18:46:29] avs [info]: Video framerate: 24000/1001
---[Information] [16.04.2016 18:46:29] avs [info]: Video framecount: 1440
---[Information] [16.04.2016 18:46:29] avs4x265 [info]: High bit depth detected, resolution corrected
---[Information] [16.04.2016 18:46:29] avs4x265 [info]: "C:\Software\MeGUI\tools\x265\x64\x265.exe" - --frames 1440 --fps 24000/1001 --input-res 1280x534--tune ssim --crf 23 --output-depth 12 --input-depth 16 --input-csp i444 --ssim --output D:\!x264\x265_crf23_medium.hevc
--[Error] [16.04.2016 18:46:29] Standard error stream
---[Warning] [16.04.2016 18:46:29] x265 [warning]: extra unused command arguments given <ssim>
---[Error] [16.04.2016 18:46:29] avs [error]: Error occurred while writing frame 0
---[Information] [16.04.2016 18:46:29] (Maybe x265.exe closed)
--[Error] [16.04.2016 18:46:29] Process exits with error: 1
--[Information] [16.04.2016 18:46:29] Job completed

between the paramters "--input-res 1280x534" and "--tune ssim" is a missing space.

edit: tried some more. it seems it is a general problem if one tries to use a custom command line in the x265 configuration dialog.

edit2: by removing the parameter "--input-csp i444" (which should be optional according to the commandline help) the issue disappeared. weird...

hello_hello
29th April 2016, 12:48
The numbering in the changelog seems to be a little off:

2934 [L-SMASH Indexer] added support for MSVC 2015 runtimes
2933 updated the wiki links to point to https://en.wikibooks.org/wiki/MeGUI
2931 [MediaInfo] improved DVD audio track language detection
2930 [Audio Encoder] fixed a crash if a very large audio delay is used

I assume they should be 2630, 2631, 2633 and 2634?

Barough
20th May 2016, 20:53
QAAC v2.59 is out

bilditup1
22nd May 2016, 23:08
MediaInfo consistently throws up errors when I load up an avs:

[Error] [5/22/2016 5:55:31 PM] Error parsing media file D:\path\to\video.avs

I'm not sure when this started happening but I don't think it was an issue with the previous version of MeGUI/MediaInfo (on 2634/0.7.84.0, respectively)

LigH
23rd May 2016, 08:16
I would not be surprised about that. AviSynth scripts are text files. I doubt that MediaInfo supports the AviSynth API to report details about the frameserver output. MediaInfo is a tool to analyze headers of "physical" media files, it will most probably not handle logical media sources.

But I believe MeGUI should not report this error prominently when using an AviSynth script as source. There is not much sense in checking *.avs with MediaInfo, except to ensure that it is not an accidentally renamed file with a wrong filename extension.

hello_hello
23rd May 2016, 13:26
MediaInfo consistently throws up errors when I load up an avs:

[Error] [5/22/2016 5:55:31 PM] Error parsing media file D:\path\to\video.avs

I'm not sure when this started happening but I don't think it was an issue with the previous version of MeGUI/MediaInfo (on 2634/0.7.84.0, respectively)

It's fine for me (running XP) and MeGUI 2634.
I assume you're referring to loading a script in the video section for encoding?

Under the MediaInfo section in the log file, I found this after loading a script and having a look.

[Information] [23/05/16 9:32:35 PM] MediaInfo
-[Information] [23/05/16 9:32:35 PM] File: D:\Video.lwi
-[Information] Indexed File: E:\Source Video.mkv

Are you using the same file indexing or script opening method each time?

I reverted AvisynthWrapper.dll in the MeGUI folder to the old version quite a while ago. I don't know the version number but the file date is 2009. I haven't tried the new one again since, but it gave me grief at the time, hence the switch. It's something you could try.

A slightly related question.....
Has anyone noticed if loading scripts with LWLibavVideoSource (and probably also containing slow filtering such as QTGMC), takes a fair bit longer than the same script with ffmsindex? The cursor turns to "busy" for a little while, then the script loads. It's not a tragically long time but I'm sure it takes longer than an ffms2 script to load.

It could be an XP thing or the older XP compatible L-Smash I'm using, and I did play with AvisynthWrapper.dll, which is why I'm asking the question. I don't have a non-XP PC I can use as a comparison at the moment, so I'm wondering if anyone else has noticed a script loading speed difference. Encoding speed is fine, it's just the script loading.