fn parseBitTree( self: *RangeDecoder, reader: *Reader, num_bits: u5, probs: []u16, n_read: *u64, ) !u32
self: *RangeDecoder
reader: *Reader
num_bits: u5
probs: []u16
n_read: *u64
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
fn parseBitTree( self: *RangeDecoder, reader: *Reader, num_bits: u5, probs: []u16, n_read: *u64, ) !u32 { var tmp: u32 = 1; var i: @TypeOf(num_bits) = 0; while (i < num_bits) : (i += 1) { const bit = try self.decodeBit(reader, &probs[tmp], n_read); tmp = (tmp << 1) ^ @intFromBool(bit); } return tmp - (@as(u32, 1) << num_bits); }