[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