View Single Post
Old 20th October 2011, 23:14   #9  |  Link
akupenguin
x264 developer
 
akupenguin's Avatar
 
Join Date: Sep 2004
Posts: 2,392
Quote:
Originally Posted by Dust Signs View Post
Some arrows are drawn in the wrong, i.e. opposite, direction.
Not just direction. If you meant to describe what's commonly used, there shouldn't be any arrows from one B-frame to another, and B-frames shouldn't be listed as DPB entries.
(This is the same frame structure as has been used since MPEG1, where B-frames could not be kept as references. If you're going to skip that tradition and use all of H.264's features, you might as well go all the way to pyramid (which is the other common structure), not some half-way state with B-references but old-fashioned order.)

Quote:
Although RDO only cares about the number of bits, the encoded bit stream of the optimal mode can be used right away instead of encoding it again later.
I agree that that's a valid factor in performance analysis, but not a dominant one.
What I meant to point out is that the speed gain from not computing a bitstream in any of the RDO candidate modes, outweighs the cost of recomputing the one finally selected mode, in any situation where there's more than 2 or 3 candidates total. (I don't know know the exact value of the threshold, but x264 is far above it.)
And there are also other optimizations that are incompatible with bitstream reuse, such as using trellis quantization for the final encode but deadzone for the candidates (which is a good idea in the medium speeds that might plausibly use RDO on some but not a lot of candidates).

And finally, if you're going to mention bitstream reuse despite my arguments against its efficiency, know that it also requires memory to store the reconstructed pixels and various sideband data (motion vectors etc) of the best mode so far, not just the bitstream.

Last edited by akupenguin; 20th October 2011 at 23:16.
akupenguin is offline   Reply With Quote