Parent Directory
|
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 |