PDA

View Full Version : How do I tell x264 my profile is high, and how to know required buffer size?


Bathrone
23rd March 2009, 08:47
Gday, quick questions please :)

1. Wikipedia says the high profile 4.1 vbv max is 62500, and the main+extended profile 4.1 is 50000. Im getting a warning from the encoder saying Im exceeding the level limit of 50000. So it thinks Im on main or extended when I am on high profile. How do I tell x264 my profile is high?

2. Ive set my bitrates at bitrate=40000:vbv-maxrate=62500 and I get warning saying I havent set the buffer size. I dont know what the buffer size should be?

Ive searched around but havent gotten clear on this yet.

Selur
23rd March 2009, 17:26
"How do I tell x264 my profile is high?"
You don't. x264 will decide depending on the options you choose. If you choose no option that forces high profile, x264 assumes the lowest profile possible.
-> ignore the warning if you know what you are doing
"I dont know what the buffer size should be?"

from x264 source code:
const x264_level_t x264_levels[] =
{
{ 10, 1485, 99, 152064, 64, 175, 64, 64, 0, 0, 0, 1 },
// {"1b", 1485, 99, 152064, 128, 350, 64, 64, 0, 0, 0, 1 },
{ 11, 3000, 396, 345600, 192, 500, 128, 64, 0, 0, 0, 1 },
{ 12, 6000, 396, 912384, 384, 1000, 128, 64, 0, 0, 0, 1 },
{ 13, 11880, 396, 912384, 768, 2000, 128, 64, 0, 0, 0, 1 },
{ 20, 11880, 396, 912384, 2000, 2000, 128, 64, 0, 0, 0, 1 },
{ 21, 19800, 792, 1824768, 4000, 4000, 256, 64, 0, 0, 0, 0 },
{ 22, 20250, 1620, 3110400, 4000, 4000, 256, 64, 0, 0, 0, 0 },
{ 30, 40500, 1620, 3110400, 10000, 10000, 256, 32, 22, 0, 1, 0 },
{ 31, 108000, 3600, 6912000, 14000, 14000, 512, 16, 60, 1, 1, 0 },
{ 32, 216000, 5120, 7864320, 20000, 20000, 512, 16, 60, 1, 1, 0 },
{ 40, 245760, 8192, 12582912, 20000, 25000, 512, 16, 60, 1, 1, 0 },
{ 41, 245760, 8192, 12582912, 50000, 62500, 512, 16, 24, 1, 1, 0 },
{ 42, 522240, 8704, 13369344, 50000, 62500, 512, 16, 24, 1, 1, 1 },
{ 50, 589824, 22080, 42393600, 135000, 135000, 512, 16, 24, 1, 1, 1 },
{ 51, 983040, 36864, 70778880, 240000, 240000, 512, 16, 24, 1, 1, 1 },
{ 0 }
}; or see: http://rob.opendot.cl/index.php/useful-stuff/h264-profiles-and-levels/

Bathrone
24th March 2009, 02:33
Thanks, but as you can see that source only lists the main/extended profile values for level 4.1 - Im beginning to think x264 is not coded for extended profiles.

Also, that url does not explain high profile level 4.1 buffer size considerations.

Simply, I want to specify the maximum possible bitrate, vbvmax and vbvbufsize for high profile level 4.1 - not main or extended.

Chengbin
24th March 2009, 03:47
You have to use certain high profile settings of x264 to make it high profile.

Esurnir
24th March 2009, 04:05
--8x8dct is a sure bet to make high profile and is considered by most as a "tip top" choice.

Bathrone
24th March 2009, 04:15
Thanks, Ive added 8x8dct and Im now into high profile. Thanks :)

So now I have vbvmax set to 62500 and x264 doesnt complain, which is great.

Im still unsure what the correct vbvbufsize should be. Im not trying to tie the encode to a particular device - simply I want to max out the bufsize to any device capable of supporting high profile 4.1.

nm
24th March 2009, 09:08
Im still unsure what the correct vbvbufsize should be. Im not trying to tie the encode to a particular device - simply I want to max out the bufsize to any device capable of supporting high profile 4.1.
I think Blu-ray has lower maxrate and bufsize limits: http://forum.doom9.org/showthread.php?p=1225515