charleski
17th November 2005, 03:39
First time I've seen this: x264 halts 87.3% into the 2nd pass. The commandline and output is shown below.
C:\MyVideos>"C:\Program Files\VideoApps\x264\x264.exe" --pass 2 --bitrate 1100 -
-stats "C:\MyVideos\Macbeth.stats" --ref 8 --mixed-refs --bframes 3 --b-pyramid
--subme 6 --b-rdo --weightb --trellis 1 --analyse all --8x8dct --sar 141:100 --
progress --no-psnr --output "C:\MyVideos\Macbeth.mp4" "C:\MyVideos\Macbeth.avs"
avis [info]: 704x560 @ 25.00 fps (129943 frames)
x264 [info]: using SAR=141/100
x264 [info]: using cpu capabilities MMX MMXEXT SSE SSE2
mp4 [info]: initial delay 2 (scale 25)
encoded frames: 113441/129943 (87.3%), 3.15 fps, eta 1:27:12
C:\MyVideos>
The input is an MPEG2 TS cut and demuxed with ProjectX. I applied some standard noise filters, cropping and resizing in avisynth, nothing fancy. The script used was:# Created with Gordian Knot
#
# http://gknot.doom9.org
# PLUGINS
LoadPlugin("C:\PROGRA~1\GORDIA~1\DGMPGDec\DGDecode.dll")
#LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\decomb.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\KernelDeInt.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Deen.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\UnDot.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Unfilter.dll")
#LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\dgbob.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Convolution3d.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\FluxSmooth.dll")
#LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\TomsMoComp.dll")
#LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\VSFilter.dll")
#LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\SimpleResize.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\RemoveGrain.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\MaskTools.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\DCTFilter.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Unfilter.dll")
loadplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\masktools.dll")
loadplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\tdeint.dll")
loadplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\leakkerneldeint.dll")
loadplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\avisynth_c.dll")
loadcplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\smartdecimate.dll")
loadCplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\ibob.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\LoadPluginEx.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Dustv5.dll")
# load the needed functions
import("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\restore24.avs")
import("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\LimitedSharpen.avs")
import("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\Deblock_QED.avs")
#import("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\PixieDustPP.avs")
import("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\FunkyDeblock.avs")
# SOURCE
mpeg2source("C:\MyVideos\Macbeth.d2v",cpu=4,iPP=true)
# TRIM
#trim(startframe,endframe)
# IVTC
#Telecide(order=1,guide=1).Decimate()
# or use
#IVTC(44,11,95)
#GreedyHMA(1,0,4,0,0,0,0,0)
# DEINTERLACING (1)
#FieldDeinterlace()
#FieldDeinterlace(blend=false)
#TomsMoComp(1,5,1)
# DEINTERLACING (2)
#KernelDeInt(order=1,sharp=true)
# or maybe
#DGBob(order=1,mode=0)
# DEINTERLACING (3) - special requests
#GreedyHMA(1,0,0,0,0,0,0,0)
#Telecide()
#SeparateFields()
# CROPPING
crop(2,0,716,574)
# SUBTITLES
#VobSub("FileName")
# RESIZING
LanczosResize(704,560)
# DENOISING: choose one combination (or none)
Undot()
Unfilter(-5,-5)
#Deen()
# 1) little noise
#Temporalsoften(2,3,3,mode=2,scenechange=6)
#mergechroma(blur(1.3))
#FluxSmoothST(5,7)
# 2) medium noise
#Temporalsoften(3,5,5,mode=2,scenechange=10)
#Convolution3d("moviehq")
FluxSmoothST(7,7)
# 3) heavy noise
#Temporalsoften(4,8,8,mode=2,scenechange=10)
#Convolution3d("movielq")
#FluxSmoothST(10,15)
# BORDERS
#AddBorders(left,top,right,bottom)
# COMPRESSIBILITY CHECK
# !!!!Snip Size now has to be 14 for use in GKnot!
#SelectRangeEvery(280,14)
# FOOL CCEnc
#empty = BlankClip()
#AudioDub(last,empty)
I first tried doing this in MeGUI. The first pass went fine, the 2nd pass terminated with an error notice in MeGUI's job window (for some reason MeGUI has never saved logs on my system, so I can't paste what it said, but it wasn't informative - first pass seemed to go fine). I then took the commandline for the 2nd pass from the MeGUI config dialog and just ran it from a shell, producing the result above.
I looked at the stats file to see if it was corrupt. The last line goes
in:129941 out:129942 type:b q:16.00 itex:0 ptex:2 mv:5 misc:169 imb:0 pmb:1 smb:1539;.So it seems to have got all the way to the end (I'm guessing so as the last 'out' value is No.frames-1).
x264 reports its version as
x254 core:40 svn-365M (built by Sharktooth)
Any idea what the problem is? A memory-leak somewhere? (after terminating my commit charge was normal, though I didn't look at it during the encode). This is a bit frustrating, especially given the length of time the 2nd-pass takes.
C:\MyVideos>"C:\Program Files\VideoApps\x264\x264.exe" --pass 2 --bitrate 1100 -
-stats "C:\MyVideos\Macbeth.stats" --ref 8 --mixed-refs --bframes 3 --b-pyramid
--subme 6 --b-rdo --weightb --trellis 1 --analyse all --8x8dct --sar 141:100 --
progress --no-psnr --output "C:\MyVideos\Macbeth.mp4" "C:\MyVideos\Macbeth.avs"
avis [info]: 704x560 @ 25.00 fps (129943 frames)
x264 [info]: using SAR=141/100
x264 [info]: using cpu capabilities MMX MMXEXT SSE SSE2
mp4 [info]: initial delay 2 (scale 25)
encoded frames: 113441/129943 (87.3%), 3.15 fps, eta 1:27:12
C:\MyVideos>
The input is an MPEG2 TS cut and demuxed with ProjectX. I applied some standard noise filters, cropping and resizing in avisynth, nothing fancy. The script used was:# Created with Gordian Knot
#
# http://gknot.doom9.org
# PLUGINS
LoadPlugin("C:\PROGRA~1\GORDIA~1\DGMPGDec\DGDecode.dll")
#LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\decomb.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\KernelDeInt.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Deen.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\UnDot.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Unfilter.dll")
#LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\dgbob.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Convolution3d.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\FluxSmooth.dll")
#LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\TomsMoComp.dll")
#LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\VSFilter.dll")
#LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\SimpleResize.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\RemoveGrain.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\MaskTools.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\DCTFilter.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Unfilter.dll")
loadplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\masktools.dll")
loadplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\tdeint.dll")
loadplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\leakkerneldeint.dll")
loadplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\avisynth_c.dll")
loadcplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\smartdecimate.dll")
loadCplugin("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\plugins\ibob.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\LoadPluginEx.dll")
LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Dustv5.dll")
# load the needed functions
import("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\restore24.avs")
import("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\LimitedSharpen.avs")
import("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\Deblock_QED.avs")
#import("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\PixieDustPP.avs")
import("C:\PROGRA~1\GORDIA~1\AviSynth 2.5\FunkyDeblock.avs")
# SOURCE
mpeg2source("C:\MyVideos\Macbeth.d2v",cpu=4,iPP=true)
# TRIM
#trim(startframe,endframe)
# IVTC
#Telecide(order=1,guide=1).Decimate()
# or use
#IVTC(44,11,95)
#GreedyHMA(1,0,4,0,0,0,0,0)
# DEINTERLACING (1)
#FieldDeinterlace()
#FieldDeinterlace(blend=false)
#TomsMoComp(1,5,1)
# DEINTERLACING (2)
#KernelDeInt(order=1,sharp=true)
# or maybe
#DGBob(order=1,mode=0)
# DEINTERLACING (3) - special requests
#GreedyHMA(1,0,0,0,0,0,0,0)
#Telecide()
#SeparateFields()
# CROPPING
crop(2,0,716,574)
# SUBTITLES
#VobSub("FileName")
# RESIZING
LanczosResize(704,560)
# DENOISING: choose one combination (or none)
Undot()
Unfilter(-5,-5)
#Deen()
# 1) little noise
#Temporalsoften(2,3,3,mode=2,scenechange=6)
#mergechroma(blur(1.3))
#FluxSmoothST(5,7)
# 2) medium noise
#Temporalsoften(3,5,5,mode=2,scenechange=10)
#Convolution3d("moviehq")
FluxSmoothST(7,7)
# 3) heavy noise
#Temporalsoften(4,8,8,mode=2,scenechange=10)
#Convolution3d("movielq")
#FluxSmoothST(10,15)
# BORDERS
#AddBorders(left,top,right,bottom)
# COMPRESSIBILITY CHECK
# !!!!Snip Size now has to be 14 for use in GKnot!
#SelectRangeEvery(280,14)
# FOOL CCEnc
#empty = BlankClip()
#AudioDub(last,empty)
I first tried doing this in MeGUI. The first pass went fine, the 2nd pass terminated with an error notice in MeGUI's job window (for some reason MeGUI has never saved logs on my system, so I can't paste what it said, but it wasn't informative - first pass seemed to go fine). I then took the commandline for the 2nd pass from the MeGUI config dialog and just ran it from a shell, producing the result above.
I looked at the stats file to see if it was corrupt. The last line goes
in:129941 out:129942 type:b q:16.00 itex:0 ptex:2 mv:5 misc:169 imb:0 pmb:1 smb:1539;.So it seems to have got all the way to the end (I'm guessing so as the last 'out' value is No.frames-1).
x264 reports its version as
x254 core:40 svn-365M (built by Sharktooth)
Any idea what the problem is? A memory-leak somewhere? (after terminating my commit charge was normal, though I didn't look at it during the encode). This is a bit frustrating, especially given the length of time the 2nd-pass takes.