A variable length decoder with enhanced throughput due to pre-tagging an input bit stream which includes contiguous and singular code words, and parallel processing of contiguous code words in the input bit stream, comprising:
- tagging means for receiving the input bit stream and outputting a tagged bit stream with marked code word boundaries and a bussed bit stream aligned in time with said tagged bit stream;
- first input means for receiving said tagged bit stream and providing a first tag decoding window that includes a sequence of tag stream bits which include marked code word boundaries for one or more code words to be decoded at an output thereof;
- second input means for receiving said bussed bit stream and providing a first bit stream decoding window that includes a sequence of bussed bit stream bits which include one or more code words to be decoded at an output thereof;
- word length computation means for computing the combined length of said one or more code words in said first tag decoding window;
- and,
- code word value decoding means for determining, in parallel, the values of one or more contiguous code words in said first bit stream decoding window, during a first clock cycle, and for determining the value of a singular code word in said first bit stream decoding window during a second clock cycle.