1 |
/*===========================================================================* |
2 |
* mproto.h * |
3 |
* * |
4 |
* basically a lot of miscellaneous prototypes * |
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/picasso/project/mm/mpeg/mpeg_dist/mpeg_encode/headers/RCS/mproto.h,v 1.12 1995/03/29 20:14:29 smoot Exp $ |
31 |
* $Log: mproto.h,v $ |
32 |
* Revision 1.12 1995/03/29 20:14:29 smoot |
33 |
* deleted unneeded dct prototype |
34 |
* |
35 |
* Revision 1.11 1995/01/19 23:55:02 eyhung |
36 |
* Changed copyrights |
37 |
* |
38 |
* Revision 1.10 1995/01/16 06:20:10 eyhung |
39 |
* Changed ReadYUV to ReadEYUV |
40 |
* |
41 |
* Revision 1.9 1993/07/22 22:24:23 keving |
42 |
* nothing |
43 |
* |
44 |
* Revision 1.8 1993/07/09 00:17:23 keving |
45 |
* nothing |
46 |
* |
47 |
* Revision 1.7 1993/06/03 21:08:53 keving |
48 |
* nothing |
49 |
* |
50 |
* Revision 1.6 1993/02/24 19:13:33 keving |
51 |
* nothing |
52 |
* |
53 |
* Revision 1.5 1993/02/17 23:18:20 dwallach |
54 |
* checkin prior to keving's joining the project |
55 |
* |
56 |
* Revision 1.4 1993/01/18 10:20:02 dwallach |
57 |
* *** empty log message *** |
58 |
* |
59 |
* Revision 1.3 1993/01/18 10:17:29 dwallach |
60 |
* RCS headers installed, code indented uniformly |
61 |
* |
62 |
* Revision 1.3 1993/01/18 10:17:29 dwallach |
63 |
* RCS headers installed, code indented uniformly |
64 |
* |
65 |
*/ |
66 |
|
67 |
|
68 |
/*==============* |
69 |
* HEADER FILES * |
70 |
*==============*/ |
71 |
|
72 |
#include "general.h" |
73 |
#include "ansi.h" |
74 |
#include "bitio.h" |
75 |
|
76 |
|
77 |
#define DCTSIZE2 DCTSIZE*DCTSIZE |
78 |
typedef short DCTELEM; |
79 |
typedef DCTELEM DCTBLOCK[DCTSIZE2]; |
80 |
|
81 |
|
82 |
|
83 |
/*===============================* |
84 |
* EXTERNAL PROCEDURE prototypes * |
85 |
*===============================*/ |
86 |
|
87 |
/* |
88 |
* from mbasic.c: |
89 |
*/ |
90 |
void mp_reset _ANSI_ARGS_((void)); |
91 |
void mp_free _ANSI_ARGS_((MpegFrame *mf)); |
92 |
MpegFrame *mp_new _ANSI_ARGS_((int fnumber, char type, MpegFrame *oldFrame)); |
93 |
void mp_ycc_calc _ANSI_ARGS_((MpegFrame *mf)); |
94 |
void mp_dct_blocks _ANSI_ARGS_((MpegFrame *mf)); |
95 |
void AllocDecoded _ANSI_ARGS_((MpegFrame *frame)); |
96 |
|
97 |
/* |
98 |
* from moutput.c: |
99 |
*/ |
100 |
boolean mp_quant_zig_block _ANSI_ARGS_((Block in, FlatBlock out, int qscale, int iblock)); |
101 |
void UnQuantZig _ANSI_ARGS_((FlatBlock in, Block out, int qscale, boolean iblock)); |
102 |
void mp_rle_huff_block _ANSI_ARGS_((FlatBlock in, BitBucket *out)); |
103 |
void mp_rle_huff_pblock _ANSI_ARGS_((FlatBlock in, BitBucket *out)); |
104 |
void mp_create_blocks _ANSI_ARGS_((MpegFrame *mf)); |
105 |
|
106 |
|
107 |
|
108 |
|
109 |
void ReadEYUV _ANSI_ARGS_((MpegFrame * mf, FILE *fpointer, int width, |
110 |
int height)); |
111 |
boolean ReadPPM _ANSI_ARGS_((MpegFrame *mf, FILE *fpointer)); |
112 |
void PPMtoYCC _ANSI_ARGS_((MpegFrame * mf)); |
113 |
|
114 |
void MotionSearchPreComputation _ANSI_ARGS_((MpegFrame *frame)); |
115 |
boolean PMotionSearch _ANSI_ARGS_((LumBlock currentBlock, MpegFrame *prev, |
116 |
int by, int bx, int *motionY, int *motionX)); |
117 |
void ComputeHalfPixelData _ANSI_ARGS_((MpegFrame *frame)); |
118 |
void mp_validate_size _ANSI_ARGS_((int *x, int *y)); |
119 |
void AllocYCC _ANSI_ARGS_((MpegFrame * mf)); |
120 |
|
121 |
|
122 |
/* jrevdct.c */ |
123 |
void init_pre_idct _ANSI_ARGS_((void )); |
124 |
void j_rev_dct_sparse _ANSI_ARGS_((DCTBLOCK data , int pos )); |
125 |
void j_rev_dct _ANSI_ARGS_((DCTBLOCK data )); |
126 |
void j_rev_dct_sparse _ANSI_ARGS_((DCTBLOCK data , int pos )); |
127 |
void j_rev_dct _ANSI_ARGS_((DCTBLOCK data )); |
128 |
|
129 |
/* block.c */ |
130 |
void BlockToData _ANSI_ARGS_((uint8 **data, Block block, int by, int bx)); |
131 |
void AddMotionBlock _ANSI_ARGS_((Block block, uint8 **prev, int by, int bx, |
132 |
int my, int mx)); |