Function decodeBit [src]

Prototype

pub fn decodeBit(self: *RangeDecoder, reader: *Reader, prob: *u16, n_read: *u64) !bool

Parameters

self: *RangeDecoderreader: *Readerprob: *u16n_read: *u64

Source

pub fn decodeBit(self: *RangeDecoder, reader: *Reader, prob: *u16, n_read: *u64) !bool { const bound = (self.range >> 11) * prob.*; if (self.code < bound) { prob.* += (0x800 - prob.*) >> 5; self.range = bound; try self.normalize(reader, n_read); return false; } else { prob.* -= prob.* >> 5; self.code -= bound; self.range -= bound; try self.normalize(reader, n_read); return true; } }