Function decode [src]

Prototype

pub fn decode( self: *LenDecoder, reader: *Reader, decoder: *RangeDecoder, pos_state: usize, n_read: *u64, ) !usize

Parameters

self: *LenDecoderreader: *Readerdecoder: *RangeDecoderpos_state: usizen_read: *u64

Source

pub fn decode( self: *LenDecoder, reader: *Reader, decoder: *RangeDecoder, pos_state: usize, n_read: *u64, ) !usize { if (!try decoder.decodeBit(reader, &self.choice, n_read)) { return @as(usize, try self.low_coder[pos_state].parse(reader, decoder, n_read)); } else if (!try decoder.decodeBit(reader, &self.choice2, n_read)) { return @as(usize, try self.mid_coder[pos_state].parse(reader, decoder, n_read)) + 8; } else { return @as(usize, try self.high_coder.parse(reader, decoder, n_read)) + 16; } }