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

Diff of /trunk/xvidcore/src/motion/sad.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 850, Sat Feb 15 08:39:17 2003 UTC revision 851, Sat Feb 15 15:22:19 2003 UTC
# Line 1  Line 1 
 /*****************************************************************************  
  *  
  *  XVID MPEG-4 VIDEO CODEC  
  *  - SAD Routines header -  
  *  
  *  Copyright(C) 2002 Michael Militzer <isibaar@xvid.org>  
  *               2002 Peter Ross <pross@xvid.org>  
  *  
  *  This file is part of XviD, a free MPEG-4 video encoder/decoder  
  *  
  *  XviD is free software; you can redistribute it and/or modify it  
  *  under the terms of the GNU General Public License as published by  
  *  the Free Software Foundation; either version 2 of the License, or  
  *  (at your option) any later version.  
  *  
  *  This program is distributed in the hope that it will be useful,  
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of  
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
  *  GNU General Public License for more details.  
  *  
  *  You should have received a copy of the GNU General Public License  
  *  along with this program; if not, write to the Free Software  
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA  
  *  
  *  Under section 8 of the GNU General Public License, the copyright  
  *  holders of XVID explicitly forbid distribution in the following  
  *  countries:  
  *  
  *    - Japan  
  *    - United States of America  
  *  
  *  Linking XviD statically or dynamically with other modules is making a  
  *  combined work based on XviD.  Thus, the terms and conditions of the  
  *  GNU General Public License cover the whole combination.  
  *  
  *  As a special exception, the copyright holders of XviD give you  
  *  permission to link XviD with independent modules that communicate with  
  *  XviD solely through the VFW1.1 and DShow interfaces, regardless of the  
  *  license terms of these independent modules, and to copy and distribute  
  *  the resulting combined work under terms of your choice, provided that  
  *  every copy of the combined work is accompanied by a complete copy of  
  *  the source code of XviD (the version of XviD used to produce the  
  *  combined work), being distributed under the terms of the GNU General  
  *  Public License plus this exception.  An independent module is a module  
  *  which is not derived from or based on XviD.  
  *  
  *  Note that people who make modified versions of XviD are not obligated  
  *  to grant this special exception for their modified versions; it is  
  *  their choice whether to do so.  The GNU General Public License gives  
  *  permission to release a modified version without this exception; this  
  *  exception also makes it possible to release a modified version which  
  *  carries forward this exception.  
  *  
  * $Id: sad.h,v 1.17 2002-11-17 00:32:06 edgomez Exp $  
  *  
  ****************************************************************************/  
   
1  #ifndef _ENCODER_SAD_H_  #ifndef _ENCODER_SAD_H_
2  #define _ENCODER_SAD_H_  #define _ENCODER_SAD_H_
3    
4    
5  #include "../portab.h"  #include "../portab.h"
6    
7  typedef void (sadInitFunc) (void);  typedef void (sadInitFunc) (void);
# Line 76  Line 20 
20  sad16Func sad16_c;  sad16Func sad16_c;
21  sad16Func sad16_mmx;  sad16Func sad16_mmx;
22  sad16Func sad16_xmm;  sad16Func sad16_xmm;
23    sad16Func sad16_3dne;
24  sad16Func sad16_sse2;  sad16Func sad16_sse2;
25  sad16Func sad16_altivec;  sad16Func sad16_altivec;
26  sad16Func sad16_ia64;  sad16Func sad16_ia64;
27    
28  sad16Func mrsad16_c;  sad16Func mrsad16_c;
29    
   
30  typedef uint32_t(sad8Func) (const uint8_t * const cur,  typedef uint32_t(sad8Func) (const uint8_t * const cur,
31                                                          const uint8_t * const ref,                                                          const uint8_t * const ref,
32                                                          const uint32_t stride);                                                          const uint32_t stride);
# Line 91  Line 35 
35  sad8Func sad8_c;  sad8Func sad8_c;
36  sad8Func sad8_mmx;  sad8Func sad8_mmx;
37  sad8Func sad8_xmm;  sad8Func sad8_xmm;
38    sad8Func sad8_3dne;
39  sad8Func sad8_altivec;  sad8Func sad8_altivec;
40  sad8Func sad8_ia64;  sad8Func sad8_ia64;
41    
# Line 105  Line 50 
50  sad16biFunc sad16bi_ia64;  sad16biFunc sad16bi_ia64;
51  sad16biFunc sad16bi_mmx;  sad16biFunc sad16bi_mmx;
52  sad16biFunc sad16bi_xmm;  sad16biFunc sad16bi_xmm;
53    sad16biFunc sad16bi_3dne;
54  sad16biFunc sad16bi_3dn;  sad16biFunc sad16bi_3dn;
55    
56    
# Line 117  Line 63 
63  sad8biFunc sad8bi_c;  sad8biFunc sad8bi_c;
64  sad8biFunc sad8bi_mmx;  sad8biFunc sad8bi_mmx;
65  sad8biFunc sad8bi_xmm;  sad8biFunc sad8bi_xmm;
66    sad8biFunc sad8bi_3dne;
67  sad8biFunc sad8bi_3dn;  sad8biFunc sad8bi_3dn;
68    
69    
# Line 127  Line 74 
74  dev16Func dev16_c;  dev16Func dev16_c;
75  dev16Func dev16_mmx;  dev16Func dev16_mmx;
76  dev16Func dev16_xmm;  dev16Func dev16_xmm;
77    dev16Func dev16_3dne;
78  dev16Func dev16_sse2;  dev16Func dev16_sse2;
79  dev16Func dev16_altivec;  dev16Func dev16_altivec;
80  dev16Func dev16_ia64;  dev16Func dev16_ia64;
81    
82  /* plain c */  typedef uint32_t (sad16vFunc)(  const uint8_t * const cur,
 /*  
   
 uint32_t sad16(const uint8_t * const cur,  
                                 const uint8_t * const ref,  
                                 const uint32_t stride,  
                                 const uint32_t best_sad);  
   
 uint32_t sad8(const uint8_t * const cur,  
83                                  const uint8_t * const ref,                                  const uint8_t * const ref,
84                                  const uint32_t stride);                                                                  const uint32_t stride, int32_t *sad8);
85    typedef sad16vFunc *sad16vFuncPtr;
86  uint32_t dev16(const uint8_t * const cur,  extern sad16vFuncPtr sad16v;
87                                  const uint32_t stride);  sad16vFunc sad16v_xmm;
88  */  sad16vFunc sad16v_mmx;
89  /* mmx */  sad16vFunc sad16v_c;
90  /*  sad16vFunc sad32v_c;
91    sad16vFunc mrsad16v;
92    sad16vFunc mrsad16v_c;
93    
94  uint32_t sad16_mmx(const uint8_t * const cur,  int32_t sad8x8mean_mmx( const uint8_t * const current,
95                                  const uint8_t * const ref,                                                  const uint8_t * const reference,
96                                  const uint32_t stride,                                  const uint32_t stride,
97                                  const uint32_t best_sad);                                                  const int mean);
98    
99  uint32_t sad8_mmx(const uint8_t * const cur,  void sad16x8total_mmx(const uint8_t *, const uint32_t, int32_t[]);
                                 const uint8_t * const ref,  
                                 const uint32_t stride);  
   
   
 uint32_t dev16_mmx(const uint8_t * const cur,  
                                 const uint32_t stride);  
   
 */  
 /* xmm */  
 /*  
 uint32_t sad16_xmm(const uint8_t * const cur,  
                                 const uint8_t * const ref,  
                                 const uint32_t stride,  
                                 const uint32_t best_sad);  
   
 uint32_t sad8_xmm(const uint8_t * const cur,  
                                 const uint8_t * const ref,  
                                 const uint32_t stride);  
   
 uint32_t dev16_xmm(const uint8_t * const cur,  
                                 const uint32_t stride);  
 */  
100    
101  #endif                                                  /* _ENCODER_SAD_H_ */  #endif                                                  /* _ENCODER_SAD_H_ */

Legend:
Removed from v.850  
changed lines
  Added in v.851

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