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 |