Subversion Repositories shark

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 pj 1
It is probably best to get the updated library patches from
2
 http://www.cs.brown.edu/software/ooMPEG/
3
Here are the implementor's notes.....
4
--------------------
5
MPEG Changes for Reentrancy (plus)
6
 
7
Sun compiler commands to use code as a library:
8
-DBSD -DNONANSI_INCLUDES -DSIG_ONE_PARAM -DDEFAULT_FULL_COLOR -DNOFRAMECOUNT
9
-DNOCONTROLS -DDISABLE_DITHER
10
 
11
SGI compiler commands to use code as a library:
12
+w -cckr -DDEFAULT_FULL_COLOR -DNOFRAMECOUNT  -DNOCONTROLS -DDISABLE_DITHER
13
 
14
HP compile commands for use code as a library:
15
-Aa -D_HPUX_SOURCE -DDEFAULT_FULL_COLOR -DNOFRAMECOUNT -DDISABLE_DITHER
16
 
17
Most changes just involved making sure that previous global information
18
(or static function variables) are passed down the call path to those
19
functions that need the information.
20
 
21
Changes not involving reentrancy (also mentioned in source files):
22
	do not define INTERPOLATE, add #ifdef INTERPOLATE (16bit.c)
23
	Do prototyping for static function (ctrlbar.c)
24
	Now can name and position each movie window individually (gdith.c, main.c)
25
	DISABLE_DITHER cpp define - do not include dither code if defined
26
	   (gdith,main.c, util32.c video.c video.h)
27
	NOFRAMECOUNT cpp define - do not count frames when running without
28
	   controls (gdith.c)
29
	Short circuit InitColorDisplay if not displaying anything (gdith.c)
30
	Ability to play >1 movie (w/out CONTROLS) (main.c, et al)
31
	Make sure we do a full frame for each movie (main.c)
32
	Changes to deal with non-MPEG streams (main.c)
33
	Now deals with NO_DITHER, PPM_DITHER and noDisplayFlag==1 (main.c)
34
	get rid on ANSI C complaints about shifting (readfile.c)
35
	only call DestroyVidStream up in mpegVidRsrc, not in correct_underflow
36
	   (util.c)
37
	fix parameter types for XCreateWindow call (util32.c)
38
 
39
 
40
 
41
Further changes that might (should?) be made:
42
 
43
statics that should be "de-globalized":
44
	gdith.c: ExecuteDisplay rate_deal, one_frame_time, tftarget, tfnow
45
		(when framerate=0, these aren't used)
46
	video.c: No_[PB]_Flag
47
		(effects how the movies are decoded)
48
 
49
globals that should be de-globalized
50
	main.c, gdith.c: framerate
51
		(set framerate=0 for multiple movies - no waiting)
52
	video.h: quietFlag, qualityFlag, gammaCorrectFlag,
53
	   chromaCorrectFlag, chromaCorrect
54
		(quietFlag=0 - don't print stuff out)
55
		(qualityFlag=0 - don't do high quality)
56
		(correctFlag's - same for all movies)
57
	gdith.c,video.h: startFrame,endFrame
58
		(startFrame=endFrame=-1 - don't do any frame weirdness)
59
 
60
Note - my development Makefile is included in the tar file, but it uses
61
gnu-make and depends on:
62
	UGA_ARCH environment variable set to: sgi, hp, or sol (architecture
63
	type)
64
        File system location is hardcoded in, including binary directories for
65
	each architecture and compile type (controls, dithering, shared
66
	memory)
67
 
68
Loring Holden
69
lsh@cs.brown.edu
70
Why did I do this?  see http://www.cs.brown.edu/people/lsh/projects.html