[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 1853 - (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 1853 * $Id: motion.h,v 1.25 2009-02-18 15:10:27 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 :     const uint32_t iLimit);
58 :    
59 :     void
60 :     MotionEstimationBVOP(MBParam * const pParam,
61 : syskin 904 FRAMEINFO * const frame,
62 :     const int32_t time_bp,
63 :     const int32_t time_pp,
64 :     const MACROBLOCK * const f_mbs,
65 :     const IMAGE * const f_ref,
66 :     const IMAGE * const f_refH,
67 :     const IMAGE * const f_refV,
68 :     const IMAGE * const f_refHV,
69 :     const FRAMEINFO * const b_reference,
70 :     const IMAGE * const b_ref,
71 :     const IMAGE * const b_refH,
72 :     const IMAGE * const b_refV,
73 :     const IMAGE * const b_refHV);
74 : chl 326
75 : edgomez 1382 void
76 :     GMEanalysis(const MBParam * const pParam,
77 :     const FRAMEINFO * const current,
78 :     const FRAMEINFO * const reference,
79 :     const IMAGE * const pRefH,
80 :     const IMAGE * const pRefV,
81 :     const IMAGE * const pRefHV);
82 :    
83 :     WARPPOINTS
84 :     GlobalMotionEst(MACROBLOCK * const pMBs,
85 :     const MBParam * const pParam,
86 :     const FRAMEINFO * const current,
87 :     const FRAMEINFO * const reference,
88 :     const IMAGE * const pRefH,
89 :     const IMAGE * const pRefV,
90 :     const IMAGE * const pRefHV);
91 :    
92 :     int
93 :     GlobalMotionEstRefine(
94 :     WARPPOINTS *const startwp,
95 :     MACROBLOCK * const pMBs,
96 :     const MBParam * const pParam,
97 :     const FRAMEINFO * const current,
98 :     const FRAMEINFO * const reference,
99 :     const IMAGE * const pCurr,
100 :     const IMAGE * const pRef,
101 :     const IMAGE * const pRefH,
102 :     const IMAGE * const pRefV,
103 :     const IMAGE * const pRefHV);
104 :    
105 :     int
106 :     globalSAD(const WARPPOINTS *const wp,
107 :     const MBParam * const pParam,
108 :     const MACROBLOCK * const pMBs,
109 :     const FRAMEINFO * const current,
110 :     const IMAGE * const pRef,
111 :     const IMAGE * const pCurr,
112 :     uint8_t *const GMCblock);
113 :    
114 :    
115 :     int
116 :     MEanalysis( const IMAGE * const pRef,
117 :     const FRAMEINFO * const Current,
118 :     const MBParam * const pParam,
119 :     const int maxIntra,
120 :     const int intraCount,
121 :     const int bCount,
122 :     const int b_thresh,
123 :     const MACROBLOCK * const prev_mbs);
124 :    
125 :     /** MotionCompensation **/
126 :    
127 :     void
128 :     MBMotionCompensation(MACROBLOCK * const mb,
129 :     const uint32_t i,
130 :     const uint32_t j,
131 :     const IMAGE * const ref,
132 :     const IMAGE * const refh,
133 :     const IMAGE * const refv,
134 :     const IMAGE * const refhv,
135 :     const IMAGE * const refGMC,
136 :     IMAGE * const cur,
137 :     int16_t * dct_codes,
138 :     const uint32_t width,
139 :     const uint32_t height,
140 :     const uint32_t edged_width,
141 :     const int32_t quarterpel,
142 :     const int32_t rounding);
143 :    
144 :     void
145 :     MBMotionCompensationBVOP(MBParam * pParam,
146 : syskin 904 MACROBLOCK * const mb,
147 :     const uint32_t i,
148 :     const uint32_t j,
149 :     IMAGE * const cur,
150 :     const IMAGE * const f_ref,
151 :     const IMAGE * const f_refh,
152 :     const IMAGE * const f_refv,
153 :     const IMAGE * const f_refhv,
154 :     const IMAGE * const b_ref,
155 :     const IMAGE * const b_refh,
156 :     const IMAGE * const b_refv,
157 :     const IMAGE * const b_refhv,
158 :     int16_t * dct_codes);
159 :    
160 : chl 326 #endif /* _MOTION_H_ */

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