On 10/20/06, Jeff Clagg <snacky@ikaruga.co.uk> wrote:
Seems to me like gpac's MP4Box is more widely used.
I've used that, and it works just as well. Is there any reason to prefer one over the other?
Call me pedantic, but your statement here is not literally true. You CAN use b_pyramid and weight_b, but they will have no effect when bframes is 0 or 1. Which, I think, is what you should say instead.
OK, you're pedantic. And I've fixed it.
You can use i8x8 (indeed most will since it's default), but it has no effect without 8x8dct.
Noted and fixed.
+ <emphasis role="bold">Mixed reference frames</emphasis>: in + <application>QuickTime</application> 7, each whole macroblock must use the + same reference, so you must specify + <option>-x264encopts nomixed_refs</option>. ... + must specify <option>-x264encopts nobime</option>.
Um, extraordinary claims require extraordinary proof. Please prove that this is actually true before including it in the guide.
Thank you for calling me on this. Further testing confirms that neither statement is true, and I have removed them from the latest draft. However, the b-frames and 8x8dct claims *are* correct. Test cases: http://diveintomark.org/tmp/bframes1.mp4 http://diveintomark.org/tmp/bframes2.mp4 http://diveintomark.org/tmp/no8x8dct.mp4 http://diveintomark.org/tmp/8x8dct.mp4
I really have no idea what you are talking about here - first we have a bunch of x264 treatment, then you jump into autoaspect, which is not an x264 option.
Also, are you saying Quicktime 7 doesn't support SAR/DAR?
Sorry, that is what I was talking about. And no, QuickTime 7 does not support a display AR different from the sample AR. It just assumes they're the same and plays the video stretched or squooshed. I'll rephrase the paragraph to make this more clear.
1. What's the point in telling the user to specify a bunch of options (no8x8dct, nomixed_refs, nobime,..) that are DEFAULT anyway? IMO this just confuses people about what the defaults are, and what you do/don't have to specify. Also, bframes=1 should be recommended but it is not actually required for quicktime compatibility since bframes=0 (default) would also work.
2. Why don't you just use turbo=n on the first pass?
+ If you have a multi-processor machine, you can add + <option>threads=2</option> to the end of <option>-x264encopts</option>.
More pedantry: anyone CAN add threads=2. Only some people will want to. (those with 2+ cpus, who compiled with pthreads support, and who care a lot about the speed gain,...)
Points taken and incorporated. New draft coming soon, after I put the kids to bed. -- Cheers, -Mark