[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 1988 - (view) (download)

1 : edgomez 1382 /*****************************************************************************
2 : edgomez 149 *
3 :     * XVID MPEG-4 VIDEO CODEC
4 : edgomez 1382 * - Prediction header -
5 : edgomez 149 *
6 : Isibaar 1913 * Copyright(C) 2002-2010 Michael Militzer <michael@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 : Isibaar 1988 * $Id$
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 : Isibaar 1913 int16_t * qcoeff, /* <-> The quantized DCT coefficients */
47 :     const int bound);
48 : Isibaar 3
49 : edgomez 195 void add_acdc(MACROBLOCK * pMB,
50 : syskin 884 uint32_t block,
51 :     int16_t dct_codes[64],
52 :     uint32_t iDcScaler,
53 : edgomez 1472 int16_t predictors[8],
54 :     const int bsversion);
55 : edgomez 195
56 :     void predict_acdc(MACROBLOCK * pMBs,
57 : syskin 884 uint32_t x,
58 :     uint32_t y,
59 :     uint32_t mb_width,
60 :     uint32_t block,
61 :     int16_t qcoeff[64],
62 :     uint32_t current_quant,
63 :     int32_t iDcScaler,
64 :     int16_t predictors[8],
65 : edgomez 1472 const int bound);
66 : edgomez 195
67 : edgomez 1382 VECTOR
68 : suxen_drol 254 get_pmv2(const MACROBLOCK * const mbs,
69 : syskin 884 const int mb_width,
70 :     const int bound,
71 :     const int x,
72 :     const int y,
73 : edgomez 1382 const int block);
74 : suxen_drol 254
75 : edgomez 1382 VECTOR
76 : suxen_drol 1632 get_pmv2_interlaced(const MACROBLOCK * const mbs,
77 :     const int mb_width,
78 :     const int bound,
79 :     const int x,
80 :     const int y,
81 :     const int block);
82 :    
83 :     VECTOR
84 : edgomez 851 get_qpmv2(const MACROBLOCK * const mbs,
85 : syskin 884 const int mb_width,
86 :     const int bound,
87 :     const int x,
88 :     const int y,
89 : edgomez 1382 const int block);
90 : edgomez 851
91 : edgomez 195 #endif /* _MBPREDICTION_H_ */

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