This repository has been archived on 2023-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
sdl-wii/smpeg/src
2010-06-24 18:07:10 +00:00
..
audio add missing files 2009-08-12 06:06:50 +00:00
video add missing files 2009-08-12 06:06:50 +00:00
acinclude.m4 add smpeg to project 2009-08-04 05:44:43 +00:00
autogen.sh add smpeg to project 2009-08-04 05:44:43 +00:00
BUGS add smpeg to project 2009-08-04 05:44:43 +00:00
CHANGES add smpeg to project 2009-08-04 05:44:43 +00:00
config.guess add smpeg to project 2009-08-04 05:44:43 +00:00
config.sub add smpeg to project 2009-08-04 05:44:43 +00:00
configure.in add smpeg to project 2009-08-04 05:44:43 +00:00
COPYING add smpeg to project 2009-08-04 05:44:43 +00:00
depcomp add smpeg to project 2009-08-04 05:44:43 +00:00
gcc-fat.sh add smpeg to project 2009-08-04 05:44:43 +00:00
glmovie-tile.c add smpeg to project 2009-08-04 05:44:43 +00:00
glmovie.c add smpeg to project 2009-08-04 05:44:43 +00:00
glmovie.h add smpeg to project 2009-08-04 05:44:43 +00:00
gtv.1 add smpeg to project 2009-08-04 05:44:43 +00:00
gtv.c add smpeg to project 2009-08-04 05:44:43 +00:00
gtv.h add smpeg to project 2009-08-04 05:44:43 +00:00
install-sh add smpeg to project 2009-08-04 05:44:43 +00:00
ltmain.sh add smpeg to project 2009-08-04 05:44:43 +00:00
Makefile.am add smpeg to project 2009-08-04 05:44:43 +00:00
missing add smpeg to project 2009-08-04 05:44:43 +00:00
mkinstalldirs add smpeg to project 2009-08-04 05:44:43 +00:00
MPEG.cpp add smpeg to project 2009-08-04 05:44:43 +00:00
MPEG.h add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGaction.h add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGaudio.h add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGerror.h add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGfilter.c add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGfilter.h add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGlist.cpp add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGlist.h add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGring.cpp add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGring.h add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGstream.cpp add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGstream.h add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGsystem.cpp fix sound, fix compiling on r22 2010-06-24 18:07:10 +00:00
MPEGsystem.h add smpeg to project 2009-08-04 05:44:43 +00:00
MPEGvideo.h add smpeg to project 2009-08-04 05:44:43 +00:00
plaympeg.1 add smpeg to project 2009-08-04 05:44:43 +00:00
plaympeg.c add smpeg to project 2009-08-04 05:44:43 +00:00
README add smpeg to project 2009-08-04 05:44:43 +00:00
README.SDL_mixer add smpeg to project 2009-08-04 05:44:43 +00:00
smpeg-config.in add smpeg to project 2009-08-04 05:44:43 +00:00
smpeg.cpp add smpeg to project 2009-08-04 05:44:43 +00:00
smpeg.h add smpeg to project 2009-08-04 05:44:43 +00:00
smpeg.m4 add smpeg to project 2009-08-04 05:44:43 +00:00
smpeg.spec.in add smpeg to project 2009-08-04 05:44:43 +00:00
TODO add smpeg to project 2009-08-04 05:44:43 +00:00

                      SDL MPEG Player Library (SMPEG)

                             Version 0.4.5
                             July 17, 2001
								

Written by Karl Robillard and Sam Lantinga, Loki Software, Inc.
Streaming MPEG support contributed by Vivien Chappelier.

SMPEG is a free MPEG1 video player library with sound support.  Video playback
is based on the ubiquitous Berkeley MPEG player, mpeg_play v2.2.  Audio is
played through a slightly modified mpegsound library, part of Splay v0.8.2.
SMPEG supports MPEG audio (MP3), MPEG-1 video, and MPEG system streams.

This library is distributed under the GNU Library Public License (LGPL)
version 2.

plaympeg, gtv, and glmovie are simple video players provided to test the
library.  The C library interface is 'documented' in smpeg.h, and the C++
library interface is spread out over the MPEG*.h files.

This is a work in progress.  Only 16 or 32 bit color depth is supported.
The player will dynamically conver to other color depths, but playback
will be much faster if your display is already set to 16 bit color depth.
Currently it has only been tested on Linux.


Requirements:

	* Simple DirectMedia Layer v1.2.0 or newer
		http://www.libsdl.org/

To make:

	Type 'make all'.  This should build libsmpeg.a and plaympeg

Usage:

	plaympeg [--noaudio] [--novideo] [--double|-2] [--loop|-l] file ...


Known Issues:

	The MPEG decoding is a fairly slow and mathematically intensive
	process.  It could use even further optimization.

	There isn't any synchronization between the audio and video threads,
	and system stream timestamps are ignored.  The video is synchronized
	with audio by using video framerate and elapsed time.  They are
	are synchronized well enough for short clips, but long movies, or
	movies with visual audio cues (like speech) don't look very good.

Reporting bugs:

	Please report any bugs and/or fixes to smpeg@lokigames.com.


Looking at the code:

	The functions that should be optimized to improve performance are:
		Color16DitherImageMod() (Uses 5ms CPU, called few times)
		Twox2Color16DitherImageMod() (Uses 10ms CPU, called few times)
		j_rev_dct()         (Uses 0.01ms CPU, but called many times)
		ParseReconBlock()   (Uses 0.01ms CPU, but called many times)

	To improve framerate scheduling, look at timeSync() in video/gdith.cpp

Links:

	Berkeley MPEG player   http://bmrc.berkeley.edu/frame/research/mpeg
	Splay                  http://my.netian.com/~polarb
	SDL                    http://www.libsdl.org/