ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/freemol/trunk/src/mpeg_encode/src/mproto.h
Revision: 22
Committed: Mon Jul 7 22:16:37 2008 UTC (11 years, 4 months ago) by wdelano
File size: 4435 byte(s)
Log Message:
initial checkin of mpeg_encode source
Line File contents
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));