PM_Mpeg *PM_CreateMpeg(char *File)
	This Function is used to create a MPEG object for use in your program.
	Simply declare a variable as a pointer to type PM_Mpeg and assign it
	the return value of this function with the path and filename of the
	Mpeg you wish to use as the argument.

	EX:
	PM_Mpeg *MyMpeg;
	MyMpeg = PM_CreateMpeg("./mympeg.mpg");


int PM_DestroyMpeg(PM_Mpeg *Mpeg)
	This is a very straightforward function, just pass it the name of
	the Mpeg you would like to free the memory of (you won't be able to
	use the Mpeg again) and it will free it.

	EX:
	PM_DestroyMpeg(MyMpeg);


int PM_ToggleMpegAudio(PM_Mpeg *Mpeg, int State)
	This is to turn on/off the audio of an Mpeg file. Pass to this
	function the name of the Mpeg in the first argument, and in the
	second pass either PM_ON or PM_OFF.
	(Default is on)

	EX:
	PM_ToggleMpegAudio(MyMpeg, PM_OFF);


int PM_ToggleMpegVideo(PM_Mpeg *Mpeg, int State)
	This is to turn on/off the video of an Mpeg file. Pass to this
	function the name of the Mpeg in the first argument, and in the
	second pass either PM_ON or PM_OFF.
	(Default is on)

	EX:
	PM_ToggleMpegVideo(MyMpeg, PM_ON);

	
int PM_ToggleMpegLoop(PM_Mpeg *Mpeg, int State)
	This is to turn on/off looping of an Mpeg file. Pass to this
	function the name of the Mpeg in the first argument, and in the
	second pass either PM_ON or PM_OFF.
	(Default is off)

	EX:
	PM_ToggleMpegLoop(MyMpeg, PM_OFF);


int PM_SetMpegVolume(PM_Mpeg *Mpeg, int Volume)
	This is to set the volume of an Mpeg file. Pass to this function the
	name of the Mpeg in the first argument, and in the second pass the
	volume you want as a number from 0-100, 100 being full volume.
	(Default is 100)

	EX:
	PM_ToggleMpegVolume(MyMpeg, 75);


int PM_ToggleMpegDouble(PM_Mpeg *Mpeg, int State)
	This is to turn on/off the display of an Mpeg file in double size.
	Pass to this function the name of the Mpeg in the first argument,
	and in the second pass either PM_ON or PM_OFF.
	NOTE: If you double the Mpeg and it doesn't all fit in the window or
	screen then the video will turn off. I think this has something to
	do with SDL_UpdateRects in the smpeg library not clipping right.
	(Default is off)

	EX:
	PM_ToggleMpegDisplay(MyMpeg, PM_OFF);


int PM_StartMpeg(PD_Surface *Surface, PM_Mpeg *Mpeg, int X, int Y)
	This function starts the playing of an Mpeg file. Pass to the
	function the surface to draw on (PD_Surfaces only, not P3D support)
	followed by the name of the Mpeg, and finally the x and y
	coordinates of the file.
	NOTE: If the Mpeg doesn't all fit in the window or screen then the
	video will turn off. I think this has something to do with
	SDL_UpdateRects in the smpeg library not clipping right.
	NOTE: I don't think this will work with any surfaces other than
	Screen or DoubleBuffer right now as it uses the default smpeg update
	routine. If this is the case it will probably be fixed later on.
	NOTE: This function is for starting an Mpeg from the beginning. Use
	PM_PauseMpeg if you want to turn it on or off while playing.

	EX:
	PM_StartMpeg(Screen, MyMpeg, 10, 0);


int PM_StopMpeg(PM_Mpeg *Mpeg)
	This function will stop the playing of an Mpeg that is being played.
	Just pass to it the name of the Mpeg.
	NOTE: Use PM_PauseMpeg if you want to turn the Mpeg on or off while
	playing.

	EX:
	PM_StopMpeg(MyMpeg);


int PM_RewindMpeg(PM_Mpeg *Mpeg)
	This function will place an Mpeg at the beginning of the playback.
	Pass it the name of the Mpeg in the argument.

	EX:
	PM_RewindMpeg(MyMpeg);


int PM_MoveMpeg(PM_Mpeg *Mpeg, int X, int Y)
	This function will move an Mpeg to a different position on the
	screen. Give the name of the Mpeg in the argument.
	NOTE: If the Mpeg doesn't all fit in the window or screen then the
	video will turn off. I think this has something to do with
	SDL_UpdateRects in the smpeg library not clipping right.

	EX:
	PM_RewindMpeg(MyMpeg);


int PM_PauseMpeg(PM_Mpeg *Mpeg)
	This function will pause/unpause the playing of an Mpeg that is
	being played. Call it once to pause playback, then again to restart
	it Pass to the name of the Mpeg in the argument.

	EX:
	PM_PauseMpeg(MyMpeg); //pauses Mpeg
	// do stuff here if you want
	PM_PauseMpeg(MyMpeg); //unpauses Mpeg


int PM_GetMpegAudioState(PM_Mpeg *Mpeg)
	This function returns the state (PM_ON or PM_OFF of the Audio in the
	Mpeg. Pass it the name of the Mpeg.

	EX:
	if (PM_GetMpegAudioState(MyMpeg) == PM_ON){
		//do this stuff
	}

int PM_GetMpegVideoState(PM_Mpeg *Mpeg)
	This function returns the state (PM_ON or PM_OFF of the Video in the
	Mpeg. Pass the name of the Mpeg in the argument.

	EX:
	if (PM_GetMpegVideoState(MyMpeg) == PM_OFF){
		//do this stuff
	}


int PM_GetMpegLoopState(PM_Mpeg *Mpeg)
	This function returns the state (PM_ON or PM_OFF of Looping in the
	Mpeg. Pass it the name of the Mpeg in the argument.

	EX:
	if (PM_GetMpegLoopState(MyMpeg) == PM_ON){
		//do this stuff
	}


int PM_GetMpegVolume(PM_Mpeg *Mpeg)
	This function returns the current level of volume in the given Mpeg.
	Pass the name of the Mpeg as an argument.

	EX:
	if (PM_GetMpegVolume(MyMpeg) > 25){
		//do this stuff
	}


int PM_GetMpegDoubleState(PM_Mpeg *Mpeg)
	This function returns the state (PM_ON or PM_OFF of size doubling in
	the Mpeg. Pass it the name of the Mpeg.

	EX:
	if (PM_GetMpegDoubleState(MyMpeg) == PM_OFF){
		//do this stuff
	}


int PM_RenderMpegFrame (PD_Surface *Surface, PM_Mpeg *Mpeg, int Frame, int X, int Y)
	This function displays a given frame of an Mpeg file. Pass to the
	function the surface to draw on (PD_Surfaces only, not P3D support)
	followed by the name of the Mpeg, the number of the frame to render
	and finally the x and y coordinates of the file.
	NOTE: If the Mpeg doesn't all fit in the window or screen then the
	video will turn off. I think this has something to do with
	SDL_UpdateRects in the smpeg library not clipping right.
	NOTE: I don't think this will work with any surfaces other than
	Screen or DoubleBuffer right now as it uses the default smpeg update
	routine. If this is the case it will probably be fixed later on.

	EX:
	PM_RenderMpegFrame(Screen, MyMpeg, 5, 10, 0);


int PM_RenderMpegFinalFrame (PD_Surface *Surface, PM_Mpeg *Mpeg, int X, int Y)
	This function displays the last frame of an Mpeg file. Pass to the
	function the surface to draw on (PD_Surfaces only, not P3D support)
	followed by the name of the Mpeg, and finally the x and y
	coordinates of the file.
	NOTE: If the Mpeg doesn't all fit in the window or screen then the
	video will turn off. I think this has something to do with
	SDL_UpdateRects in the smpeg library not clipping right.
	NOTE: I don't think this will work with any surfaces other than
	Screen or DoubleBuffer right now as it uses the default smpeg update
	routine. If this is the case it will probably be fixed later on.

	EX:
	PM_RenderMpegFinalFrame(Screen, MyMpeg, 10, 0);


int PM_IsMpegPlaying(PM_Mpeg *Mpeg)
	This function returns 0 if the given Mpeg is not playing, and
	returns 1 if it is.

	EX:
	if (!PM_IsMpegPlaying(MyMpeg))
		PM_StartMpeg(Screen, MyMpeg, 10, 0);


int PM_IsMpegStopped(PM_Mpeg *Mpeg)
	This function returns 0 if the given Mpeg is not stopped, and
	returns 1 if it is.

	EX:
	if (!PM_IsMpegStopped(MyMpeg))
		PM_StopMpeg(MyMpeg);
