OpenCores
URL https://opencores.org/ocsvn/mpeg2fpga/mpeg2fpga/trunk

Subversion Repositories mpeg2fpga

[/] [mpeg2fpga/] [trunk/] [2do.txt] - Rev 3

Compare with Previous | Blame | View Log

Error recovery

Decoding a syntactically correct MPEG2 stream is one thing. What if the MPEG2 stream is damaged?

MPEG2 divides the screen in 16 pixel x 16 pixel macroblocks. For every macroblock, variable length decoding  produces two items: a motion vector and a 16x16 pixel prediction error.

If the MPEG2 stream is damaged, it is possible that a prediction error is produced, but no motion vector. Or that a motion vector is produced, but no (or a truncated) prediction error. So it would probably make sense to have a counter, which is increased when a motion vector has been created, and decreased when a prediction error has been created. When variable length decoding begins a new macroblock the counter could be checked, and a zero-valued motion vector or prediction error pixels created to balance things out. 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2019 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.