About the Stream Editors


The Stream Editors were created by MPEG designers (of both hardware and software) in an effort (a successful one) to assist in the architecture, development, and test of various MPEG systems. The features in these editors reflect what was necessary to develop complete MPEG systems. As a result, there are many subtle features which only active designers will appreciate, and also only which are observable after continued use of the product.

Some of these features are listed below

Conformance checking: Errors in the stream syntax are highlight in bright red

Network Based: Since these stream editors can reside on a server, multiple users of the streams can share information from other places on the network, even the internet for a collabrative effort. For example, one person could be creating streams, and another person checking them. Or perhaps an encoder effort could be debugged by multiple people using this product

Platform Independent: The editors are written in Java, and thus platform independent.

Encoder performance checking: These editors can be used to determine how well an encoder is performing. In some cases, statistics are indicated. In others, heuristic information is given. For example, to view motion vectors, and how well an encoder is predicting motion, click here: motion vectors

Decoder performance checking: These editors can be used to both determine the quality of streams being injected into a decoder under test, and also create various corner case and garden variety streams for the purposes of conformance checking the decoder

Hypertext links:All navigation is through a web browser via hypertext links, so it is easy to go backward and forward to analyze the stream. This makes stream deciphering extermely quick and easy, and cannot be overstated enough

Multidimensional: There are many ways to traverse to the same data. The protocol is multi-dimensional. So is the stream editor

Use of color: to convey information. For example, in the macroblock structure of a video frame, each different color represents a different slice

Editing: Streams can be edited. You can navigate to a particular header or data, and flip bits to create corner cases. Also, streams can be created which meet general design criterion

What You See Is What You Get: These editors were designed to be intuitive, and require very little supporting documentation to use them to the fullest extent

Training: These programs teach the structure of streams, so a novice can learn how they are put together, and see what common encoders do

Reverse Engineering: Streams can be reverse engineered to determine specific encoder architectures

Raw Data: The streams can be looked at interpreted or raw depending on the type of debugging required. Interpreted is full stream parsing and explanation. Raw is the raw binary with start codes highlighted.

Forward and Backward: Most frame (either audio or video) based operations have forward and backward controls to make indexing through frames easy