1. A method for decoding a variable length coded input comprising a plurality of binary code symbols into an output symbol, the method comprising: setting, by a decoder comprising a processor and memory storing a lookup table comprising a plurality of states, a current state to an initial state and a current branch length to an initial branch length; and identifying, by the decoder using the lookup table, a next state or a symbol of the output symbols based on a current state, a current branch length, and a next binary code symbol of the variable length coded input.