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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.24 - (view) (download)

1 : edgomez 1.22 /*****************************************************************************
2 : edgomez 1.5 *
3 :     * XVID MPEG-4 VIDEO CODEC
4 : edgomez 1.22 * - Prediction header -
5 : edgomez 1.5 *
6 : edgomez 1.22 * Copyright(C) 2002-2003 xvid team <xvid-devel@xvid.org>
7 : edgomez 1.19 *
8 : edgomez 1.22 * This program is free software ; you can redistribute it and/or modify
9 : edgomez 1.19 * it under the terms of the GNU General Public License as published by
10 : edgomez 1.22 * the Free Software Foundation ; either version 2 of the License, or
11 : edgomez 1.5 * (at your option) any later version.
12 :     *
13 :     * This program is distributed in the hope that it will be useful,
14 : edgomez 1.22 * but WITHOUT ANY WARRANTY ; without even the implied warranty of
15 : edgomez 1.5 * 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 1.22 * 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 1.5 *
22 : edgomez 1.22 * $Id$
23 : edgomez 1.5 *
24 : edgomez 1.22 ****************************************************************************/
25 : edgomez 1.5
26 : edgomez 1.19
27 : Isibaar 1.1 #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 1.5 /* very large value */
38 : Isibaar 1.1 #define MV_MAX_ERROR (4096 * 256)
39 :    
40 :     #define MVequal(A,B) ( ((A).x)==((B).x) && ((A).y)==((B).y) )
41 :    
42 : edgomez 1.9 void MBPrediction(FRAMEINFO * frame, /* <-- The parameter for ACDC and MV prediction */
43 : syskin 1.21 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 : edgomez 1.9
48 :     void add_acdc(MACROBLOCK * pMB,
49 : syskin 1.21 uint32_t block,
50 :     int16_t dct_codes[64],
51 :     uint32_t iDcScaler,
52 : edgomez 1.24 int16_t predictors[8],
53 :     const int bsversion);
54 : edgomez 1.9
55 :     void predict_acdc(MACROBLOCK * pMBs,
56 : syskin 1.21 uint32_t x,
57 :     uint32_t y,
58 :     uint32_t mb_width,
59 :     uint32_t block,
60 :     int16_t qcoeff[64],
61 :     uint32_t current_quant,
62 :     int32_t iDcScaler,
63 :     int16_t predictors[8],
64 : edgomez 1.24 const int bound);
65 : suxen_drol 1.10
66 : edgomez 1.22 VECTOR
67 : suxen_drol 1.12 get_pmv2(const MACROBLOCK * const mbs,
68 : syskin 1.21 const int mb_width,
69 :     const int bound,
70 :     const int x,
71 :     const int y,
72 : edgomez 1.22 const int block);
73 : edgomez 1.19
74 : edgomez 1.22 VECTOR
75 : edgomez 1.19 get_qpmv2(const MACROBLOCK * const mbs,
76 : syskin 1.21 const int mb_width,
77 :     const int bound,
78 :     const int x,
79 :     const int y,
80 : edgomez 1.22 const int block);
81 : Isibaar 1.1
82 : edgomez 1.9 #endif /* _MBPREDICTION_H_ */

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