]> git.sesse.net Git - vlc/blob - src/video_decoder/vdec_motion.h
* Borrowed LiViD's MMX and MMX EXT IDCT.
[vlc] / src / video_decoder / vdec_motion.h
1 /*****************************************************************************
2  * vdec_motion.h : types for the motion compensation algorithm
3  *****************************************************************************
4  * Copyright (C) 1999, 2000 VideoLAN
5  * $Id: vdec_motion.h,v 1.1 2000/12/21 17:19:52 massiot Exp $
6  *
7  * Authors: Christophe Massiot <massiot@via.ecp.fr>
8  *          Jean-Marc Dressler <polux@via.ecp.fr>
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  * 
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * 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  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
23  *****************************************************************************/
24  
25 /*****************************************************************************
26  * Requires:
27  *  "config.h"
28  *  "common.h"
29  *  "threads.h"
30  *  "video_parser.h"
31  *  "undec_picture.h"
32  *****************************************************************************/
33
34 /*****************************************************************************
35  * Function pointers
36  *****************************************************************************/
37 struct macroblock_s;
38 struct vpar_thread_s;
39 struct motion_arg_s;
40
41 typedef void (*f_motion_t)( struct macroblock_s* );
42
43 /*****************************************************************************
44  * Prototypes
45  *****************************************************************************/
46 void vdec_MotionFieldField420( struct macroblock_s * p_mb );
47 void vdec_MotionField16x8420( struct macroblock_s * p_mb );
48 void vdec_MotionFieldDMV420( struct macroblock_s * p_mb );
49 void vdec_MotionFrameFrame420( struct macroblock_s * p_mb );
50 void vdec_MotionFrameField420( struct macroblock_s * p_mb );
51 void vdec_MotionFrameDMV420( struct macroblock_s * p_mb );
52 void vdec_MotionFieldField422( struct macroblock_s * p_mb );
53 void vdec_MotionField16x8422( struct macroblock_s * p_mb );
54 void vdec_MotionFieldDMV422( struct macroblock_s * p_mb );
55 void vdec_MotionFrameFrame422( struct macroblock_s * p_mb );
56 void vdec_MotionFrameField422( struct macroblock_s * p_mb );
57 void vdec_MotionFrameDMV422( struct macroblock_s * p_mb );
58 void vdec_MotionFieldField444( struct macroblock_s * p_mb );
59 void vdec_MotionField16x8444( struct macroblock_s * p_mb );
60 void vdec_MotionFieldDMV444( struct macroblock_s * p_mb );
61 void vdec_MotionFrameFrame444( struct macroblock_s * p_mb );
62 void vdec_MotionFrameField444( struct macroblock_s * p_mb );
63 void vdec_MotionFrameDMV444( struct macroblock_s * p_mb );