[FFmpeg-devel] [RFC] 10-bit H.264 decoding support
Mon Nov 1 06:35:26 CET 2010
On Sun, Oct 31, 2010 at 10:29 PM, Pascal Massimino
<pascal.massimino at gmail.com> wrote:
> On Sun, Oct 31, 2010 at 11:06 AM, Jason Garrett-Glaser <
> darkshikari at gmail.com> wrote:
>> Over at x264, we're about to commit a few thousands of lines of asm
>> for x264's 10-bit encoding, which will make it about 4.4 times faster
>> (fast enough to be usable).
>> 10-bit (en|de)coding gives the following advantages:
>> 1. ?~15% better compression *of typical 8-bit content*. ?In terms of
>> "where this comes from", this gain is split roughly evenly (at typical
>> bitrates) between:
>> a. ?Higher precision output (in reality, this would be dithered down,
>> but you'd still get the visual benefit).
>> b. ?Higher precision intermediate values in (en|de)coding a frame.
>> c. ?Higher precision reference frames.
> care to elaborate here? Higher-precision refs and intermediate values
> also mean more residuals (or noisier ones).
Huh? I don't follow your logic at all. Higher precision means less
noise, not more. Rounding error is noise.
> Also: how are keyframes (only) doing with 10bits precision? any visible
> gain having higher-precision prediction here?
Probably not. I haven't tested though, but you can pretty easily
guess the gain at any given bit depth; every extra bit halves the gain
to be had. Thus, if 8-bit is 40db, and 9-bit is 40.4db, 10-bit will
be about 40.6db, 11-bit will be about 40.7db, 12-bit will be about
40.75db, and so forth. 10-bit is notable in that the motion
compensation intermediates still fit in 16-bit, thus allowing
relatively fast implementation.
More information about the ffmpeg-devel