MPEG-FAQ 4.0: PVRG-MPEG Codec
MPEG-FAQ 4.0:
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
[128.32.149.157]
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