A demultiplexer for separating different format packets from a multiplexed data
stream. Each packet format has a different type of header which is analyzed based
on micro-codes read out in sequence from a command memory. By using micro-codes,
the demultiplexer minimizes the circuitry required to process multiple formats
(e.g. digital video broadcasting (DVB), digital satellite system (DSS), and digital
versatile disc (DVD)). The packets are separated and sent to their respective destinations
based on the packet ID read from each header.