[Comp.Sci.Dept, Utrecht] Note from archiver<at>cs.uu.nl: This page is part of a big collection of Usenet postings, archived here for your convenience. For matters concerning the content of this page, please contact its author(s); use the source, if all else fails. For matters concerning the archive as a whole, please refer to the archive description or contact the archiver.

Subject: MPEG-FAQ: multimedia compression [7/9]

This article was archived around: 9 Nov 1996 09:34:22 GMT

All FAQs in Directory: mpeg-faq
All FAQs posted in: news.answers
Source: Usenet Version

Archive-name: mpeg-faq/part7 Last-modified: 1996/06/02 Version: v 4.1 96/06/02 Posting-Frequency: bimonthly
~Subject: xplayer Version 2.0; Jan 27, 1993) (Motif interface; Jan 30, 1994) Lawrence A. Rowe, Ketan Patel, and Brian Smith Computer Science Division-EECS, Univ. of Calif. at Berkeley Motif Interface: Daeron Meyer The Geometry Center, University of Minnesota There are several mailing lists established for messages about the decoder: mpeg-list-dist@CS.Berkeley.EDU deo Software Decoder (Version 2.0; Jan 27, 1993) (Motif interface; Jan 30, 1994) Lawrence A. Rowe, Ketan Patel, and Brian Smith Computer Science Division-EECS, Univ. of Calif. at Berkeley Motif Interface: Daeron Meyer The Geometry Center, University of Minnesota There are several mailing lists established for messages about the decoder: mpeg-list-dist@CS.Berkeley.EDU General information on the decoder for everyone interested should be sent to this list. This should become active after 11/20/92 mpeg-list-request@CS.Berkeley.EDU Requests to join or leave the list should be sent to this address. The subject line should contain the single word ADD or DELETE. mpeg-bugs@CS.Berkeley.EDU Problems, questions, or patches should be sent to this address. If you have any questions or bug reports for the motif version (and I'm sure there will be plenty) please send mail to: daeron@geom.umn.edu Also check out the online web documentation for the motif version: http://www.geom.umn.edu/docs/mpeg_play/mpeg_play.html --------------------------------------------------------------------------- ~Subject: xmpeg.tk <IMG SRC="xmpegtk1.gif"> <IMG SRC="xmpegtk2.gif"> It's a bit confusing to have now 2 utilities having the same name (as xmpeg is already a part of the XMPLAY distritution. It would be nice to rename the following tool to xmpeg.tk, contacted the author about that but got no reply :o( xmpeg (ver 0.5b) Tk/Tcl based front end to mpeg_play. xmpeg is a simple script that allows users of mpeg_play to have a graphical front end to mpeg_play. This means that one does not have to remember what the command line switches are needed, or what kinds of dithering are available. The idea for this came about when we started using NCSA's xmosaic. Sometimes it would take 10 minutes to retrieve an mpeg file and it would only be displayed once. If you missed it or wanted to view it again, you would have to retreive it again and again. Thus xmpeg came into play. It takes a file name as an argument (a temp file in xmosaic's case) and allows the user to specify the settings they wish to use. Then the user clicks on 'Play Anim' and mpeg_play is invoked. REQUIREMENTS: In order to use xmpeg you should have Tk 3.3, Tcl 7.0 and mpeg_play 2.0. This has been tested on Sun's running SunOS 4.1.3. Comments and/or questions should be directed to Alexei Rodriguez (alexei@cis.ufl.edu). AVAILABILITY: xmpeg is available at URL=ftp://ftp.cis.ufl.edu/pub/xmpeg [] I will upload it to harbor.ecn.purdue.edu. --------------------------------------------------------------------------- ~Subject: mpeg2encode / mpeg2decode From: cfogg@netcom.com (Chad Fogg) Subject: MPEG-2 source code and MS-DOS executables available via anon. FTP We, the MPEG Software Simulation Group, are releasing our MPEG-2 and MPEG-1 Video encoder and decoder source code, along with example bitstreams and pre-compiled MS-DOS executables. Please read the following extracts from our README file for more information: mpeg2encode / mpeg2decode ========================= MPEG-2 Encoder / Decoder, Version 1.0, May 1994 MPEG Software Simulation Group (MPEG-L@netcom.com) Contents: 1. Overview 2. Introduction 3. Contacting the MPEG Software Simulation Group 4. Availability 5. Installation 6. Acknowledgements 7. History of the technical report 1. Overview =========== This directory contains our implementation of an ISO/IEC DIS 13818-2 codec. It converts uncompressed video frames into MPEG-1 and MPEG-2 video coded bitstream sequences, and vice versa. The files mpeg2enc.doc and mpeg2dec.doc in the doc/ directory contain further information about the codec. The doc directory also contains an FAQ file answering frequently asked questions about MPEG. A precompiled version of the programs for MSDOS (requires at least a '386) and a set of verification files are available separately. Subdirectories src/mpeg2enc and src/mpeg2dec contain the source code for the encoder and decoder, subdirectory par/ contains a couple of example encoder parameter files for 25 and 30 frames/sec MPEG-2 and MPEG-1 video. 2. Introduction =============== MPEG-2 Video is a generic method for compressed representation of video sequences using a common coding syntax defined in the document ISO/IEC 13818 Part 2 (CD: Nov. 1993, DIS: March 1994) by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), in collaboration with the International Telecommunications Union (ITU) as Recommendation H.262. The MPEG-2 concept is similar to MPEG-1, but includes extensions to cover a wider range of applications. The primary application targeted during the MPEG-2 definition process was the all-digital transmission of broadcast TV quality video at coded bitrates between 4 and 9 Mbit/sec. However, the MPEG-2 syntax has been found to be efficient for other applications such as those at higher bit rates and sample rates (e.g. HDTV). The most significant enhancement over MPEG-1 is the addition of syntax for efficient coding of interlaced video (e.g. 16x8 block size motion compensation, Dual Prime, et al). Several other more subtle enhancements (e.g. 10-bit DCT DC precision, non-linear quantization, VLC tables, improved mismatch control) are included which have a noticeable imporvement on coding efficiency, even for progressive video. Other key features of MPEG-2 are the scalable extensions which permit the division of a continuous video signal into two or more coded bit streams representing the video at different resolutions, picture quality (i.e. SNR), or picture rates. The MPEG Software Simulation Group is currently developing MPEG software with the purpose of providing aid in understanding the various algorithms which comprise an encoder and decoder, and giving a sample implementation based on advanced encoding models. The MPEG-2 software project is on on-going development. Since the current version of the encoder already employs a reasonable (and the most popular) subset of the MPEG-2 signal coding toolkit, and there appears to be sufficient public interest, we have decided to make a first public release of the code. This encoder can also be used for generating good quality constant bitrate MPEG-1 sequences and is (to our knowledge) the first public release of an encoder based on the relatively sophisticated TM5 coding model. 3. Contacting the MPEG Software Simulation Group ================================================ We welcome any project-specific questions, comments, suggestions, bug reports etc. They should be sent to the Internet address: MPEG-L@netcom.com which automatically forwards them to the authors. 4. Availability =============== The current version of the codec source code is available by anonymous ftp from: URL=ftp://ftp.netcom.com/pub/cfogg/mpeg2/ or URL=ftp://ftp.netcom.com/pub/cf/cfogg/mpeg2/ This directory contains the following files: README this file mpeg2codec_v1.0.tar.gz codec source code and documentation mpeg2codec_verify_v1.0.tar.gz verification archive mpeg2v10.zip MS-DOS executable archive tennis.m2v sample MPEG-2 video sequence (8 frames 704x576) tennis.par, tennis.stat.gz parameter file and statistics output for tennis.m2v You need gunzip (GNU zip/unzip) to uncompress the .gz archives. Alternatively, the files may be retrieved by sending E-mail to: ftp-request@netcom.com ... with the following line in the body of the message: SEND cfogg/mpeg2/mpeg2codec_v1.0.tar.gz You can retrieve the directory listings by sending the following command to ftp-request@netcom.com: DIR cfogg/mpeg2 General information can be retrieved with the command: HELP 5. Installation =============== [ommitted from this Usenet posting] 6. Acknowledgements =================== Authors of the current release are: Stefan Eckart (stefan@lis.e-technik.tu-muenchen.de) Chad Fogg (cfogg@netcom.com) Cheung Auyeung (auyeung@mot.com) 7. History of Technical Report Project ====================================== The Technical Report, a document which primarily consists of a C source code program, was initiated by the MPEG committee to: - Provide an example of MPEG video syntax being intelligently employed to generate good quality video. - A reference tool for implementors - Aid in understanding the MPEG specification MPEG would like to especially thank Dr. Stefan Eckart for his contributions have greatly helped the MPEG-2 Technical Report project start onto a successful path towards the final 13818-5 document. MPEG lends a kind acknowledgement to Arian Koster (PTT) for initiating the MPEG-1 technical report project in Autumn 1992, and Leonardo Chiariglione (Chairman of MPEG) and Didier Le Gall (Chairman of MPEG Video) for support throughout both projects. Also many thanks to MPEG-1 project contributors Peter Au (Hughes Aircraft), Ron Burns (Hughes Aircraft), Stefan Eckart (Technical University of Munich), Chad Fogg, Tsuyoshi Hanamura (Waseda University), Kinya Oosa (Nippon Steel), Brian Quandt (Heuris Logic) and Hiroshi Watanabe (NTT). Regards, Chad Fogg MPEG Chair for Software Simulation cfogg@netcom.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Version 1.1a of the MPEG Software Simulation Group's MPEG-2 codec is now available via anonymous ftp from URL=ftp://ftp.netcom.com/pub/cfogg/mpeg2/mpeg2codec_v1.1a.tar.gz [] If you have mpeg2codec_v1.1.tar.gz and the program 'patch', it is sufficient to download mpeg2codec_v1.1_v1.1a.diff to upgrade vom v1.1 to v1.1a. The most import difference between v1.1 and v1.1a is the fix of a bug which caused decoding of MPEG-1 sequences to fail if the compiler assumes 'char' to be unsigned. Thanks to all who had offered assistance in finding this bug. A Windows 32s port of mpeg2decode (and mpeg2play), courtesy of CompCore, is available as mpeg2w11.zip. A DOS version of mpeg2encode and mpeg2decode is available as mpeg2d11.zip. Best regards, Stefan Eckart, MPEG Software Simulation Group. --------------------------------------------------------------------------- ~Subject: mpegaudio [ You can find this under the name MPEGAUDI or ftp it from the IUMA- ] [ server URL=ftp://sunsite.unc.edu/pub/electronic-publications/IUMA [ For a further description of IUMA look into the WHERE-INFOS section. ] Last updated 1/5/94 The good news is that source is now available. Look in /IUMA/mpeg_players for the file mpegaudio.tar.Z We will continue to gather source and executables and hope that some enterprising shareware authors or academics will provide various platforms with real-time players. According to Jared V Boone below, the Xing real-time player for Windows plays only the lower half of each subband of only one of the two channels. By my ears, that's pretty good. Another worthy undertaking would be porting the source to the DSPs increasingly being found on motherboards and add-in cards, such as the Mac AV series' AT&T 3210 or the Turtle Beach MultiSound's Motorola 56001, for real-time full-quality encoding and playback. That would be cool. =) -IUMA staff Here's the latest word on other non-commercial MPEG audio players for Unix workstations. I found this in a zip file, the test suite missing, as well as the Makefile. I hacked together a quick makefile, and altered the musicout code so that if the destination filename is "stdout" it writes the song to stdout so you can pipeline it into sox then into /dev/audio or your equivilant. (Handling 30 meg files takes mucho diskspace I dont have :) Basically, all you need to do is run it in a pipeline: decode snd.mp2 stdout | sox [your favorite opts] > /dev/audio (or equiv) >Some of those favorite opts: >sox -t .raw -r 44100 -s -w -c 2 file.mp2.dec -t .au -r 8000 file1.au >sox -t .au -c 2 -w -s file1.au -t .au -c 1 -b -u file2.au avg I have both encoded and decoded with this. I decoded a song off the IUMA archives, and encoded a topgun soundtrack I digitzed myself. One thing to note, at the default encoding bitrate of 384 bits, things dont compress hardly at all, you'll want to input something like 128 bits, which does on average 8-10:x1 compression. Encoding takes a *LONG* time... :) -Crh Charles Henrich Michigan State University henrich@crh.cl.msu.edu http://rs560.msu.edu/~henrich/ --------------------------------------------------------------------------- ~Subject: maplay From: "Tobias 'Doping' Bading" <bading@cs.tu-berlin.de> This announcement has been posted to the following newsgroups: alt.comp.compression, comp.compression, alt.binaries.multimedia, comp.multimedia, alt.binaries.sounds.misc, de.alt.binaries.sounds last edit: 6/23/94 14:36:07 Hi MPEG audio fans, I'd like to announce the second release of my free, software-only MPEG audio player maplay. Those of you who are already familiar with maplay 1.1 may take a look at the list of changes in version 1.2: - required CPU time reduced by 50% - support of 16 bit soundcarts under Linux Implemented by Louis P. Kruger (lpkruger@phoenix.princeton.edu) - 8 kHz u-law realtime playback on amd devices (SPARC 2/IPX/...) or conversion to 8 kHz u-law to stdout Based on an implementation by Jim Boucher (jboucher@flash.bu.edu) - some bug-fixes (-u options, Solaris 2.3 problem, problems with older GNU C++ releases, makedepend usage removed) All in all version 1.2 is now capable of - playing MPEG audio layer I or II streams on SPARC 10 (SunOS 4.1.3 or Solaris 2.x), Silicon Graphics Indigo (IRIX 4.0.x or IRIX 5.x) and Linux machines in nearly CD-quality. On a SPARC 10/40, maplay needs about 46% CPU time for realtime stereo playback and 26% for mono playback. (maplay can't be compiled under IRIX 5.x because of the missing audio library, but an IRIX 4.0.5F binary works under IRIX 5.x, too) - playing these streams in 8 kHz u-law format on SPARC 2/IPX/... (SunOS 4.1.x) machines using the amd device. On a SPARCstation IPX, maplay needs about 43% CPU time for realtime mono playback. - decoding streams to raw 16 bit pcm format at the frequency of the stream (32, 44.1 or 48 kHz) or to 8 bit u-law format downsampled to 8 kHz. The C++ sourcecode of maplay 1.2 and a short layer II MPEG audio stream for testing purposes has been posted to alt.binaries.multimedia on 6/23/94. The sources and some binaries are available via the ftp server URL=ftp://ftp.cs.tu-berlin.de/incoming/maplay1.2/ It contains: -rw-r--r-- 1 bading doping 4290 Jun 23 14:20 ANNOUNCEMENT -rw-r--r-- 1 bading doping 95691 Jun 23 14:19 maplay1_2.tar.Z -rwxr-xr-x 1 bading doping 96497 Jun 22 12:30 maplay_indigo.Z* -rwxr-xr-x 1 bading doping 81469 Jun 22 12:12 maplay_sol2.Z* -rwxr-xr-x 1 bading doping 88881 Jun 22 12:17 maplay_sunos4_1_3.Z* -rwxr-xr-x 1 bading doping 93125 Jun 22 12:35 maplay_ulaw_sunos4_1_3.Z* -rw-r--r-- 1 bading doping 372821 Jun 23 12:16 things.mp2 Due to slow Internet connections to this site, please use the mail server mail-server@cs.tu-berlin.de. Send an email to this address with the contents SEND incoming/maplay1.2/maplay1_2.tar.Z and you will receive a mail with an uuencoded copy of the requested file. Sending a mail containing "SEND help" returns a mail with more infos about this mail server. The available precompiled binaries are (in compressed format) - maplay_sunos4_1_3.Z for SPARCstations with a dbri device (e.g. SPARC 10, CD-quality) under SunOS 4.1.x (created under SunOS 4.1.3) - maplay_ulaw_sunos4_1_3.Z for SPARCstations with an amd device (e.g. SPARC 2 or IPX, telephone quality) under SunOS 4.1.x using 8 kHz u-law output (created under SunOS 4.1.3) - maplay_sol2.Z for SPARCstations with a dbri device (e.g. SPARC 10, CD-quality) under Solaris 2.x (created under Solaris 2.3 [= SunOS 5.3]) - maplay_indigo.Z for Silicon Graphic Indigo machines (CD-quality) under IRIX 4.0.x or IRIX 5.x (created under IRIX 4.0.5F) To extract the source code, you may use "zcat maplay1_2.tar.Z | tar xvf -" or "uncompress maplay1_2.tar.Z ; tar xvf maplay1_2.tar". Please take a look at the README file next. For a binary, you may use "uncompress maplay_sunos4_1_3.Z". You may also take a look at the Internet Underground Music Archive (IUMA) ftp server sunsite.unc.edu ( in the directory /pub/electronic-publications/IUMA/audio_utils/mpeg_players/Workstations If you are also looking for an encoder, please take a look at the file /pub/electronic-publications/IUMA/audio_utils/converters/source/mpegaudio.tar.Z on the IUMA ftp server. It contains sources for an encoder and a decoder. That's all for now, Tobias Bading (bading@cs.tu-berlin.de) --------------------------------------------------------------------------- ~Subject: Scanning MPEG's ... STC Version 1.0 A simple program that prints and plots the bits-per-picture of a MPEG-1 or MPEG-2 bitstream file. The program is called "stc" (since it only checks for picture_start_code's and thus runs very quickly). stc can be conveniently run in conjunction with an MPEG encoder, since stc can wait on the bitstream file and plot new points as they become available (or produce a new graph if the bitstream file becomes shorter, presumably because the MPEG encoder was restarted). stc is only about 500 lines of C code, but it uses gnuplot for plotting. stc was developed for an x-windows display and postscript printer, but it can be very easily modified to use any of the many other displays and printers that gnuplot supports. Simply compile stc.c with your favorite ANSI-C compiler, and that's all there is to it. For graphing functions, you must have gnuplot in your $PATH. * Copyright (c) 1993 by The Trustees of Columbia University in * the City of New York. * All rights reserved. --------------------------------------------------------------------------- ~Subject: MPEG decoder... Date: Sun, 2 Jan 1994 22:57:48 -0800 From: Jared V Boone <jboone@patriot.wtfd.orst.edu> I have an MPEG decoder that I can make available. It is in C and I have succeeded in compiling it under Windows NT Visual C++ and NetBSD 0.9 with GNU V2.4. The code is rather rough, only decodes Layer II, and is rather slow. However, I figure if I release the code to the public, some rocket scientist can make it ran fast... My only conditions are that I am acknowleged and notified when someone uses the code in a freeware/shareware/commercial product. Let me know if you're interested. - Jared Boone, Oregon State University (jboone@instruction.cs.orst.edu) P.S. I'm also working on an encoder. It appears that Xing's encoder is not all that great (sound quality), and also does not conform to the MPEG-I spec. If you'd like, I can keep you posted on this as well... --------------------------------------------------------------------------- ~Subject: MPEGTool MPEGTool is an application which combines MPEGTool encoder and MPEGTool statistics with X11/Motif based Graphical User Interface (GUI). MPEGTool encoder is an MPEG-1 encoder for RGB and CCIR-601 format input video sequences. MPEGTool statistics is a graphical statistics tool which can be used to analyze the statistical pro- perties of the encoding process. MPEGTool allows a user to speci- fy several of the MPEG parameters such as the intraframe to in- terframe ratio, and the quantizer scale through its GUI. MPEGTool has been tested on Sun SparcStation and HP9000 current- ly. To compile under these machines, see instructions in Makefile. GUI of MPEGTool is based on Motif toolkit from the Open Software Foundation (OSF), so Motif (Xm) libraries as well as X Toolkit (Xt) libraries and Xlib are required to compile MPEGTool. Although MPEGTool can be executed under several window managers, Motif window manager (mwm) is recommended. We've tested mwm, Open look window manager (olwm), Tab window manager (twm). With the twm, we recommend to put 'DecorateTransients' in your .twmrc file. MPEGTool supports disk and tape device for video data input and MPEG code output. Also, MPEGTool creates statistics data on the disk. Statistics data requires around 1/350 to 1/250 of video data size and MPEG code requires 1/10 to 1/5 depending on the parameter. MPEGTool encoder encodes RGB/CCIR-601 format video input data from tape or disk device by MPEG-1 specification and write the encoded data into tape or disk. In addition, the statistics data can be stored into disk device for MPEGTool statistics analysis. We can set several encoding parameters from MPEGTool Encoder win- dow. For setting device related parameters, click Configure but- ton and modifying parameters in MPEGTool Encoder Configuration window. To start Encoding, click Start and MPEGTool begins encode if there is no parameter error or device related error. MPEGTool statistics creates types of graphs to analyze statisti- cal properties of MPEG encoded video stream. Four types of graphs can be selected, Distribution, Generation Record, Autocorrelation and Interarrival Time. First three of these plot each statistics of MPEG code in five levels, Bit/Frame, Bit/Slice, Bit/MacroBlock, ATM/Frame and ATM/Slice. Interarrival Time plots the time elapsed between arrivals of ATM packets within a frame. The interarrival times are calculated from the bits generated per macroblock within a frame. This interarrival time is normalized to units of X seconds (where X will depend on the hardware imple- mentation of the coder). "MPEGTool: An X windows based MPEG encoder and statistics tool", Proceedings of ACM Multimedia '93, Anaheim, CA This paper contains more details and several examples about MPEGTool. PostScript file of this paper is placed on anonymous ftp on atum.ee.upenn.edu. --------------------------------------------------------------------------- ~Subject: What is "SECMPEG" ? SECMPEG is first a newly defined stream, that ensures the service of confidentiality and integrity for a MPEG-I-video-stream. 'Cause of the amount of multimedia-data it is NOT possible to use the same crypto- or checking-techniques for multimedia-data then for normal files or streams. <IMG SRC="secmpegf.gif"> Therefore we defined a new stream, containing additional security information. We tested and filtered the MPEG-I-stream to ensure that only important and relevant data is encrypted or checked. The newly desinged methods are not proofed but quite good tested. We can't be sure so far, if these method really do what they are designed for. <IMG SRC="secmpegm.gif"> It is second a tool, that can insert and delete the confidentiality and integrity data into/from a MPEG-I-stream. If you get any results to proof our methods, we hope to here from you ! More information is available from te authors, like some PostScript- files, pictures and graphs. How does it compile ? The program already compiles under - SunOS 4.1.x using cc or gcc - SunOS 5.0 using cc or gcc - Solaris 2.1 using cc or gcc - INTERACTIVE Unix 2.2.1 using cc or gcc - Linux using gcc - MS-DOS using gcc or Borland C 2.0 (tcc), the dos-port shoulb be included as executable in the archive You need a compiler, that understands ANSI-C so far, but the rest is straight forward C, so it should compile nearly everywhere. What can you do ? Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the archive remains complete, that this author notice will appear in all copies and as long as you don't try to make money off it, or pretend that you wrote it. Authors Juergen Meyer Frank Gadegast Sonnenallee 50 Leibnizstr. 30 12045 Berlin GERMANY 10625 Berlin GERMANY Access: jm@cs.tu-berlin.de Access: phade@powerweb.de --------------------------------------------------------------------------- ~Subject: PVRG-MPEG Codec From: msimmons@ecel.uwa.edu.au (Michael Simmons - mgmt_staff) Subject: Standford MPEG codec Date: Thu, 25 Feb 1993 16:07:18 +0800 (WST) MPEG Image and Image sequence compression/decompression C software engines The Portable Video Research Group at Stanford have developed image/image sequence compression and decompression engines (codecs) for MPEG, CCITT H.261, and JPEG. The primary goal of these codecs is to provide the functionality - these codecs are not optimized for speed, rather completeness, and some of the code is kludgey. Development of MPEG, P64, and JPEG engines is not the primary goal of the Portable Video Research Group. Our research is focused on software and hardware for portable wireless digital video communication. For more information about current research, please send e-mail to Professor Teresa Meng at meng@tilden.stanford.edu. COMMENTS/DISCLAIMERS: This code has been compiled on the Sun Sparc and DECstation UNIX machines; some code has been further checked on the HP workstations. For comments, bugs, and other mail relating to the source code, we appreciate any comments. The code author can be reached at Andy C. Hung at achung@cs.stanford.edu. The standard public domain disclaimer applies: Caveat Emptor - no guarantee on accuracy or software support. References related to these codecs should NOT use any author's name, or refer to Stanford University. Rather the Portable Video Research Group or the acronym (PVRG) should be used, such as PVRG-MPEG, PVRG-P64, PVRG-JPEG. PVRG-MPEG CODEC: (MPEGv1.1.tar.Z) [ is now MPEGv1.2.tar.gz ] This public domain video encoder and decoder was generated according to the Santa Clara August 1991 format. It has been tested successfully with decoders using the Paris December 1991 format. The codec is capable of encoding all MPEG types of frames. The algorithms for rate control, buffer-constrained encoding, and quantization decisions are similar, but not identical, to that of the (simulation model 1-3) MPEG document. The rate control used is a simple proportional Q-stepsize/Buffer loop that works though not very well - better rate-control is the essence for good quality buffer-constrained MPEG encoding. Verification of the buffering is possible so as to provide streams for real-time decoders. The MPEG codec performs compression and decompression on raw raster scanned YUV files. The companion display program for the X window system is described in section IV) below. A manual of approximately 50 pages describes the program's use. There are also MPEG compressed files from the table tennis sequence in tennis.mpg and the flower garden sequence in flowg.mpg. This codec was recently tested with the MPEG decoder of the Berkeley Plateau Research group. If what you want is decoding and X display, then you might want to look into their faster public domain MPEG decoder/viewer. The Berkeley player is available via anonymous ftp from URL=ftp://mm-ftp.cs.berkeley.edu//pub/multimedia/mpeg/mpeg-2.0.tar.Z [] ACKNOWLEDGEMENTS: Funded by the Defense Advanced Research Projects Agency. I am especially grateful to Hewlett Packard and Storm Technology for their financial support during the earlier stages of codec development. Any errors in the code and documentation are my own. The following people are acknowledged for their advice and assistance. Thanks, one and all. The Portable Video Research Group at Stanford: Teresa Meng, Peter Black, Ben Gordon, Sheila Hemami, Wee-Chiew Tan, Eli Tsern. Adriaan Ligtenberg of Storm Technology. Jeanne Wiseman, Andrew Fitzhugh, Gregory Yovanof and Chuck Rosenberg of Hewlett Packard. Eric Hamilton and Jean-Georges Fritsch of C-Cube Microsystems. Lawrence Rowe of the Berkeley Plateau Research Group. Tom Lane of the Independent JPEG Group. Katsumi Tahara from Sony. Ciaran Mc Goldrick. Karl Lillevold --------------------------------------------------------------------------- ~Subject: wdgt [ Jim Frost was putting the Berkeley-Code into a Motif and/or Xt-Widget. ] [ Its called WDGT, Version 2.0b is up-todate, but no description ] [ was included. This is from the man-page:] Mpeg is a version of the MPEG player from the Berkeley Plateau Research Group group as a widget. It can be used either as a Motif widget subclassed from XmPrimitive or as a toolkit-independant widget subclassed from Core. Mpeg inherits from Core. The Motif version also inherits from XmPrimitive. The class pointer is xmpegWidgetClass. The class name is Xmpeg. This widget was implemented by making minimal changes to the mpeg2.0 source code. Because of this, there are a num- ber of global variables, functions and constants that do not follow normal widget conventions. Many of the mpeg2.0 options are not supported yet. Shared memory may not work - it has not been tested. On stepping through a movie, the number of frames shown per step is indeterminate. --------------------------------------------------------------------------- ~Subject: SUBSECTION - VMS --------------------------------------------------------------------------- ~Subject: vms MPEG The VMS MPEG viewer is built by acquiring the regular Unix-specific mpeg source, then getting the VMS specific code. Using this mesh of code, you build your own VMS-compatible MPEG player. First, get the regular UNIX Mpeg viewer per the instructions in part "c" above. Then get the following: URL=ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/vms/ [] Thanks to Terry Maton for this information. Here is some text from him which may be of help to VMS users: First go to mm-ftp.cs.berkeley.edu in /pub/multimedia/mpeg and get the main mpeg file mpeg_play.2.00.tar.Z, then cd to vms and get the file MPEG_PLAY-20-DECW.TAR_Z. Now you have to decompress and tar the main file first and then the vms file. This means that the latest version of some of the .c files are the correct ones for vms. --------------------------------------------------------------------------- ~Subject: SUBSECTION - MacIntosh --------------------------------------------------------------------------- ~Subject: Sparcle From: maynard@elwing.otago.ac.nz (Maynard James Handley) Subject: Sparkle 2.1.2 MPEG player for Macs Date: Thu, 28 Jul 1994 10:24:46 GMT Sparkle 2.12 A mac-look-and-feel MPEG and QT player and converter. This should replace Sparkle 2.1 in the info-mac archives. This version makes the following changes to Sparkle 2.1 * A few minor bugs were fixed. * One major bug was fixed, which required extensive reworking of Sparkle internals. This is why I haven't been able to get this version out sooner. * Somewhat better (though not yet great) support for QT movies with only sound and no video. * In reponse to many mail message from people who didn't understand the new features in 2.1, I've added a lot more documentation, in the ReadMe 2nd file, and I've added balloon help. You will get slightly better results with this version if you throw away your old Sparkle preferences file (in the Preferences folder in the System folder) before running Sparkle 2.12. This isn't essential but will improve performance a little. This version * is not PPC native * does not support sound * does not support apple events * does not support online help These are all high priorities, pretty much in that order. As always, if you find any bug or anomaly in this code please tell me. The sooner you tell me, the sooner I'll fix it. As always there remain a few rough edges to this program, though I hope most of them won't be too distressing to users. Like previous rough edges, they'll be done away with in time. %%% !!! If you write to me PLEASE give me a decent address I can reply to. !!! About 10% of the e-mail I receive has a bogus return address---I try !!! to reply to you and a few hours or days later I get a message from the !!! mail system that my mail could not be delivered. !!! This is very frustrating to me and a waste of your and my time. !!! I have NEVER just ignored mail sent to me about Sparkle. If I don't !!! reply to you, it's because you sent me mail with a garbage return address. !!! Check out your mail system and write to me again when it works properly. %%% WHAT IS IT? Sparkle plays MPEGs, PICTs and QT movies and converts between them. It is multifinder friendly and, with enough memory, will open multiple documents at once. It is free. REQUIRES: System 7 or greater. QuickTime 1.6 or greater. An 020 based mac or greater. This version requires the Thread Manager. You can ftp Sparkle from URL=ftp://sumex-aim.stanford.edu/info-mac/grf/util/ (or a mirror like mrcnext.cso.uiuc.edu) You can ftp the Thread Manager from URL=ftp://ftp.apple.com/dts/mac/sys.soft/extensions/Thread_manager_201.hqx Maynard Handley maynard@elwing.otago.ac.nz July 28 1994 --------------------------------------------------------------------------- ~Subject: Qt2MPEG From: Rainer Menes <menes@statistik.tu-muenchen.de> Date: Wed, 6 Oct 1993 13:20:08 +0100 Dear qt2mpeg users, I like to announce a new version of my qt2mpeg util. This version is a beta version but should be very stable I hope. The best news about the new version is that it supports Quicktime to MPEG conversation of any length. The last version, as some of you have reported, had a very seriuos bug which crash your mac very badly. Now this shouldn't happend any more. I putted the stuff on my ftp site suniams1.statistik.tu-muenchen.de in the dir incoming/qt2mpeg. What will you need? It depends if you are a firsttime user or you are using the older version right now. 1. Firsttime user should get qt2mpeg1.1b.sit.bin. This includes all you need to do the qt to MPEG conversation. 2. To update your older version get only qt2mpeg_update.sit.bin. This will save bandwidth on internet (Thank you),and replace the old files with the new once. Some fun stuff is also in this dir. To test my new qt2mpeg I made a mpeg movie with a realtime length of 1 min. The size is 192x144 with 25 fps. The movie was produced from some videos I made 1992 in Italy while skiing there. The cut was done with Adobe Premiere 3.0 and than converted with qt2mpeg 1.1b to a mpeg movie. The first scenes show myself and the last two show me and Claudia a good friend of mine (Thanks Claudia). Hope you find this movie fun to watch. (I will try a second one next year in 382x288 with 25fps) The file is called SkiRainer.mpg and is about 1.2 MByte in size. The compression rate is 1:102 and the quality is still very good I think. This is beta version qt2mpeg 1.1! If you find my utils usefull please send me nice postcard!!!!! You will find address below at the end of this readme file. This is my second beta version of Quicktime to MPEG, so you will find bugs. Changes from the version 0.1 - The qt2yuv converter now runs even when used on non truecolor screens. Sorry for this former bug. I allway run my Quadra in truecolor and never tested it in an other mode. - The MPEG encoder now is version 1.2 and not 1.0 alpha. (mpeg) - The MacMiNT version is updaten to the lastest status. The background feature now work great. - The old version only runs on a 68040 with FPU so all users without a full blow Quadra where not able to run the software. Now you can run this software on an 68030 with 68882. Hopefully with softfpu the Centris machines with a 68LC040 will be able to run this converter too. Please let me know if not. - added a new MPEG converter to the software. After alot of pproblems I got the mpeg encoder from Berkeley running (mpeg_encode). - added a new program called qt2yuvBerkeley. This will generate the different yuv files and an other shell script to make conversation as easy as possible. Changes from the version 0.5b - removed the stanford encoder from the distribution. Only takes space and isn't as fast the berkeley encoder. (Also it produces three times as mutch files as the berkeley once. For big movies this might get a problem). - change berekeley encoder to the new version 1.2. It works now with alot better quality. (Now all feature of the UNIX version). Thanks to Larry Rowe and his team. - dropped the qt2yuv program, because it only produces stanford encoder files. - qt2yuvBerkeley got some bug fixes. Main changes: 1. For some reasons the display window does show the movie centered. This bug is fixed now. All movies should work without problems. I also tested it with Adobe Premiere 3.0 which produce multiple segment files with differned compressor and it worked. 2. The bug which cause a unrecoverble crash when reaching the heaplimit is fixed. The converter stops when the heapspace get below 100 KByte. 3. Added support for YUV conversation of qt movies of any length. First the converter will count all frames in the qt movie and inform you in its statuswindow about it. Now you have to enter the startframe on which the converter starts with it conversation. Next you will be asked if you want continuemode or not. Yes = if you convert multiple segment keep the overall startframe in the parameter file allways 0. No = The overall startframe is set to the actual startframe!!! Might be usefull when converting only a special part of the movie. y or n is ok to select on of this options!!! After you have reached the end of the conversation you will be informated how many frames the converter could convert in this session. If you didn't reach the end write down the number of the continue startframe and quit the converter. Now restart it and use the same parameters and set the new startframe to the number the last run told you. - removed sources of the encoder because it took alot of space. All of you with ftp access are able to get the source from toe.cs.berkeley.edu. Software you will need too: You could use either mpeg player 0.3 (no suppport for it anymore. Stop because Sarkle is far better and Apple will bring MPEG playing support next year for Quicktime) or Sparkle 1.6. If you love a good Mac interface Sparkle is the way to go. Because this is a beta version I like to get your feedback. So if you find something you don't like, problems or what ever, sende me a mail and tell me about. Thank you. Here first some short intro to my approche to convert Quicktime movies to MPEG's. First the Quicktime to YUV converter is a FutureBasic program which reads in any Quicktime movie and converts it to a three seperate Y,U,V files. YUV is color model used in video technics as for example MPEG. This program should be really mac like to use. Sadly I couldn't make this program ran in background. I contacted the developers of FutureBasic, but they still don't know why my code wont run in background. I hope I could fix this in a future version. The YUV to MPEG conversation is handled under MacMiNT, a multitasking UNIX like development enviroment. I prefer to use MacMiNT because the MPEG converter which might run for hours, could run easy in background with out modifing the source code. This version of MacMiNT now has a stable background feature. I hope you will love MacMiNT as much as I do. I have also a version of the MPEG encoder which runs under MPW shell, but without the background feature. (If you are interested in this code send mail to me). The MPEG converter is based on the Berkeley mpeg 1.2 encoder you will find on toe.cs.berkeley.edu. The YUV converter was done by me as said befor in FutureBasic to speedup development time alot. As you see this software is first approche to help you using MPEG. I hope a friend of mine who has writen Sparkle will continue to work on a MPEG encoder integrated into Sparkle. You will find this software on: URL=ftp://suniams1.statistik.tu-muenchen.de/pub/mac/MPEG/encoder/ [] --------------------------------------------------------------------------- ~Subject: Audio on Macintosh ?! This just in... There is now a program for Macs that allows automatic real-time playback of MPEG files called MPEG/CD. You can download it from ftp.iuma.com, or check out our Macintosh help page with a web browser at: http://www.iuma.com/IUMA/html/use/Macintosh.html The following is a text dump of the Mac help page... PLAYING AUDIO ON A MACINTOSH Last updated: 95-02-14 _________________________________________________________________ New!!! MPEG CD for Macintosh is now all you need in order to hear realtime MPEG audio on your Macintosh or decompress an MPEG file to an easily readable AIFF. All you need to do is download ... MPEG_CD__1.0.1.sea.bin (480 Kb) ... from URL=//ftp.iuma.com/audio_utils/mpeg_players/Macintosh/ For system requirements for MPEG/CD, read the plain text Readme file. _________________________________________________________________ CONFIGURING NETSCAPE FOR AUTOMATIC PLAYBACK Yes! You can now have Netscape automatically launch your MPEG audio player when you click on an MPEG audio file. Just follow these simple instructions... 1. Click on Preferences under the Options menu in Netscape. 2. Select Helper Applications from the menu in the Preferences window. 3. Click on the New... button. 4. Enter audio for the Mime type and x-mpeg for the Mime subtype. 5. Enter mp2 in the Extensions box. 6. Selct MPEG/CD for the Application and choose MPEG as the File type. 7. Click on Launch application for the Action. ... and that should be it! _________________________________________________________________ Special thanks go to Brian Balthazor for bringing us this cool not-so-little utility! -Jeff Patterson IUMA Co-Czar --------------------------------------------------------------------------- ~Subject: SUBSECTION - Atari [ Bainstorm is not continuing to develop their MPEG-Player for ] [ the Atari, really sad :o( Maybe somebody can help them ? ] From: laurent@brasil.frmug.fr.net (Laurent Chemla) Date: Fri, 10 Sep 1993 14:39:39 +0000 (GMT) Frank, Of course you're right. Raphael Lemoine replied quickly, directly online on Compuserve, and as the author of our MPEG software he's quite disapointed by the little interest there is about. As a commercial entity, Brainstorm is trying to sell his work. But this kind of work is not an easy thing to sell. A few developpers asked us about our software, but could'nt pay for it. An easy solution would be to sell it to Atari Corp directly, and then developpers could get it from Atari at low price. But Atari licensed Cinepak for this usage, and they aren't interested in buying our MPEG. So we decided to forget it for a while. Our MPEG runs at the same (or so) rate, not depending on the resolution. It uses some of our 'real time' dithering algorithms on Atari. Added to the work on the DSP coding, you can see it's a good piece of software Raphael did. But it's not enough for selling it as a Shareware library, because it does'nt handle P and B frames nor the sound, and we wont work on it if we cant expect to be paid for this work. I have personnally written a few news about this software in the Atari's Usenet conferences, but only got 3 mails in return, and nothing really exciting. Anyway, be sure we will tell you if anything new occurs about that. Laurent Chemla @ Brainstorm -- Laurent Chemla : chemla@cnam.cnam.fr or laurent@brasil.frmug.fr.net Brasil BBS - +33 1 44 67 08 44 - Atari France developpers support --------------------------------------------------------------------------- ~Subject: SUBSECTION - Amiga [ There are lots of other MPEG-ports for the AMIGA ] mpeg2_0amiga.lha gfx/show 50K 40 Berkeley MPEG player 2.0 mpegplay201_bin.lha gfx/show 147K 43+MPEG player V2.01 executable mpegplay201_src.lha gfx/show 170K 43+MPEG player V2.01 sources mpeg_player122.lha gfx/show 206K 104+MPEG Player 1.22 (for all Amigas) --------------------------------------------------------------------------- ~Subject: MPEG2DCTV This is a quick and dirty program to decompress MPEG video streams to a DCTV display buffer. 'mpeg2dctv' _REQUIRES_ a 68020 or higher CPU, and a 68881 or higher FPU. On an Amiga 3000, (25 MhZ 68030 and 25 MhZ 68882), 'mpeg2dctv' plays at about one frame per second in grayscale (the default option), and at about 8/10 of a frame per second in full color. 'dctv.library' is copyrighted 1991 by Digital Creations, Inc. The MPEG source code used in 'mpeg2dctv' is copyrighted 1992 by the Regents of the University of California. 'mpeg2dctv' is copyrighted 1993 by Benjamin Reich. This software is provided AS IS. It is provided free of charge, except that if you find this program useful, I request that you make a donation of US$10 (or the equivalent) to the charity of your choice. -Benjamin Reich Portal: Counsellor BIX: ben_rich Delphi: BEN_RICH Usenet: Counsellor@cup.portal.com U.S. mail: 805 Lincoln Drive Voorhees, NJ 08043 --------------------------------------------------------------------------- ~Subject: SUBSECTION - NeXT --------------------------------------------------------------------------- ~Subject: MPEG_Play.app [ This piece of software is now available in Version 2.5. Its usally ] [ called MPEG_Play.*, but due of filename conventions its called ] [ MPPLAY, mpegplay.* or mpeg_play.* . ] This is a new release of MPEG_Play.app, a threaded program for displaying multiple MPEG videos with capability for visual cueing ("scrubbing"). Release 3.0 is required to run the application, so it should probably be archived with other 3.0 binaries. MPEG Play is in the process of evolving from a bare-bones MPEG animation viewer into a full-fledged NeXT application. The current version is multi- threaded and supports the simultaneous loading and playback of multiple "mini-videos" at different rates as high as 28 frames per second. There is a group of "live controls" in the Window Settings panel which can be manipulated even while the video is playing. There is also a Transport panel with tape deck buttons. Both can be found in the Tools submenu. MPEG Play will keep track of different settings for each window, reflecting the current values in the various information panels whenever you select a new main window. When playback is complete, a few interesting performance statistics are shown in the Playback Statistics panel. This panel, as well as a File Info Panel, can be found in the Info submenu. Notes: You may have to wait some time after opening a new file before it will be shown. The MPEG file must be decoded into memory to allow rewind and random access. The frames will be counted as they are loaded. Playback is slightly slower when the Transport panel is visible, simply because it takes some CPU time to update the frame indicators. For maximum speed, close the Transport panel and use the menu options for Stop, Pause, and Play. This version is not recommended for NeXT systems without substantial system RAM and swap space. I have not personally used this software on anything other than a NeXTdimension with 88 MB of RAM, but future versions of MPEG Play will be adjusted for any problems with other systems. I have updated to version 2.0 of the mpeg_play code from Berkeley. B&W support is temporarily disabled. You can reach me as brianw@sounds.wa.com Official place for this pice of software is: URL=ftp://ftp.CS.ORST.EDU/software/NeXT/binaries/graphics/MPEGPlay2.6.FAT.tar.Z Brian Willoughby Software Design Engineer, BSEE NCSU NeXTmail welcome here Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA --------------------------------------------------------------------------- ~Subject: mpegnext This is a hack of Version 2.0 of the MPEG decoder from the Berkeley Plateau Research Group. (Please read their README.) Basically, I replaced all the X-Windows stuff with NeXTstep windows and discarded all of the dithering stuff. Don't need it since the NeXT is true color. This version is specifically optimized for a 16bit color NeXTstation. I did have to sacrifice some image quality to get the speed up. I don't know what its performance is because I use a NeXTdimension. In fact I would very much appreciated if some one would mail me the performance of this decoder. I am hoping for 6 frames/second. The NeXTdimension gets 5.5 frames/second. To get other MPEG movies please read the notes from the Berkeley Plateau Research Group. gary@isr.recruit.co.jp Media Design Center Recruit Co. Tokyo, JAPAN --------------------------------------------------------------------------- ~Subject: SUBSECTION - SGI A publically available program which can convert SGI movie files created with the IRIX 4.0.5 Movie Tools to MPEG. It was all compiled on a SGI indigo Elan running 4.05. Rob (kooper@cc.gatech.edu) =========================================================================== ~Subject: SECTION 4. - MPEG-RELATED HARDWARE We even have MPEG-AUDIO-solutions now, but still not a lot of information about them :o( who knows more ? --------------------------------------------------------------------------- ~Subject: MetaSound MetaSound A partial software MPEG-1 decoder with effective cost and high quality MetaSound is a cost-effective and high-quality MPEG-1 decoder, provided by Meta Media Inc. MetaSound is a partial software decoder, designed to work with hardware video decoders. This solution can reduce the hardware cost due to no hardware audio decoder required. In another aspect, MetaSound can support high-quality decoding with the help of hardware video decoder sharing the computation load. Currently, MetaSound has been successfully incorporated to work with three hardware video decoders. Important features of MetaSound: * High performance: For 486 DX4-100 machines or above, MetaSound can deliver FM quality (22 KHz) sound. For Pentium-90 or above machines, MetaSound requires only 40% CPU bandwidth to deliver CD quality (44.1 KHz) sound. * High Fidelity CD quality sound. MetaSound produces near CD quality sound. Under the lab test, the sound quality is better than several good hardware audio decoders. * Compatibility with MS Windows/3.1 and Windows/95. * Portability to other platforms. According to experiences, it takes less than one month to port to new hardware video decoders. * CD standard supports including Video CD 1.0, Video CD 2.0, and CDI. * Friendly user interface with full set of functions. Volume control, stop, pause, forward, backward, mute, resume, select the previous/next program track (Video CD 2.0), randomly select a program track (Video CD 2.0). * Error Recovery. MetaSound can automatically skip error bitstreams. About Meta Media Inc. --------------------- Meta Media Inc. is a multimedia software company providing with solutions of system integration and value-adding multimedia software for hardware companies. The company has several professional members, supporting R&D, including experienced PhDs and Masters. The