[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 1913 - (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 1913 * $Id: motion.h,v 1.26 2010-12-18 16:02:00 Isibaar Exp $
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 :     const IMAGE * const b_refHV);
75 : chl 326
76 : edgomez 1382 void
77 :     GMEanalysis(const MBParam * const pParam,
78 :     const FRAMEINFO * const current,
79 :     const FRAMEINFO * const reference,
80 :     const IMAGE * const pRefH,
81 :     const IMAGE * const pRefV,
82 : Isibaar 1913 const IMAGE * const pRefHV,
83 :     const int num_slices);
84 : edgomez 1382
85 :     WARPPOINTS
86 :     GlobalMotionEst(MACROBLOCK * const pMBs,
87 :     const MBParam * const pParam,
88 :     const FRAMEINFO * const current,
89 :     const FRAMEINFO * const reference,
90 :     const IMAGE * const pRefH,
91 :     const IMAGE * const pRefV,
92 : Isibaar 1913 const IMAGE * const pRefHV,
93 :     const int num_slices);
94 : edgomez 1382
95 :     int
96 :     GlobalMotionEstRefine(
97 :     WARPPOINTS *const startwp,
98 :     MACROBLOCK * const pMBs,
99 :     const MBParam * const pParam,
100 :     const FRAMEINFO * const current,
101 :     const FRAMEINFO * const reference,
102 :     const IMAGE * const pCurr,
103 :     const IMAGE * const pRef,
104 :     const IMAGE * const pRefH,
105 :     const IMAGE * const pRefV,
106 :     const IMAGE * const pRefHV);
107 :    
108 :     int
109 :     globalSAD(const WARPPOINTS *const wp,
110 :     const MBParam * const pParam,
111 :     const MACROBLOCK * const pMBs,
112 :     const FRAMEINFO * const current,
113 :     const IMAGE * const pRef,
114 :     const IMAGE * const pCurr,
115 :     uint8_t *const GMCblock);
116 :    
117 :    
118 :     int
119 :     MEanalysis( const IMAGE * const pRef,
120 :     const FRAMEINFO * const Current,
121 :     const MBParam * const pParam,
122 :     const int maxIntra,
123 :     const int intraCount,
124 :     const int bCount,
125 :     const int b_thresh,
126 :     const MACROBLOCK * const prev_mbs);
127 :    
128 :     /** MotionCompensation **/
129 :    
130 :     void
131 :     MBMotionCompensation(MACROBLOCK * const mb,
132 :     const uint32_t i,
133 :     const uint32_t j,
134 :     const IMAGE * const ref,
135 :     const IMAGE * const refh,
136 :     const IMAGE * const refv,
137 :     const IMAGE * const refhv,
138 :     const IMAGE * const refGMC,
139 :     IMAGE * const cur,
140 :     int16_t * dct_codes,
141 :     const uint32_t width,
142 :     const uint32_t height,
143 :     const uint32_t edged_width,
144 :     const int32_t quarterpel,
145 : Isibaar 1913 const int32_t rounding,
146 :     const uint8_t * const tmp);
147 : edgomez 1382
148 :     void
149 :     MBMotionCompensationBVOP(MBParam * pParam,
150 : syskin 904 MACROBLOCK * const mb,
151 :     const uint32_t i,
152 :     const uint32_t j,
153 :     IMAGE * const cur,
154 :     const IMAGE * const f_ref,
155 :     const IMAGE * const f_refh,
156 :     const IMAGE * const f_refv,
157 :     const IMAGE * const f_refhv,
158 :     const IMAGE * const b_ref,
159 :     const IMAGE * const b_refh,
160 :     const IMAGE * const b_refv,
161 :     const IMAGE * const b_refhv,
162 : Isibaar 1913 int16_t * dct_codes,
163 :     const uint8_t * const tmp);
164 : syskin 904
165 : chl 326 #endif /* _MOTION_H_ */

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