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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 295 - (view) (download)

1 : chl 258 /**************************************************************************
2 :     *
3 :     * XVID MPEG-4 VIDEO CODEC
4 :     * - SMP Motion search header -
5 :     *
6 :     * This program is an implementation of a part of one or more MPEG-4
7 :     * Video tools as specified in ISO/IEC 14496-2 standard. Those intending
8 :     * to use this software module in hardware or software products are
9 :     * advised that its use may infringe existing patents or copyrights, and
10 :     * any such use would be at such party's own risk. The original
11 :     * developer of this software module and his/her company, and subsequent
12 :     * editors and their companies, will have no liability for use of this
13 :     * software or modifications or derivatives thereof.
14 :     *
15 :     * This program is free software; you can redistribute it and/or modify
16 :     * it under the terms of the GNU General Public License as published by
17 :     * the Free Software Foundation; either version 2 of the License, or
18 :     * (at your option) any later version.
19 :     *
20 :     * This program is distributed in the hope that it will be useful,
21 :     * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 :     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 :     * GNU General Public License for more details.
24 :     *
25 :     * You should have received a copy of the GNU General Public License
26 :     * along with this program; if not, write to the Free Software
27 :     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28 :     *
29 : suxen_drol 295 * $Id: smp_motion_est.h,v 1.2 2002-07-12 12:26:24 suxen_drol Exp $
30 : chl 258 *
31 :     ***************************************************************************/
32 :    
33 :     #ifndef _SMP_MOTION_EST_H
34 :     #define _SMP_MOTION_EST_H
35 :    
36 :     #ifdef _SMP
37 :    
38 :     #define MAXNUMTHREADS 16
39 :    
40 : suxen_drol 295 //#define NUMTHREADS 2
41 : chl 258
42 :     typedef struct
43 :     {
44 :    
45 :     MBParam * pParam;
46 :    
47 :     FRAMEINFO* reference;
48 :     FRAMEINFO* current;
49 :    
50 :     IMAGE* pRef;
51 :     IMAGE* pRefH;
52 :     IMAGE* pRefV;
53 :     IMAGE* pRefHV;
54 :    
55 :     // int iLimit; /* currently unused */
56 :    
57 :     MACROBLOCK * pMBs;
58 :     MACROBLOCK * prevMBs;
59 :    
60 :     } globaldata; /* this data is the same for all threads */
61 :    
62 :     typedef struct
63 :     {
64 :     int id;
65 :    
66 :     int minx;
67 :     int maxx;
68 :     int miny;
69 :     int maxy;
70 :    
71 :     globaldata *gdata;
72 :    
73 :     } jobdata; /* every thread get it's personal version of these */
74 :    
75 :    
76 :     void
77 :     SMP_correct_pmv(int x, int y, int iWcount, MACROBLOCK* pMBs);
78 :    
79 :     void
80 :     SMP_MotionEstimationWorker(jobdata *arg);
81 :    
82 :     bool
83 :     SMP_MotionEstimation(MBParam * const pParam,
84 :     FRAMEINFO * const current,
85 :     FRAMEINFO * const reference,
86 :     const IMAGE * const pRefH,
87 :     const IMAGE * const pRefV,
88 :     const IMAGE * const pRefHV,
89 :     const uint32_t iLimit);
90 :    
91 :     #endif
92 :    
93 :     #endif

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