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 (13 years, 11 months ago) by wdelano
File size: 4435 byte(s)
Log Message:
initial checkin of mpeg_encode source
Line User Rev File contents
1 wdelano 22 /*===========================================================================*
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));