Log in

View Full Version : Errormessage on x264 0.93.1542 5b86182


bololo
20th April 2010, 07:17
Hello,

i have a general question to an errormessage of x264.exe:

x264 [error]: ticks_per_frame invalid: 0
What does that mean? Is my Sourcefile corrupt?
Googling this error did not help me to understand the problem...
I never had that before. I get this errormessage on many files since i avoid avisynth inputstreaming.

Edit: sample (3MB):
http://rapidshare.com/files/377917771/Chase_sample.avi

Got this error for example at this source:
General
Complete name : E:\Chase (704x396).avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 700 MiB
Duration : 59mn 0s
Overall bit rate : 1 659 Kbps
Writing application : VirtualDubMod 1.5.10.2 (build 2540/release)
Writing library : VirtualDubMod build 2540/release

Video
ID : 0
Format : MPEG-4 Visual
Format profile : Advanced Simple@L5
Format settings, BVOP : Yes
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default (H.263)
Muxing mode : Packed bitstream
Codec ID : XVID
Codec ID/Hint : XviD
Duration : 59mn 0s
Bit rate : 1 455 Kbps
Width : 704 pixels
Height : 396 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Resolution : 8 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.174
Stream size : 614 MiB (88%)
Writing library : XviD 1.2.1 (UTC 2008-12-04)

Audio
ID : 1
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Mode : Joint stereo
Format_Settings_ModeExtension : MS Stereo
Codec ID : 55
Codec ID/Hint : MP3
Duration : 58mn 59s
Bit rate mode : Constant
Bit rate : 192 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Stream size : 81.0 MiB (12%)
Alignment : Split accross interleaves
Interleave, duration : 33 ms (1.00 video frame)
Interleave, preload duration : 500 ms
Writing library : LAME3.98.4


Any ideas/hints?

regards,
bololo

buzzqw
20th April 2010, 07:21
posting a sample could be more useful then mediainfo report...

BHH

bololo
20th April 2010, 07:27
You are right:
Here's the sample (3MB)
http://rapidshare.com/files/377917771/Chase_sample.avi

Midzuki
20th April 2010, 07:42
Try adding --force-cfr to the x264 command-line...

Dark Shikari
20th April 2010, 07:45
Thanks for the sample, hopefully we'll finally be able to fix the bug in ffms that is causing this. In the meantime use --force-cfr or --demuxer lavf.

I'm guessing it's a problem with packed B-frames.

bololo
20th April 2010, 07:58
Thank you for your replies.
I am currently testing with --force-cfr...

Edit: Works - thx
all the best,
B

kemuri-_9
20th April 2010, 12:55
$ ./x264_display_timebase.exe -o NUL ./Chase_sample.avi
ffms [info]: 704x396p 1:1 @ 30000/1001 fps (vfr)
ffms [info]: timebase = 166833000/5000000
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast FastShuffle SSEMisalign LZCNT
x264 [info]: profile High, level 3.0
x264 [error]: ticks_per_frame invalid: 0


this is actually a two-fold problem:

A) ffms's framerate correction algorithm causes the original timebase to become invalid, this part i have a fix for.

B) the timebase num/den values are so large that x264's ffms demuxer internally flags that it needs to reduce the resulting values to prevent an overflow from occurring, causing it to pass to x264cli an illegal value for timebase (which is what you see here).
this is partially due to an incompatibility of ffms using int64_ts for millisecond-based timebase and x264 using only int32_ts for a second-based timebase.
I'll have to look for a valid solution when i get back from work, there's a few different ones that could be usable...