Change end-of-stream handling in the range coder.
Instead of trying to maximize the number of trailing zeros (minimize the number of bits encoded), we try to maximize the number of trailing bits that can contain arbitrary data. Note that this requires ec_enc_tell() and ec_dec_tell() to reserve an extra bit, since depending on the exact final codeword, as little as half the final range might be available for storing arbitrary data. This is the first step needed to start packing literal bits outside the range coder (for speed and robustness purposes).
Loading
Please register or sign in to comment