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

Annotation of /trunk/xvidcore/src/motion/motion.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1988 - (view) (download)

1 : Isibaar 1853 /*****************************************************************************
2 : chl 326 *
3 :     * XVID MPEG-4 VIDEO CODEC
4 : Isibaar 1853 * - Motion module header -
5 : chl 326 *
6 : Isibaar 1853 * Copyright(C) 2002-2003 Radoslaw Czyz <xvid@syskin.cjb.net>
7 :     * 2002 Michael Militzer <michael@xvid.org>
8 :     *
9 : chl 430 *
10 : Isibaar 1853 * This program is free software ; you can redistribute it and/or modify
11 : edgomez 851 * it under the terms of the GNU General Public License as published by
12 : Isibaar 1853 * the Free Software Foundation ; either version 2 of the License, or
13 : chl 326 * (at your option) any later version.
14 :     *
15 :     * This program is distributed in the hope that it will be useful,
16 : Isibaar 1853 * but WITHOUT ANY WARRANTY ; without even the implied warranty of
17 : chl 326 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 :     * GNU General Public License for more details.
19 :     *
20 :     * You should have received a copy of the GNU General Public License
21 : Isibaar 1853 * along with this program ; if not, write to the Free Software
22 : chl 326 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 :     *
24 : Isibaar 1988 * $Id$
25 : chl 326 *
26 :     ***************************************************************************/
27 :    
28 :     #ifndef _MOTION_H_
29 :     #define _MOTION_H_
30 :    
31 :     #include "../portab.h"
32 :     #include "../global.h"
33 :    
34 : edgomez 872 /*****************************************************************************
35 : edgomez 1382 * Modified rounding tables -- defined in estimation_common.c
36 : edgomez 872 * Original tables see ISO spec tables 7-6 -> 7-9
37 :     ****************************************************************************/
38 : chl 326
39 : edgomez 872 extern const uint32_t roundtab[16];
40 : edgomez 851 /* K = 4 */
41 : edgomez 872 extern const uint32_t roundtab_76[16];
42 : edgomez 851 /* K = 2 */
43 : edgomez 872 extern const uint32_t roundtab_78[8];
44 : edgomez 851 /* K = 1 */
45 : edgomez 872 extern const uint32_t roundtab_79[4];
46 : chl 326
47 :    
48 : edgomez 1382 /** MotionEstimation **/
49 : chl 326
50 : syskin 1668 void MotionEstimation(MBParam * const pParam,
51 : edgomez 1382 FRAMEINFO * const current,
52 :     FRAMEINFO * const reference,
53 :     const IMAGE * const pRefH,
54 :     const IMAGE * const pRefV,
55 :     const IMAGE * const pRefHV,
56 :     const IMAGE * const pGMC,
57 : Isibaar 1913 const uint32_t iLimit,
58 :     const int num_slices);
59 : edgomez 1382
60 :     void
61 :     MotionEstimationBVOP(MBParam * const pParam,
62 : syskin 904 FRAMEINFO * const frame,
63 :     const int32_t time_bp,
64 :     const int32_t time_pp,
65 :     const MACROBLOCK * const f_mbs,
66 :     const IMAGE * const f_ref,
67 :     const IMAGE * const f_refH,
68 :     const IMAGE * const f_refV,
69 :     const IMAGE * const f_refHV,
70 :     const FRAMEINFO * const b_reference,
71 :     const IMAGE * const b_ref,
72 :     const IMAGE * const b_refH,
73 :     const IMAGE * const b_refV,
74 : Isibaar 1919 const IMAGE * const b_refHV,
75 :     const int num_slices);
76 : chl 326
77 : edgomez 1382 void
78 :     GMEanalysis(const MBParam * const pParam,
79 :     const FRAMEINFO * const current,
80 :     const FRAMEINFO * const reference,
81 :     const IMAGE * const pRefH,
82 :     const IMAGE * const pRefV,
83 : Isibaar 1913 const IMAGE * const pRefHV,
84 :     const int num_slices);
85 : edgomez 1382
86 :     WARPPOINTS
87 :     GlobalMotionEst(MACROBLOCK * const pMBs,
88 :     const MBParam * const pParam,
89 :     const FRAMEINFO * const current,
90 :     const FRAMEINFO * const reference,
91 :     const IMAGE * const pRefH,
92 :     const IMAGE * const pRefV,
93 : Isibaar 1913 const IMAGE * const pRefHV,
94 :     const int num_slices);
95 : edgomez 1382
96 :     int
97 :     GlobalMotionEstRefine(
98 :     WARPPOINTS *const startwp,
99 :     MACROBLOCK * const pMBs,
100 :     const MBParam * const pParam,
101 :     const FRAMEINFO * const current,
102 :     const FRAMEINFO * const reference,
103 :     const IMAGE * const pCurr,
104 :     const IMAGE * const pRef,
105 :     const IMAGE * const pRefH,
106 :     const IMAGE * const pRefV,
107 :     const IMAGE * const pRefHV);
108 :    
109 :     int
110 :     globalSAD(const WARPPOINTS *const wp,
111 :     const MBParam * const pParam,
112 :     const MACROBLOCK * const pMBs,
113 :     const FRAMEINFO * const current,
114 :     const IMAGE * const pRef,
115 :     const IMAGE * const pCurr,
116 :     uint8_t *const GMCblock);
117 :    
118 :    
119 :     int
120 :     MEanalysis( const IMAGE * const pRef,
121 :     const FRAMEINFO * const Current,
122 :     const MBParam * const pParam,
123 :     const int maxIntra,
124 :     const int intraCount,
125 :     const int bCount,
126 :     const int b_thresh,
127 :     const MACROBLOCK * const prev_mbs);
128 :    
129 :     /** MotionCompensation **/
130 :    
131 :     void
132 :     MBMotionCompensation(MACROBLOCK * const mb,
133 :     const uint32_t i,
134 :     const uint32_t j,
135 :     const IMAGE * const ref,
136 :     const IMAGE * const refh,
137 :     const IMAGE * const refv,
138 :     const IMAGE * const refhv,
139 :     const IMAGE * const refGMC,
140 :     IMAGE * const cur,
141 :     int16_t * dct_codes,
142 :     const uint32_t width,
143 :     const uint32_t height,
144 :     const uint32_t edged_width,
145 :     const int32_t quarterpel,
146 : Isibaar 1913 const int32_t rounding,
147 : Isibaar 1928 uint8_t * const tmp);
148 : edgomez 1382
149 :     void
150 :     MBMotionCompensationBVOP(MBParam * pParam,
151 : syskin 904 MACROBLOCK * const mb,
152 :     const uint32_t i,
153 :     const uint32_t j,
154 :     IMAGE * const cur,
155 :     const IMAGE * const f_ref,
156 :     const IMAGE * const f_refh,
157 :     const IMAGE * const f_refv,
158 :     const IMAGE * const f_refhv,
159 :     const IMAGE * const b_ref,
160 :     const IMAGE * const b_refh,
161 :     const IMAGE * const b_refv,
162 :     const IMAGE * const b_refhv,
163 : Isibaar 1913 int16_t * dct_codes,
164 : Isibaar 1928 uint8_t * const tmp);
165 : syskin 904
166 : chl 326 #endif /* _MOTION_H_ */

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