1 /*===========================================================================*
2  * mpeg.h								     *
3  *									     *
4  *	no comment							     *
5  *									     *
6  *===========================================================================*/
7 
8 /*
9  * Copyright (c) 1995 The Regents of the University of California.
10  * All rights reserved.
11  *
12  * Permission to use, copy, modify, and distribute this software and its
13  * documentation for any purpose, without fee, and without written agreement is
14  * hereby granted, provided that the above copyright notice and the following
15  * two paragraphs appear in all copies of this software.
16  *
17  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
18  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
19  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
20  * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21  *
22  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
23  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
24  * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
25  * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
26  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
27  */
28 
29 /*
30  *  $Header: /n/charlie-brown/project/mm/mpeg/mpeg_dist/mpeg_encode/headers/RCS/mpeg.h,v 1.2 1995/01/19 23:54:58 eyhung Exp $
31  *  $Log: mpeg.h,v $
32  * Revision 1.2  1995/01/19  23:54:58  eyhung
33  * Changed copyrights
34  *
35  * Revision 1.1  1994/11/12  02:12:51  keving
36  * nothing
37  *
38  * Revision 1.1  1994/10/07  04:24:40  darryl
39  * Initial revision
40  *
41  * Revision 1.4  1993/07/22  22:24:23  keving
42  * nothing
43  *
44  * Revision 1.3  1993/07/09  00:17:23  keving
45  * nothing
46  *
47  * Revision 1.2  1993/06/03  21:08:53  keving
48  * nothing
49  *
50  * Revision 1.1  1993/02/17  23:18:20  dwallach
51  * Initial revision
52  *
53  */
54 
55 
56 /*==============*
57  * HEADER FILES *
58  *==============*/
59 
60 #include "ansi.h"
61 #include "mtypes.h"
62 #include "frame.h"
63 
64 
65 /*===============================*
66  * EXTERNAL PROCEDURE prototypes *
67  *===============================*/
68 
69 int32 GenMPEGStream _ANSI_ARGS_((int whichGOP, int frameStart, int frameEnd,
70 				 int32 qtable[], int32 niqtable[],
71 				 int numFrames, FILE *ofp,
72 				 char *outputFileName));
73 extern void	PrintStartStats _ANSI_ARGS_((int firstFrame, int lastFrame));
74 extern void	IncrementTCTime _ANSI_ARGS_((void));
75 void	SetReferenceFrameType _ANSI_ARGS_((char *type));
76 boolean	NonLocalRefFrame _ANSI_ARGS_((int id));
77 extern void ReadDecodedRefFrame _ANSI_ARGS_((MpegFrame *frame,
78 					     int frameNumber));
79 extern void	WriteDecodedFrame _ANSI_ARGS_((MpegFrame *frame));
80 extern void	SetBitRateFileName _ANSI_ARGS_((char *fileName));
81 extern void	SetFrameRate _ANSI_ARGS_((void));
82 
83 
84 /*==================*
85  * GLOBAL VARIABLES *
86  *==================*/
87 
88 extern MpegFrame *frameMemory[3];
89 extern int32	  tc_hrs, tc_min, tc_sec, tc_pict, tc_extra;
90 extern int	  totalFramesSent;
91 extern int	  gopSize;
92 extern char	 *framePattern;
93 extern int	  framePatternLen;
94 extern int32 qtable[];
95 extern int32 niqtable[];
96 extern int32 *customQtable;
97 extern int32 *customNIQtable;
98 extern int  aspectRatio;
99 extern int  frameRate;
100 extern int     frameRateRounded;
101 extern boolean    frameRateInteger;
102 
103