Function parseReverseBitTree [src]

Prototype

pub fn parseReverseBitTree( self: *RangeDecoder, reader: *Reader, num_bits: u5, probs: []u16, offset: usize, n_read: *u64, ) !u32

Parameters

self: *RangeDecoderreader: *Readernum_bits: u5probs: []u16offset: usizen_read: *u64

Source

pub fn parseReverseBitTree( self: *RangeDecoder, reader: *Reader, num_bits: u5, probs: []u16, offset: usize, n_read: *u64, ) !u32 { var result: u32 = 0; var tmp: usize = 1; var i: @TypeOf(num_bits) = 0; while (i < num_bits) : (i += 1) { const bit = @intFromBool(try self.decodeBit(reader, &probs[offset + tmp], n_read)); tmp = (tmp << 1) ^ bit; result ^= @as(u32, bit) << i; } return result; }