The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Поиск:  Каталог документации | mpeg-faq

MPEG-FAQ: multimedia compression [7/9]

This is the summary about the ISO video and audioformats MPEG 1, 2 and 4
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
    [128.227.100.252]

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
    [192.100.81.1]

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 (152.2.22.81) 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
    [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

---------------------------------------------------------------------------

~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/
    [128.32.149.157]

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/
    [131.159.64.1]

---------------------------------------------------------------------------

~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



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру