| Index: libvpx/source/libvpx/vp8/decoder/treereader.h
|
| diff --git a/libvpx/source/libvpx/vp8/decoder/treereader.h b/libvpx/source/libvpx/vp8/decoder/treereader.h
|
| index 238ff853612ed588ba9bb19800ced203bef567f1..b50a4d2ff39f5af53290862e7f95ae40cd8022af 100644
|
| --- a/libvpx/source/libvpx/vp8/decoder/treereader.h
|
| +++ b/libvpx/source/libvpx/vp8/decoder/treereader.h
|
| @@ -38,4 +38,27 @@ static int vp8_treed_read(
|
| return -i;
|
| }
|
|
|
| +
|
| +/* Variant reads a binary number given distributions on each bit.
|
| + Note that tree is arbitrary; probability of decoding a zero
|
| + may or may not depend on previously decoded bits. */
|
| +
|
| +static int vp8_treed_read_num(
|
| + vp8_reader *const r, /* !!! must return a 0 or 1 !!! */
|
| + vp8_tree t,
|
| + const vp8_prob *const p
|
| +)
|
| +{
|
| + vp8_tree_index i = 0;
|
| + int v = 0, b;
|
| +
|
| + do
|
| + {
|
| + b = vp8_read(r, p[i>>1]);
|
| + v = (v << 1) + b;
|
| + }
|
| + while ((i = t[i+b]) > 0);
|
| +
|
| + return v;
|
| +}
|
| #endif /* tree_reader_h */
|
|
|