Log in

View Full Version : Encoding for Baseline profile HD sequences


KidOnTheWay
30th November 2007, 07:27
Hi all,

I want to encode few HD sequences for baseline profile.
These sequences are real sequences with medium motion.

Till now I am using JM12.4 for this purpose, but what I am getting is a lot of blocking artifacts, when I play the encoded sequence at low frame rates.
I am encoding them at 20Mbps and alpha, beta = 0.

Can I use X264 for encoding baseline profiles? How can I configure X264 for baseline profiles only?

Or when using JM, what should be the settings one should use for decent quality HD encoding at low frame rates.

One more thing the sequence is recorded at 30fps, but I am only able to play it back with 5 fps. Are the artifacts visible because of slow playback?

Thanks
Kid

Dark Shikari
30th November 2007, 07:32
x264 can do Baseline profile.

Flags you need:

--level
--partitions (I'm not 100% sure which partitions Baseline supports if at all--to use no partitions, just write --partitions none)
--vbv-maxrate (for level compliance)
--no-cabac (for CAVLC)
Things you should NOT use:
--bframes
--8x8dct
--ref

akupenguin
30th November 2007, 15:08
Baseline allows all partitions and multiref.

Dark Shikari
30th November 2007, 17:25
Baseline allows all partitions and multiref.Ah yes, you're correct.

Though I think p4x4s are still restricted to 5.0-only or similar.

akupenguin
30th November 2007, 17:43
p4x4 are restricted to *low* levels only. High levels are assumed to be for high resolution, where small partitions don't help but still cost cpu-time if used excessively.

Dark Shikari
30th November 2007, 17:45
p4x4 are restricted to *low* levels only. High levels are assumed to be for high resolution, where small partitions don't help but still cost cpu-time if used excessively.That's interesting, because p4x4s are almost never used except on very high bitrates (where I find they're used all over even high-resolution videos).

akupenguin
30th November 2007, 21:08
I take that back. The number of 8x4 and 4x4 blocks as a fraction of all macroblocks does decrease at higher resolutions when qp is held constant, but the fraction of bitrate they save doesn't significantly change. This can be explained by noting that small partitions are mostly used on the edges of objects, thus the number of small partitions necessary grows with the linear resolution and not the area. So the effectiveness of small partitions in terms of compression-gain-per-decoding-cpu-time is better at high resolutions, and I don't know why the standard contains the restrictions it does.