Log in

View Full Version : [solved]x264 hold at 100% on an avisynth script w/ textsub, cause of vobsub bug


MeteorRain
18th April 2007, 10:04
Hello all

I'm using x264 on encoding video with subtitles. recently i found that when i use vsfilter (2.37 a.w.a 2.36) in my avisynth (2.5.6b) scripts, the x264 holds on progress 100% and doesn't write out the mp4 completely. this happens on all avisynth scripts that use textsub().

i just make a test with a video of 7-seconds, and an ass subtitle with one line during 0:00:00.50~0:00:05.80.
the avisynth is written as below
loadplugin("g:\vsfilter.dll")
avisource("a.avi")
textsub("a.ass")
log:
>H:\mp4\x264.exe --qp 23 --ref 1 --bframes 1 --b-pyramid --nf --weightb --partitions all --8x8dct --ipratio 1.1 --pbratio 1.1 --me umh --mixed-refs \
--progress --direct spatial --thread-input --output "test.mp4" "test\main.avs" 2>&1 | tee %1.log
avis [info]: 1280x720 @ 23.98 fps (168 frames)
x264 [info]: using cpu capabilities MMX MMXEXT SSE SSE2 3DNow!
mp4 [info]: initial delay 2002 (scale 24000)
0 [unknown (0x3DC)] tee 2412 sig_send: wait for sig_complete event failed, signal 2, rc 258, Win32 error 0

x264 version:
>x264 --version
x264 0.54.640

when i switch to x264-530m, it just works fine.
>H:\mp4\x264_530m.exe --qp 23 --ref 1 --bframes 1 --b-pyramid --nf --weightb --analyse all --8x8dct --ipratio 1.1 --pbratio 1.1 --me umh --mixed-refs \
--progress --direct spatial --thread-input --output "test.mp4" "test\main.avs"
avis [info]: 1280x720 @ 23.98 fps (168 frames)
x264 [info]: using cpu capabilities MMX MMXEXT SSE SSE2 3DNow!
mp4 [info]: initial delay 2002 (scale 24000)
x264 [info]: slice I:1 Avg QP:22.00 size: 21284 PSNR Mean Y:50.92 U:53.45 V:53.49 Avg:51.61 Global:51.61
x264 [info]: slice P:85 Avg QP:23.00 size: 5285 PSNR Mean Y:48.06 U:50.54 V:51.04 Avg:48.79 Global:48.78
x264 [info]: slice B:82 Avg QP:24.00 size: 1793 PSNR Mean Y:48.13 U:50.46 V:51.00 Avg:48.83 Global:48.82
x264 [info]: mb I I16..4: 35.5% 49.7% 14.8%
x264 [info]: mb P I16..4: 3.8% 3.5% 0.7% P16..4: 16.3% 5.6% 1.0% 0.1% 0.0% skip:68.9%
x264 [info]: mb B I16..4: 0.1% 0.8% 0.3% B16..8: 5.4% 0.3% 0.4% direct: 2.0% skip:90.7%
x264 [info]: 8x8 transform intra:47.0% inter:29.9%
x264 [info]: PSNR Mean Y:48.113 U:50.518 V:51.037 Avg:48.825 Global:48.810 kb/s:705.03

encoded 168 frames, 7.43 fps, 705.59 kb/s

any more idea? or can i help providing any more information? i have Sysinternal's ProcessExplorer in my hand if you need.

==EDIT1==
just test with x264-565, works fine.
>> x264 0.50.565
==/EDIT1==

==EDIT2==
x264 0.50.564CD FAIL
x264 0.50.565ST OK
x264 0.52.574bob0r OK
x264 0.52.576bob0r OK
x264 0.52.577bob0r FAIL (no --nf option since not support)
x264 0.52.579bob0r FAIL
x264 0.52.584bob0r FAIL
x264 0.53.584CD FAIL
x264 0.54.600CD FAIL
x264 0.54.640bob0r FAIL
x264 0.54.650bob0r FAIL

seems that celtic_druid's(x264.revision%03d.7z) and late bob0r's(raw x264.exe) fails while early sharktooth's(x264-CLI_r%03d.7z) and early bob0r's works fine. any more idea?
==/EDIT2==

==EDIT3==
above test performs at --ref 1.
all builds holds at 100% if --ref 3.
==/EDIT3==

==EDIT4==
i'm totally confused. 530M becomes fail now....... omg...
==/EDIT4==

regards, MR

DarkZell666
18th April 2007, 11:11
Changelogs (http://trac.videolan.org/x264/timeline?from=04%2F18%2F07&daysback=250&milestone=on&ticket=on&changeset=on&wiki=on&update=Update) at that period say:

10:31 Changeset [577] by pengvado
better error checking in x264_param_parse. add synonyms for a few options.
04:46 Changeset [576] by pengvado
fix some strides that weren't a multiple of 16.


It seems somewhat related. I'll have a try right now.

MeteorRain
18th April 2007, 13:39
i'm not so sure on the version problem since 530m fails now. it worked before but now fails. really strange...

seems that's random...

i'm totally confused >_<

also, x264 always uses >300MB memory on encoding, is it normal? even for a really simple avisynth script...

MeteorRain
19th April 2007, 00:40
well, w/ more test, i found that those scripts holds other players and encoders such as media player classic and avs2avi... i guess it's a problem of avisynth or textsub?

Adub
19th April 2007, 01:11
Try updating you x264. I had a similar problem, with the x264 hang, and when I updated, the problem disappeared.
Also, the latest version is 650.

foxyshadis
19th April 2007, 03:37
Did you recently update vsfilter? This is a known problem with vsfilter on dual-core systems that only shows up in some versions. Try a recent CVS (http://ffdshow.faireal.net/mirror/Media%20Player%20Classic/external%20filters/unicode/) compile, though technically the CVS hasn't changed in almost a year now. That wouldn't exactly explain why it works in some versions of x264 though.

MeteorRain
19th April 2007, 05:38
thanks to you all.

it's the problem of vobsub. i fetch the latest cvs compile and everything is ok now.

i guess the reason why it only appears in some versions of x264, is the param --ref and/or --b-frames, and the frame-fetch method (or sequence? just guess ;)).
--ref 1 sometimes works, but --ref 3 never works.

MR

Adub
21st April 2007, 18:20
So, the problem was vobsub huh? That is very interesting. I just updated my version as well.