摘要 |
A method and apparatus for decoding an input MPEG (Fig. 1) video stream are provided that includes a core processor with a very long instruction word (VLIW) processor (Fig. 2A, 21) and a co-processor that includes a variable length decoder (VLD) for decoding the MPEG video stream (Fig. 2A, 24). The input MPEG video stream is organized into macroblocks, wherein each macroblock includes a header for a macroblock that is not decoded, and encoded data for a macroblock whose header is previously decoded by VLD (Fig. 5). Thereafter, VLD decodes the encoded video data of a first macroblock whose header has been decoded, and decodes the header of a second (current) macroblock (Fig. 6). VLIW then performs motion compensation on a current macroblock based upon reference data of a previously decoded macroblock (Fig. 7). VLIW also adds a fake slice start code and fake macroblock data at the end of each picture into the input MPEG video data stream (Fig. 3, S305); and utilizes the fake slice start code and fake macroblock data to skip to a next slice (Fig. 3, S306). The fake macroblock data indicates an error to the VLD stopping the decoding process until the core processor clears the interrupt and reinitiates decoding of a selected macroblock (Fig. 3, 310). |