PDA

View Full Version : x264 decoder heavy options?


horrormaster34
29th September 2009, 03:28
Does anybody know what x264 options resault in high CPU usage when decoding?

Chengbin
29th September 2009, 04:12
CABAC, deblock and bitrate.

Dark Shikari
29th September 2009, 04:52
8x8dct ... b-frameswrong

Sagekilla
29th September 2009, 04:54
The ones that really matter are: cabac, deblock, and bitrate.

8x8dct can actually help decoding, and B-Frames barely affect decoding IIRC.

prOnorama
29th September 2009, 08:56
Edit: nevermind, I misread it as encoding

MatLz
29th September 2009, 09:24
(Is it a quizz?)
High number of refs frames maybe?

Kurtnoise
29th September 2009, 09:54
depends on the output target (device ? PC ? standalone ?)

btw,
x264 --tune fastdecode
it's a good start...

Chengbin
29th September 2009, 13:29
So what does b-frame affect? There is a reason hardware players have a limited number of b-frame support.

I think ref-frames just eat RAM?

nurbs
29th September 2009, 14:29
@Chengbin
Akupenguin says about b-frames: http://forum.doom9.org/showpost.php?p=1004553&postcount=2

horrormaster34
29th September 2009, 17:49
I turned my Xbox into a media center (via XBMC) and I'm trying to find some settings that will allow it to play MPEG4-AVC videos. I could just go with XviD, but even using the fast preset, I find that x264 looks better when put against XviD with maxed out quality settings.

XBMC uses MPlayer to playback videos so compatibility isn't an issue, just decoding speed is.

EDIT: I just encoded a video to x264 @ 576x320 using x264 --tune film -I 240 -i 24 -b 20 -B 1200 --qpmin 1 --qpstep 10 --aq-mode 2 --aq-strength 1.5 -A p8x8,b8x8,i4x4,i8x8 --8x8dct --direct auto --me umh -m 9 --no-fast-pskip --no-dct-decimate --deadzone-inter 18 --deadzone-intra 8 --sar 1/1 --fps 24000/1001 --threads auto. The video played flawlessly, which is something considering the processing power of the original Xbox.

IgorC
29th September 2009, 21:53
if B-frames aren't problem why YouTube HD videos have CABAC, deblock but no bframes?

Dark Shikari
29th September 2009, 21:55
if B-frames aren't problem why YouTube HD videos have CABAC, deblock but no bframes?I'm pretty sure that last I looked they used B-frames.

IgorC
29th September 2009, 22:12
I just downloaded a few HD videos from YouTube and there are no b-frames.

Dark Shikari
29th September 2009, 22:41
I just downloaded a few HD videos from YouTube and there are no b-frames.Then I will come to the rather obvious conclusion that the people running the site have no idea what they're doing.

(Or they're trying to work around some particular issue in Flash. Obviously, I can't say for sure.)

IgorC
29th September 2009, 23:08
Video with 3 b-frames is decoded slightly slower than without bframes (around min-max 5-15%. Average 10%).Measurements are done with timecodec with NULL output.
While quality loss is big for no-bframes.

Dark Shikari
29th September 2009, 23:20
Video with 3 b-frames is decoded slightly slower than without bframes (around min-max 5-15%. Average 10%).Measurements are done with timecodec with NULL output.
While quality loss is big for no-bframes.You have to measure speed at the same quality, not speed at the same bitrate, since B-frames reduce the bitrate necessary to reach a certain quality.

benwaggoner
30th September 2009, 01:20
(Or they're trying to work around some particular issue in Flash. Obviously, I can't say for sure.)
B-frames do require a higher latency pipeline, and B-frames will tend to reference future P-frames, and so can cause playback problem if the pipeline doesn't allow for enough buffering time when starting playback. What happens is that the frame comes up in display order before it's made it through the decoder in decode order.

We did a lot of tuning around this in Silverlight 3, and will probably continue to do so. Fast startup times are valuable as well, so you want to take just enough time to allow smooth playback, but no more than that.

benwaggoner
30th September 2009, 01:23
CABAC, deblock and bitrate.
I'd probably specify peak bitrate.

Lots of content gets encoded with uneccessarily high peak bitrates, which compounds the CABAC bitrate hit. I'm a big beleiver in always setting a VBV I think the playback environment can live with. If the value is higher than the content needs, than no damage has been done, but if it constrained the bitrate, well, it's better to see a not-so-perfect frame than for there to be a gorgeous frame that never gets to the screen.

IgorC
30th September 2009, 04:35
You have to measure speed at the same quality, not speed at the same bitrate, since B-frames reduce the bitrate necessary to reach a certain quality.
Damn, you're right. So finally b-frames aren't CPU intensive.

poisondeathray
30th September 2009, 05:08
I just downloaded a few HD videos from YouTube and there are no b-frames.

I've noticed that some do, and some don't

benwaggoner
30th September 2009, 20:02
I've noticed that some do, and some don't
Do you see any pattern based on date of encode?