[FFmpeg-devel] [PATCH] RoQ video encoder (take 4)

Eric Lasota riot
Thu Jun 14 13:44:55 CEST 2007

Michael Niedermayer wrote:
> IIRC theres a used count and if its 0 we drop a codebook
> so if we just consider codebooks with a small used value (like 1)
> for droping then there shouldnt be much reindexing needed

I still would imagine that would be difficult, a good codebook generator 
produces very even distribution.

One thing that may be more viable, especially at low bitrates: Drop the 
entire codebook.  The contents of the codebook are preserved whether a 
codebook update occurs or not, so if one frame is similar enough to the 
previous, it can potentially just reuse the codebooks.  The cost of 
encoding a codebook is about 2000 bytes.

> codebook size estimation probably would have to be done after decidng
> the macroblock types ...
> which might lead to a iterative loop of codebook generation and macroblock
> type decission)

Deciding the macroblock types requires being indexed.  It's a 
chicken-and-egg problem I decided to sidestep completely.  Thresholding 
never quite worked when I tried it, though that's probably the best option.

> not fast but i suspect these cases are rare

Depends on the target bitrate.  Sharp scene changes can also cause 
potentially cause drastic increases in size when targetting quality.

More information about the ffmpeg-devel mailing list