[x264-devel] VBV Rate Control Challenge
Mike Kazmier
DaKaZ at zenbe.com
Wed Dec 30 17:56:38 CET 2009
> Oh, there are a few options I've considered over time. Feel free to
> vote or suggest another.
>
> 1. High-Complexity Emergency Mode
> Add quantizers above 51. These aren't "real" quantizers, of course:
> they just map to an activation of a denoiser that lowers all DCT
> coefficients in the residual by some factor. The maximum quantizer,
> say, 71, forces all blocks to skip (inter) and empty-CBP (intra).
>
> 2. Low-complexity Emergency Mode
> Add quantizer 52, which forces all blocks to skip or empty-CBP.
>
> 3. Row-reencoding Emergency Mode
> In VBV mode, cache the bitstream state at the start of the row and, in
> the case of a massive misprediction, re-encode the row. In the case
> of underflow, re-encode the row as skips or empty-CBP blocks.
>
> 4. Frame-dropping Emergency Mode.
> Just drop frames if they underflowed.
My personal vote is 3 with a touch of 1. Meaning: we need to address this on a per row basis due to the threading. if the miss is huge, re-encode the row with some level of 52-70 based on some analysis of how badly we miss, if the new row encode is still hugely off the calc'ed bitrate allocation, redo with 71 (skip/empty).
--DaKaZ
More information about the x264-devel
mailing list