Log in

View Full Version : Trying to find best x264 settings for pda.


junglemike
17th September 2006, 15:57
Hello. I already asked similair question some time ago. But I'm still trying to find the acceptable solution.
I have a Palm T3 pda (4 years old) with 400mhz cpu.
screen resolution is 480x320. The only player than can play avc is Tcpmp (with coreavc plugin).
I have tested x264 432x320@25fps@300kbps video with 64kbps ogg audio in .mkv container.(last test is xvid). Test files were made with Megui and built-in profiles. I made tests @ 400mhz cpu (default) and maximum overclocked 533mhz

I tested each video in 2 conditions: 1) benchmark mode and 2)normal playback mode.
In benchmark mode Tcpmp tried to play as fast as possible (still decoding and play all frames). Compared to 100% realtime speed.
In normal mode Tcpmp skips some frames (probably b-frames), if it can't decode fast enough.

*note: even if banchmark gives >100%, it is still possible to have dropped frames during normal playback, b/c various scenes are easier to play than others.
Also, below 10% dropped frames isn't terribly noticable.


-=PROFILE=----------Benchmark(533mhz/400mhz)-----%Dropped fames (533/400)
432x320_HQ-slow...................98.58% / 69.74%.........5.9% /42.7%
432x320_HQ-Slowest...............99.93% / 70.79%..........5% /41.0%
432x320_PD-ipod....................138.18% / 98.24%........0% /19.8%
432x320_PD-psp.....................100.81% / 71.36%........3.4% /30.6%
432x320_PD-Xbox-lores...........103.79% / 73.49%.........3% /36.2%
432x320_PD-Xbox-Hires...........110.40% / 78.21%.........0.9% /22.6%
432x320_CE-Highprofile...........102.39% / 72.37%.........3.9% /38.5%
432x320_CE-Mainprofile...........107.22% / 75.83%.........2% /30.8%
432x320_CE-Baseprofile...........138.20% / 97.84%.........0.4% /20.9%
432x320_CE-Quicktime.............109.16% / 77.36% ........1.2% /24.4%
432x320_Xvid.........................191.49% / 136.19%.......0% / 0%

As you see nothing is watchable except Xvid in non-overclocked state.But Xvid looks pretty bad. PD-Ipod profile is fastest among other AVC profiles. The problem is - this Ipod profile looks just as bad - It probably needs double bitrate to look as good as hq-slow.
I'm trying to find some custom avc settings that would satisfy these 2 criteria:
a)It needs to have acceptable quality @ low bitrates ~300kbps
b)It needs to be easy on the hardware (preferably - as Ipod profile)

For example: Ipod profile is easy on hardware, but looks really bad. HQ-slow profile looks good, but is very hard to play.
I'm trying to find a compromise. Encoding time is not an issue.

Champs
17th September 2006, 21:36
This is not really answering your question as to x264 parameter settings (as I'm clueless about profile restriction for portable devices), and I'm kind of a noob, but what about Bicubicresizing the source into a horizontally smaller resolution e.g. 256*320, and force DAR 4:3 (I'm assuming that's what your video is supposed be in) when encoding in meGUI or muxing w/ mkvmerge? This way you can stick to Ipod profile but w/ higher bitrate "per area", though I don't know if the Ipod profile itself is visually satisfactory. Sorry if this is a silly suggestion but just my 2 cents.

foxyshadis
18th September 2006, 05:59
It'd work, though it'd look blurry.

Hey junglemike, if you haven't already made more tests, can you test what difference, if any, more references makes? If none, that's at least one viable option. Also, possibly increasing b-frames.

The general problem of how to fix the framedrops is simply working with the VBV max bitrate, once you've found the best combination of switches. It might be that 700 is the max it can decode with CABAC. Might be 500, you should make test encodings until you can find the perfect optimum.

DarkZell666
22nd September 2006, 17:48
Couldn't framedrops happen because of scene-complexity rather than bitrate increase ? I believe one doesn't always imply the other ... I was rather thinking about large motion vectors for example.

I was thinking, maybe a very complex scene (still capped @ 500kbps, meaning it will have a very highQP, say 40) would be decoded less easily than a simple scene @ 700kbps (it would have QP20 for ex.).

I may be very wrong though, just an idea.

Sharktooth
22nd September 2006, 18:05
Larger MVs mean higher bitrate...