Log in

View Full Version : x264 standards for ancient devices (like old phones)?


Logan9778
20th December 2019, 21:41
I was wondering if there are some x264 compatibility tables for ancient phones and such?

My nieces like to watch cartoons and stuff on some 10 year old hand me down phones they have, but the ones I've made from my dvds won't play on them. Is there some lowest level x264 settings that still look good on a tiny phone screen?

Asmodian
20th December 2019, 22:48
Baseline Level 3.0 is a good limit for old hardware.

Logan9778
20th December 2019, 23:15
Thanks! I'll look it up. Still a little shaky on what everything means.

hello_hello
21st December 2019, 12:04
MeGUI has presets for selecting a target playback device. I remember Handbrake being the same, but command lines from MeGUI:

iphone 2G
--profile baseline --level 1.3 --ref 1 --vbv-bufsize 2000 --vbv-maxrate 768

iphone 3G
--profile baseline --level 3.0 --ref 1 --vbv-bufsize 10000 --vbv-maxrate 10000

iphone 4
--profile main --level 3.1 --vbv-bufsize 14000 --vbv-maxrate 14000

Of course if they're different phones anything's possible. I've never come across any sort of list in respect to different model phones and what profile and level they support, but the manuals for the phones might tell you, or the manufacturer's website, or maybe google...

The various levels have maximum resolutions and frame rates, but I don't think x264 prevents you from exceeding them even when you've specified a particular level. It doesn't enforce the vbv restrictions automatically, so they should be included in the command line, and for some devices they're lower than the official maximum for the supported level anyway, although it's not something manufacturers tend to advertise. There's a table of levels and their maximum resolutions and frame rates etc here:
https://en.wikipedia.org/wiki/Advanced_Video_Coding#Levels

Logan9778
22nd December 2019, 06:34
Thanks! That table helps. But yeah, it's more like a "flag" than a wall when it comes to enforcement.

hello_hello
22nd December 2019, 20:09
x264 does enforce reference frame restrictions. For example, you can specify a slower speed preset which would normally increase the number of reference frames and they'll be restricted according to any specified level, taking the resolution into account. Level 4.1 and the very slow preset would use 9 reference frames for 720p and 4 for 1080p (I think they're the correct numbers off the top of my head).
If you specify the number of reference frames yourself in the command-line though, it'd use what you specify and ignore the level restrictions.

hello_hello
23rd December 2019, 22:09
I should add, if you exceed the resolution or frame rate etc for a particular level, x264 does include a warning in the "standard error stream". If you're using MeGUI, any warning will appear in the log file, labelled with an exclamation mark or a question mark or something similar (I can't remember) to make you aware of it.