proresenc: Write the full value in one put_bits call

Previously, the put_bits call writing the value wrote a value
larger than the number of bits specified, failing asserts
in debug mode. There was no actual bitstream writer corruption,
since the overwritten bit already always was set to 1.

Signed-off-by: Martin Storsjö <martin@martin.st>
pull/28/head
Martin Storsjö 13 years ago
parent aa264da5bf
commit 6d9e74cd41
  1. 3
      libavcodec/proresenc.c

@ -299,8 +299,7 @@ static inline void encode_vlc_codeword(PutBitContext *pb, unsigned codebook, int
exponent = av_log2(val);
put_bits(pb, exponent - exp_order + switch_bits, 0);
put_bits(pb, 1, 1);
put_bits(pb, exponent, val);
put_bits(pb, exponent + 1, val);
} else {
exponent = val >> rice_order;

Loading…
Cancel
Save