MPEG Cod/Dec Source Code







This page is an attempt  to show the existing versions of MPEG tools with source code allowing one to use them in his own context.
Only free versions of MPEG decoder/coder with source code are presented.
 
 
Name Mpeg-play The MPEG Library OOMPEG Mpeg-I System Mpeg2 XAnim xa
Author U.C. Berkeley Greg Ward
Montreal Neurological Institute
Loring Holden
Brown University.
James Boucher, etc.
Boston University
MPEG Software Simulation Group (MSSG)  Mark Podlipec  
Date   17 October, 1995 1995 1994 1996  23Mar98  
Version
2.3
1.3.1 
 
1.2
1.2
  2.70.7.0 
1.2 beta
Language
C
C
C++
C/C++
C
 C
 
Application Decode Decode Decode Decode/Encode Decode/Encode  Decode  
Unix/Linux Support  Yes Yes  Yes Yes Yes  Yes  
Windows NT/95 Support  Yes (ported) No  No No Yes  Yes, but no so good  
Copy/Modify granted Yes  Yes Non-commercial only Yes Yes?  Non-commercial only  
Multi-Threaded No No Yes        
Multi-Sequence
(Re-entrant)
No? No Yes Yes      
Mpeg Version capability
I
I
I
I
II
I
 
Web site  Berkeley Greg 's page  ooMPEG Decoder / Encoder http://www.mpeg.org Pubnix or smurfland
W95/NT
 
Ftp site         ftp.mpeg.org    
Additional features      Uses Mpeg-play 2.3       Uses OOMPEG
Advantages  Common  Portable, easy to use  Can be compiled as a C ot C++ library.   Easy to understand
Platform free
Read also AVI,QuickTime...
Recent
 
Disadvantages   Based on old mpeg play codebase       Read only Interlaced frames for
the mpeg, so 1 of 6 images
 

MPEG is an audio/video coding format. It stands for "Moving Picture Experts Group".

More information on http://www.mpeg.org/MPEG/

On this page, you will see a no exhaustive list of freeware source code with a small descritpion.
Usefull to use in your own code, when you want to deal with mpeg without writing your own
decoder/coder.

mpeg-patch :

 BERKELEY MPEG TOOLS (Version 1.0, Release 2; August 1995)

 This release includes the following tools:
  mpeg_play - software-only MPEG-1 video decoder (V2.3)
 This seems to exist for several platform (Unix, and Windows)
 The ooMpeg is created from this.
  mpeg_encode - software-only MPEG-1 video encoder (V1.5R2)
  mpeg_stat - a bitstream analysis tool (V2.2R2)
  mpeg_blocks - an interactive tool to examine macroblock coding (V1.0R2) (Use Tcl/Tk)
  mpeg_bits - an interactive tool to examine bit allocation to blocks (V1.0R2) (Use Tcl/Tk)

  See http://www.bmrc.berkeley.edu:80/projects/mpeg/

The decoder cannot be compiled as a library (ooMPEG is better for this purpose)
It seems I have only the mpeg_play part.

mpeg_lib-1.2.1 :
 The MPEG Library  (Version 1.2 - 17 October, 1995)

  Built from the Berkeley decoder.
 
 

mpeg_system :

 Boston University (1994)
 MPEG-I MULTI-STREAM SYSTEM-LAYER ENCODER/DECODER PAIR v1.2 Release

This software is a freeware program to :

 a) Encode multiple MPEG I video streams and multiple
    MPEG I audio streams into a single system layer stream.
 b) Playback system layer streams for the following platforms:
      SGI IRIX, SUN SOLARIS(both DBRI and AMD Devices),
      HPUX, Linux (with a Soundblaster 16), Sun OS 4.1.1 (AMD)
 c) Support for 0-16 video streams and 0-32 audio streams
 d) Also provides the mpeg_playRT for realtime playout
    of MPEG I video files.
 

ooMPEG :
 OBJECT-ORIENTED MPEG DECODER
 Give a library, which is nice, but has some
displays problems.
Looks Hairy, for compiling, running, understanding the code.
 

Mpeg2 :
                          mpeg2encode / mpeg2decode
                          =========================
              MPEG-2 Encoder / Decoder, Version 1.2, July 19, 1996

                             Copyright (c) 1996
                        MPEG Software Simulation Group

                     E-mail:   mssg@mpeg.org  (author contact)
                     Web:      http://www.mpeg.org/MSSG/
                     FTP:      ftp://ftp.mpeg.org/pub/mpeg/mssg/
 Mpeg II (and Mpeg I) decoder and encoder writtem in C.
 It is platform free (it works as well on Unix and NT)

 It is easy to understand (Makefile and C code).
 

CMT :
Berkeley University also created the CMT (Continuous Media Toolkit)
But it is Tcl/Tk oriented, and Unix/X11 oriented.

 See http://www.bmrc.berkeley.edu:80/projects/cmt/
 
 
 
 
 
 
 

Other things
FLI library : http://www.tardis.ed.ac.uk/%7Eark/flidlib/
MPEG encoding library : http://www.tardis.ed.ac.uk/%7Eark/mpegelib/