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

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

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

revision 1.18.2.2, Wed Aug 13 11:43:59 2003 UTC revision 1.21, Mon Apr 12 15:49:56 2004 UTC
# Line 26  Line 26 
26  #ifndef _ENCODER_SAD_H_  #ifndef _ENCODER_SAD_H_
27  #define _ENCODER_SAD_H_  #define _ENCODER_SAD_H_
28    
   
29  #include "../portab.h"  #include "../portab.h"
30    
31  typedef void (sadInitFunc) (void);  typedef void (sadInitFunc) (void);
# Line 35  Line 34 
34  extern sadInitFuncPtr sadInit;  extern sadInitFuncPtr sadInit;
35  sadInitFunc sadInit_altivec;  sadInitFunc sadInit_altivec;
36    
   
37  typedef uint32_t(sad16Func) (const uint8_t * const cur,  typedef uint32_t(sad16Func) (const uint8_t * const cur,
38                                                           const uint8_t * const ref,                                                           const uint8_t * const ref,
39                                                           const uint32_t stride,                                                           const uint32_t stride,
# Line 51  Line 49 
49  sad16Func sad16_sse2;  sad16Func sad16_sse2;
50  #endif  #endif
51    
 #ifdef ARCH_IS_ALTIVEC  
 sad16Func sad16_altivec;  
 #endif  
   
52  #ifdef ARCH_IS_IA64  #ifdef ARCH_IS_IA64
53  sad16Func sad16_ia64;  sad16Func sad16_ia64;
54  #endif  #endif
55    
56    #ifdef ARCH_IS_PPC
57    sad16Func sad16_altivec_c;
58    #endif
59    
60  sad16Func mrsad16_c;  sad16Func mrsad16_c;
61    
62  typedef uint32_t(sad8Func) (const uint8_t * const cur,  typedef uint32_t(sad8Func) (const uint8_t * const cur,
# Line 74  Line 72 
72  sad8Func sad8_3dne;  sad8Func sad8_3dne;
73  #endif  #endif
74    
 #ifdef ARCH_IS_ALTIVEC  
 sad8Func sad8_altivec;  
 #endif  
   
75  #ifdef ARCH_IS_IA64  #ifdef ARCH_IS_IA64
76  sad8Func sad8_ia64;  sad8Func sad8_ia64;
77  #endif  #endif
78    
79    #ifdef ARCH_IS_PPC
80    sad8Func sad8_altivec_c;
81    #endif
82    
83  typedef uint32_t(sad16biFunc) (const uint8_t * const cur,  typedef uint32_t(sad16biFunc) (const uint8_t * const cur,
84                                                             const uint8_t * const ref1,                                                             const uint8_t * const ref1,
85                                                             const uint8_t * const ref2,                                                             const uint8_t * const ref2,
# Line 101  Line 99 
99  sad16biFunc sad16bi_ia64;  sad16biFunc sad16bi_ia64;
100  #endif  #endif
101    
102    #ifdef ARCH_IS_PPC
103    sad16biFunc sad16bi_altivec_c;
104    #endif
105    
106  typedef uint32_t(sad8biFunc) (const uint8_t * const cur,  typedef uint32_t(sad8biFunc) (const uint8_t * const cur,
107                                                             const uint8_t * const ref1,                                                             const uint8_t * const ref1,
108                                                             const uint8_t * const ref2,                                                             const uint8_t * const ref2,
# Line 123  Line 125 
125  extern dev16FuncPtr dev16;  extern dev16FuncPtr dev16;
126  dev16Func dev16_c;  dev16Func dev16_c;
127    
128    typedef uint32_t (sad16vFunc)(  const uint8_t * const cur,
129                                                                    const uint8_t * const ref,
130                                                                    const uint32_t stride, int32_t *sad8);
131    typedef sad16vFunc *sad16vFuncPtr;
132    extern sad16vFuncPtr sad16v;
133    
134    sad16vFunc sad16v_c;
135    sad16vFunc sad32v_c;
136    
137  #ifdef ARCH_IS_IA32  #ifdef ARCH_IS_IA32
138  dev16Func dev16_mmx;  dev16Func dev16_mmx;
139  dev16Func dev16_xmm;  dev16Func dev16_xmm;
140  dev16Func dev16_3dne;  dev16Func dev16_3dne;
141  dev16Func dev16_sse2;  dev16Func dev16_sse2;
142  #endif  sad16vFunc sad16v_xmm;
143    sad16vFunc sad16v_mmx;
 #ifdef ARCH_IS_ALTIVEC  
 dev16Func dev16_altivec;  
144  #endif  #endif
145    
146  #ifdef ARCH_IS_IA64  #ifdef ARCH_IS_IA64
147  dev16Func dev16_ia64;  dev16Func dev16_ia64;
148  #endif  #endif
149    
150  typedef uint32_t (sad16vFunc)(  const uint8_t * const cur,  #ifdef ARCH_IS_PPC
151                                                                  const uint8_t * const ref,  dev16Func dev16_altivec_c;
152                                                                  const uint32_t stride, int32_t *sad8);  #endif
 typedef sad16vFunc *sad16vFuncPtr;  
 extern sad16vFuncPtr sad16v;  
153    
154  sad16vFunc sad16v_c;  /* This function assumes blocks use 16bit signed elements */
155  sad16vFunc sad32v_c;  typedef uint32_t (sse8Func_16bit)(const int16_t * cur,
156  sad16vFunc mrsad16v;                                                                    const int16_t * ref,
157  sad16vFunc mrsad16v_c;                                                                    const uint32_t stride);
158    typedef sse8Func_16bit *sse8Func_16bitPtr;
159    extern sse8Func_16bitPtr sse8_16bit;
160    
161    sse8Func_16bit sse8_16bit_c;
162  #ifdef ARCH_IS_IA32  #ifdef ARCH_IS_IA32
163  sad16vFunc sad16v_xmm;  sse8Func_16bit sse8_16bit_mmx;
164  sad16vFunc sad16v_mmx;  #endif
165    
166  int32_t sad8x8mean_mmx( const uint8_t * const current,  #ifdef ARCH_IS_PPC
167                                                  const uint8_t * const reference,  sse8Func_16bit sse8_16bit_altivec_c;
168                                                  const uint32_t stride,  #endif
                                                 const int mean);  
169    
170  void sad16x8total_mmx(const uint8_t *, const uint32_t, int32_t[]);  /* This function assumes blocks use 8bit *un*signed elements */
171    typedef uint32_t (sse8Func_8bit)(const uint8_t * cur,
172                                                                     const uint8_t * ref,
173                                                                     const uint32_t stride);
174    typedef sse8Func_8bit *sse8Func_8bitPtr;
175    extern sse8Func_8bitPtr sse8_8bit;
176    
177    sse8Func_8bit sse8_8bit_c;
178    #ifdef ARCH_IS_IA32
179    sse8Func_8bit sse8_8bit_mmx;
180  #endif  #endif
181    
182  #endif                                                  /* _ENCODER_SAD_H_ */  #endif                                                  /* _ENCODER_SAD_H_ */

Legend:
Removed from v.1.18.2.2  
changed lines
  Added in v.1.21

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