[svn] / trunk / xvidcore / src / prediction / mbprediction.h Repository:
ViewVC logotype

Annotation of /trunk/xvidcore/src/prediction/mbprediction.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1382 - (view) (download)

1 : edgomez 1382 /*****************************************************************************
2 : edgomez 149 *
3 :     * XVID MPEG-4 VIDEO CODEC
4 : edgomez 1382 * - Prediction header -
5 : edgomez 149 *
6 : edgomez 1382 * Copyright(C) 2002-2003 xvid team <xvid-devel@xvid.org>
7 : edgomez 605 *
8 : edgomez 1382 * This program is free software ; you can redistribute it and/or modify
9 : edgomez 851 * it under the terms of the GNU General Public License as published by
10 : edgomez 1382 * the Free Software Foundation ; either version 2 of the License, or
11 : edgomez 149 * (at your option) any later version.
12 :     *
13 :     * This program is distributed in the hope that it will be useful,
14 : edgomez 1382 * but WITHOUT ANY WARRANTY ; without even the implied warranty of
15 : edgomez 149 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 :     * GNU General Public License for more details.
17 :     *
18 :     * You should have received a copy of the GNU General Public License
19 : edgomez 1382 * along with this program ; if not, write to the Free Software
20 :     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 : edgomez 149 *
22 : edgomez 1382 * $Id: mbprediction.h,v 1.22 2004-03-22 22:36:24 edgomez Exp $
23 : edgomez 149 *
24 : edgomez 1382 ****************************************************************************/
25 : edgomez 149
26 : edgomez 851
27 : Isibaar 3 #ifndef _MBPREDICTION_H_
28 :     #define _MBPREDICTION_H_
29 :    
30 :     #include "../portab.h"
31 :     #include "../decoder.h"
32 :     #include "../global.h"
33 :    
34 :     #define MIN(X, Y) ((X)<(Y)?(X):(Y))
35 :     #define MAX(X, Y) ((X)>(Y)?(X):(Y))
36 :    
37 : edgomez 149 /* very large value */
38 : Isibaar 3 #define MV_MAX_ERROR (4096 * 256)
39 :    
40 :     #define MVequal(A,B) ( ((A).x)==((B).x) && ((A).y)==((B).y) )
41 :    
42 : edgomez 195 void MBPrediction(FRAMEINFO * frame, /* <-- The parameter for ACDC and MV prediction */
43 : syskin 884 uint32_t x_pos, /* <-- The x position of the MB to be searched */
44 :     uint32_t y_pos, /* <-- The y position of the MB to be searched */
45 :     uint32_t x_dim, /* <-- Number of macroblocks in a row */
46 :     int16_t * qcoeff); /* <-> The quantized DCT coefficients */
47 : Isibaar 3
48 : edgomez 195 void add_acdc(MACROBLOCK * pMB,
49 : syskin 884 uint32_t block,
50 :     int16_t dct_codes[64],
51 :     uint32_t iDcScaler,
52 :     int16_t predictors[8]);
53 : edgomez 195
54 :     void predict_acdc(MACROBLOCK * pMBs,
55 : syskin 884 uint32_t x,
56 :     uint32_t y,
57 :     uint32_t mb_width,
58 :     uint32_t block,
59 :     int16_t qcoeff[64],
60 :     uint32_t current_quant,
61 :     int32_t iDcScaler,
62 :     int16_t predictors[8],
63 : suxen_drol 252 const int bound);
64 : edgomez 195
65 : edgomez 1382 VECTOR
66 : suxen_drol 254 get_pmv2(const MACROBLOCK * const mbs,
67 : syskin 884 const int mb_width,
68 :     const int bound,
69 :     const int x,
70 :     const int y,
71 : edgomez 1382 const int block);
72 : suxen_drol 254
73 : edgomez 1382 VECTOR
74 : edgomez 851 get_qpmv2(const MACROBLOCK * const mbs,
75 : syskin 884 const int mb_width,
76 :     const int bound,
77 :     const int x,
78 :     const int y,
79 : edgomez 1382 const int block);
80 : edgomez 851
81 : edgomez 195 #endif /* _MBPREDICTION_H_ */

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4