MPEG_SYS Jan 17 1995 Analyzing and Converting Tool for MPEG System Layer Streams. See in the source code for copyrights. It was compiled with Pure-C and should run on all Atari TOS machines. The source is not very portable to other systems, but the original code was also not very portable at least for Pure-C, so it should be allowed. Note, that I replaced the standard library file i/o by much more efficient schemes for better dealing with large streams. Usage: mpeg_sys [-l] [input] [output] option -l: Put logging of system layer parsing to stdout. This causes all logging information to be displayed onto screen (redirect it to a file if you want). The output is very detailed and therefore may become very large, so better leave this option off in normal cases (especially for large input streams). It should only be useful if errors are detected in normal run. input: MPEG System Layer Stream. This is the MPEG source stream. The program first checks if it is an MPEG system layer stream or not and displays the result. If the check failes, execution is cancelled. This is also the case for pure MPEG video streams, since this is only a system layer parser. If it is a system layer stream, parsing is done, and success or failure is displayed at the end. Finally, some statistics are shown. output: MPEG Video Stream extracted from input. If this parameter is given, the video packets parsed off the input stream are written into the output file. This will generate a pure MPEG video stream, which can be processed by normal MPEG video players. On Atari, these are 1STGUIDE (all machines, all frame types) and MPEGDSP (Falcon-030 only, I-frames only), both from the author of this utility. Future versions of these programs will directly support MPEG system layer streams. Of course, the output file might become very large for large input streams, so make sure you have enough disk space. The program will display error messages, however, if output writing failes. If you are not sure to have enough room, you may run the program without specifying an output first. After parsing you will see the number of video bytes found (last line). This is exactly the size of the output file if it is written! Note: If the input stream should contain more than one video stream, only the first stream found is processed (same for audio). If you find bugs or have ideas for extentions, please let me know...