[svn] / branches / dev-api-4 / xvidcore / src / motion / sad.h Repository:
ViewVC logotype

Diff of /branches/dev-api-4/xvidcore/src/motion/sad.h

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

revision 499, Sat Sep 21 03:11:36 2002 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  
  *  
  *  This program is an implementation of a part of one or more MPEG-4  
  *  Video tools as specified in ISO/IEC 14496-2 standard.  Those intending  
  *  to use this software module in hardware or software products are  
  *  advised that its use may infringe existing patents or copyrights, and  
  *  any such use would be at such party's own risk.  The original  
  *  developer of this software module and his/her company, and subsequent  
  *  editors and their companies, will have no liability for use of this  
  *  software or modifications or derivatives thereof.  
  *  
  *  This program 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  
  *  
  *  Copyright(C) 2002 Michael Militzer  
  *  Copyright(C) 2002 Peter Ross <pross@xvid.org>  
  *  
  ****************************************************************************/  
   
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 54  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 69  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 83  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 95  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 105  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.499  
changed lines
  Added in v.851

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