Merge "Linearize extrabits writing." into nextgenv2

This commit is contained in:
Yaowu Xu
2016-10-25 17:14:43 +00:00
committed by Gerrit Code Review
3 changed files with 42 additions and 74 deletions

View File

@@ -787,20 +787,19 @@ static void pack_mb_tokens(aom_writer *w, const TOKENEXTRA **tp,
if (extra_bits_av1_length) {
const unsigned char *pb = extra_bits_av1->prob;
const int value = extra_bits >> 1;
int num_bits = extra_bits_av1_length; // number of bits in value
const int num_bits = extra_bits_av1_length; // number of bits in value
assert(num_bits > 0);
index = 0;
do {
const int bb = (value >> --num_bits) & 1;
for (index = 0; index < num_bits; ++index) {
const int shift = num_bits - index - 1;
const int bb = (value >> shift) & 1;
if (skip_bits) {
--skip_bits;
assert(!bb);
} else {
aom_write(w, bb, pb[index >> 1]);
aom_write(w, bb, pb[index]);
}
index = extra_bits_av1->tree[index + bb];
} while (num_bits);
}
}
aom_write_bit(w, extra_bits & 1);