# HG changeset patch # User kostya # Date 1244875311 0 # Node ID d1119c095555ac0de7420d9bc8157817367ed1c4 # Parent 173ec947655feb7a30d9e38cfe0a30731eb597bb Correct reading bits in MPC SV8 base codes (when we have to read 0 or >16 bits). diff -r 173ec947655f -r d1119c095555 mpc8.c --- a/mpc8.c Sat Jun 13 02:19:41 2009 +0000 +++ b/mpc8.c Sat Jun 13 06:41:51 2009 +0000 @@ -44,7 +44,8 @@ static inline int mpc8_dec_base(GetBitContext *gb, int k, int n) { - int code = get_bits(gb, mpc8_cnk_len[k-1][n-1] - 1); + int len = mpc8_cnk_len[k-1][n-1] - 1; + int code = len ? get_bits_long(gb, len) : 0; if (code >= mpc8_cnk_lost[k-1][n-1]) code = ((code << 1) | get_bits1(gb)) - mpc8_cnk_lost[k-1][n-1];