ooMPEG: object-oriented MPEG decoder

ooMPEG is a reentrant multi-threaded MPEG decoder written in C++. ooMPEG is based on the MPEG Library, a wrapper written around the Berkeley MPEG decoder. The original was written in C by Greg Ward at McGill, and could only play a single MPEG movie in a single thread.

Information on beta version NEW!

ooMPEG Class Descriptions

People who use ooMPEG or reference it

ooMPEG Features

Tested configurations

ooMPEG has been tested on the following configurations using version 2.3-patched of mpeg_play from Berkeley. If you get ooMPEG working on other configurations, please email LSH AT cs.brown.edu

Necessary ingredients

Installation instructions


testwrap and testwrapobj are examples using the C and C++ interface respectively
libmpeg.a and libMPEG.a are libraries that use the C and C++ interface respectively.

To do

Please see the copyright message at the beginning of the source files to see the legalese in reference to use, redistribution, and modification. Also, please notify me of any changes you make to the package so I can include it in the main distribution.

Version History

  • January 26, 1996 - added version history, copyright info
  • January 17, 1996 - first release version


    The whole Brown graphics group
    Andy van Dam (Brown) for the lab
    John Bazik (Brown) for package release help
    Steve Smoot (Berkeley) for Berkeley MPEG decoder help
    Greg Ward (McGill) for the original MPEG wrapper in C
    Tom Meyer (Brown) for the original multi-threading code
    Silicon Graphics Inc. for generously donating the Onyx Reality Engine 2 on which this package was tested
    Dan Gould for Linux testing
    tstaff (Brown) for keeping all the machines running, and replacing the keyboards rendered inoperable by liquids
    Everyone I've forgotten

    lsh@cs.brown.edu (Loring Holden)
    this page is http://www.cs.brown.edu/software/ooMPEG/

    Home Software
    Loring Holden