PDA

View Full Version : x264 build 532M crashes


Eggroll
3rd July 2006, 03:47
Hi there, I noticed x264 crashing, the log states that there was an error but does not give further details. Here is the commmand line I used, in hope it can hint at the problem. I also had no problems with older builds... though the last one I used was over a month old...

C:\Program Files\megui\tools\x264\x264.exe --qp 16 --ref 16 --mixed-refs --no-fast-pskip --bframes 3 --b-pyramid --b-rdo --bime --weightb --direct temporal --subme 7 --trellis 2 --analyse all --8x8dct --me esa --progress --no-psnr --output "H:\a.264" "H:\a.avs"

Using meGui 0.2.3.2177. Any help would be greatly appreciated.

Thanks in advance.

Sharktooth
3rd July 2006, 04:16
please post the log

Eggroll
3rd July 2006, 06:30
Log for job job1

avis [info]: 640x480 @ 23.98 fps (33775 frames)
x264 [info]: using cpu capabilities MMX MMXEXT SSE SSE2

----------------------------------------------------------------------------------------------------------
The current job contains errors. Skipping chained jobs

Hope this can help.

foxyshadis
3rd July 2006, 12:24
Did you try actually opening a command line and pasting that command in to see what happens?

Eggroll
3rd July 2006, 16:38
To tell, the truth, no... but I always assumed MeGUI would 'paste' that exact same command... the encoding process starts like usual, everything works fine but after a few hours (~20 hours or so), it craches.. I've tried it multiple time already and from what I could see, it didn't crash at the exact same frame... I remember reaching 80% once before it crashed... then the next try, I could only reach 65%...

I'm giving it another go now to see if it can reach the end... if it doesn't work, I guess I can paste the command line in the black box but I don't really see the point to it since it works fine for a long while before crashing... If there really is a difference, I'd be glad to hear though...

Thanks!

lexor
3rd July 2006, 17:09
you use AviSynth, which filters?

foxyshadis
3rd July 2006, 17:25
The point of trying it yourself is to see whether x264 spits out any errors that aren't captured by MeGUI. (Which has occasionally been a problem in the past, but I'm not sure whether it applies here.)

You might also try playing your avisynth file in virtualdub or a media player, it might be related to the CAVIStreamSynth error, but at the least if it is avisynth related it'll give you something useful.

Eggroll
3rd July 2006, 17:35
Ok, thanks foxyshadis, I'll try your recommendations as soon as humanly possible...

And for lexor, here's my script... using the latest Avisynth of course..

Import("limitedsharpen.avs")
Import("qmf-1.5b1.avs")
Loadplugin("DGDecode.dll")
LoadPlugin("depan.dll")
Loadplugin("fft3dfilter.dll")
Loadplugin("RemoveGrain.dll")
Loadplugin("SangNom.dll")
Loadplugin("tprivtc.dll")
Loadplugin("vsfilter.dll")

function Low_Motion_Filter(clip c)
{
mdata=DePanEstimate(c)
c = DePanInterleave(c,data=mdata)
c = FFT3DFilter(c,sigma=2)
c = selectevery(c,3,1)
return c
}

function Medium_Motion_Filter(clip c)
{
mdata=DePanEstimate(c)
c = DePanInterleave(c,data=mdata)
c = FFT3DFilter(c,sigma=3)
c = selectevery(c,3,1)
return c
}

function High_Motion_Filter(clip c)
{
mdata=DePanEstimate(c)
c = DePanInterleave(c,data=mdata)
c = FFT3DFilter(c,sigma=4)
c = selectevery(c,3,1)
return c
}

function BlurRange(clip clip, int start, int end)
{
return clip.Trim(0, (start - 1)) + clip.Trim(start, end).blur(0,1) + clip.Trim((end + 1), 0)
}

function SangnomRange(clip clip, int start, int end)
{
return clip.Trim(0, (start - 1)) + clip.Trim(start, end).LanczosResize(800,600).sangnom().LanczosResize(640,480) + clip.Trim((end + 1), 0)
}

Mpeg2Source("a.d2v")
doubleweave().TPRivtc("a.tpr")

ConvertTOYv12()
QMF(chroma=true,threshold_lm=1.7,threshold_hm=8,threshold_sc_lm=5,threshold_sc_mm=10)
Removegrain(mode=2)
BlindPP(quant=2)
Crop(8,0,-8,0)
limitedsharpenfaster(strength=30,dest_x=640,dest_y=480)

combined = blurrange(31230,33388)
combined = sangnomrange(combined,6708,6708)
combined = sangnomrange(combined,7003,7003)
combined = sangnomrange(combined,7007,7007)

combined = combined.Textsub("Hardsubs.ass")

return combined

Inventive Software
3rd July 2006, 20:57
That's one of the most complicated AviSynth scripts I've ever seen! Break up the stages, but first try a simple script (y'know, the kind where "MPEG2Source" is the only thing there), just to see whether it's certain functions that are breaking it. Start off with "MPEG2Source", then add your filter functions gradually to find the cause of the problem.

Eggroll
3rd July 2006, 21:52
That's actually what I'm doing right now, trying to render from a lossless video to see if it might be filter related or not. Hoping this is a good workaround for now..

Sharktooth
4th July 2006, 03:48
Did you overclock your CPU?

Eggroll
4th July 2006, 04:08
Did you overclock your CPU?

Nope... I've got a PIV 3.0 GHz if that is relevant. As of now, I'm starting an h264 rendering from a lossless encode, in approximately 20 hours, I'll know if it's due to some filtering conflict or not.

AlexB17
4th July 2006, 08:41
If your MB support Intel SpeedStep tech(auto overclock) - try to disable it in BIOS

Audionut
4th July 2006, 10:09
Auto UNDERclock would be more appropriate since it reduces clock speed when the processor is idle.

lexor
4th July 2006, 12:37
20 hours? did you try a smaller sample to see if that crashes on that whole script? at least we'd know it's definitely the script. Just Trim(0, 10000) or something. Though if that passes it won't guarantee it's not avs fault on the larger file.

Eggroll
5th July 2006, 01:55
Well, I tried with smaller samples and they all were fine, that's why I needed to render a full episode to see it crush.

So... after 20 hours rendering from that lossless encode, it seems that h264 no longer crashes... leading me to think it has something to do with the filtering.

What I don't understand is that there are no error while compressing to lossless nor xvid and if I preview the avs script in virtualdub, it does not crash either (using that exact same script posted above).

I've found a way around the initial problem so I no longer need assistance. On the other hand, I'd be glad to provide more information to diagnose this issue if it turns out it's a bug in h264

Many thanks for all your suggestions.

ChronoCross
5th July 2006, 02:00
To take a small guess x264 does alot more intense calculations than a lossless conversion so it may just be doing too much at once, combined with overclocking could concieveably cause errors.

Sharktooth
5th July 2006, 03:53
check the CPU temp while encoding.

lexor
5th July 2006, 04:02
To take a small guess x264 does alot more intense calculations than a lossless conversion so it may just be doing too much at once, combined with overclocking could concieveably cause errors.
well he did say no overclocking, and I don't see what's this "too much" could mean, he got spare cycles, and it doesn't need that much ram.

ChronoCross
5th July 2006, 04:04
well he did say no overclocking, and I don't see what's this "too much" could mean, he got spare cycles, and it doesn't need that much ram.

see what sharktooth said for clarification. I should have been more clear. sometimes when you push too hard you just burn out.

Eggroll
5th July 2006, 05:51
Ok, I'll check the cpu temp next time I render without going through the lossless temp step..