[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.13.2.4, Thu Dec 19 00:40:08 2002 UTC revision 1.16, Sat Oct 19 11:41:11 2002 UTC
# Line 1  Line 1 
1    /*****************************************************************************
2     *
3     *  XVID MPEG-4 VIDEO CODEC
4     *  - SAD Routines header -
5     *
6     *  Copyright(C) 2002 Michael Militzer <isibaar@xvid.org>
7     *
8     *  This program is an implementation of a part of one or more MPEG-4
9     *  Video tools as specified in ISO/IEC 14496-2 standard.  Those intending
10     *  to use this software module in hardware or software products are
11     *  advised that its use may infringe existing patents or copyrights, and
12     *  any such use would be at such party's own risk.  The original
13     *  developer of this software module and his/her company, and subsequent
14     *  editors and their companies, will have no liability for use of this
15     *  software or modifications or derivatives thereof.
16     *
17     *  This program is free software; you can redistribute it and/or modify
18     *  it under the terms of the GNU General Public License as published by
19     *  the Free Software Foundation; either version 2 of the License, or
20     *  (at your option) any later version.
21     *
22     *  This program is distributed in the hope that it will be useful,
23     *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24     *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25     *  GNU General Public License for more details.
26     *
27     *  You should have received a copy of the GNU General Public License
28     *  along with this program; if not, write to the Free Software
29     *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
30     *
31     *  Copyright(C) 2002 Michael Militzer <isibaar@xvid.org>
32     *  Copyright(C) 2002 Peter Ross <pross@xvid.org>
33     *
34     ****************************************************************************/
35    
36  #ifndef _ENCODER_SAD_H_  #ifndef _ENCODER_SAD_H_
37  #define _ENCODER_SAD_H_  #define _ENCODER_SAD_H_
38    
   
39  #include "../portab.h"  #include "../portab.h"
40    
41  typedef void (sadInitFunc) (void);  typedef void (sadInitFunc) (void);
# Line 20  Line 54 
54  sad16Func sad16_c;  sad16Func sad16_c;
55  sad16Func sad16_mmx;  sad16Func sad16_mmx;
56  sad16Func sad16_xmm;  sad16Func sad16_xmm;
 sad16Func sad16_3dne;  
57  sad16Func sad16_sse2;  sad16Func sad16_sse2;
58  sad16Func sad16_altivec;  sad16Func sad16_altivec;
59  sad16Func sad16_ia64;  sad16Func sad16_ia64;
60    
61  sad16Func mrsad16_c;  sad16Func mrsad16_c;
62    
63    
64  typedef uint32_t(sad8Func) (const uint8_t * const cur,  typedef uint32_t(sad8Func) (const uint8_t * const cur,
65                                                          const uint8_t * const ref,                                                          const uint8_t * const ref,
66                                                          const uint32_t stride);                                                          const uint32_t stride);
# Line 35  Line 69 
69  sad8Func sad8_c;  sad8Func sad8_c;
70  sad8Func sad8_mmx;  sad8Func sad8_mmx;
71  sad8Func sad8_xmm;  sad8Func sad8_xmm;
 sad8Func sad8_3dne;  
72  sad8Func sad8_altivec;  sad8Func sad8_altivec;
73  sad8Func sad8_ia64;  sad8Func sad8_ia64;
74    
# Line 50  Line 83 
83  sad16biFunc sad16bi_ia64;  sad16biFunc sad16bi_ia64;
84  sad16biFunc sad16bi_mmx;  sad16biFunc sad16bi_mmx;
85  sad16biFunc sad16bi_xmm;  sad16biFunc sad16bi_xmm;
 sad16biFunc sad16bi_3dne;  
86  sad16biFunc sad16bi_3dn;  sad16biFunc sad16bi_3dn;
87    
88    
# Line 63  Line 95 
95  sad8biFunc sad8bi_c;  sad8biFunc sad8bi_c;
96  sad8biFunc sad8bi_mmx;  sad8biFunc sad8bi_mmx;
97  sad8biFunc sad8bi_xmm;  sad8biFunc sad8bi_xmm;
 sad8biFunc sad8bi_3dne;  
98  sad8biFunc sad8bi_3dn;  sad8biFunc sad8bi_3dn;
99    
100    
# Line 74  Line 105 
105  dev16Func dev16_c;  dev16Func dev16_c;
106  dev16Func dev16_mmx;  dev16Func dev16_mmx;
107  dev16Func dev16_xmm;  dev16Func dev16_xmm;
 dev16Func dev16_3dne;  
108  dev16Func dev16_sse2;  dev16Func dev16_sse2;
109  dev16Func dev16_altivec;  dev16Func dev16_altivec;
110  dev16Func dev16_ia64;  dev16Func dev16_ia64;
111    
112  typedef uint32_t (sad16vFunc)(  const uint8_t * const cur,  /* plain c */
113    /*
114    
115    uint32_t sad16(const uint8_t * const cur,
116                                    const uint8_t * const ref,
117                                    const uint32_t stride,
118                                    const uint32_t best_sad);
119    
120    uint32_t sad8(const uint8_t * const cur,
121                                                                  const uint8_t * const ref,                                                                  const uint8_t * const ref,
122                                                                  const uint32_t stride, int32_t *sad8);                                  const uint32_t stride);
123  typedef sad16vFunc *sad16vFuncPtr;  
124  extern sad16vFuncPtr sad16v;  uint32_t dev16(const uint8_t * const cur,
125  sad16vFunc sad16v_xmm;                                  const uint32_t stride);
126  sad16vFunc sad16v_mmx;  */
127  sad16vFunc sad16v_c;  /* mmx */
128  sad16vFunc sad32v_c;  /*
 sad16vFunc mrsad16v;  
 sad16vFunc mrsad16v_c;  
129    
130  int32_t sad8x8mean_mmx( const uint8_t * const current,  uint32_t sad16_mmx(const uint8_t * const cur,
131                                                  const uint8_t * const reference,                                  const uint8_t * const ref,
132                                                  const uint32_t stride,                                                  const uint32_t stride,
133                                                  const int mean);                                  const uint32_t best_sad);
134    
135  void sad16x8total_mmx(const uint8_t *, const uint32_t, int32_t[]);  uint32_t sad8_mmx(const uint8_t * const cur,
136                                    const uint8_t * const ref,
137                                    const uint32_t stride);
138    
139    
140    uint32_t dev16_mmx(const uint8_t * const cur,
141                                    const uint32_t stride);
142    
143    */
144    /* xmm */
145    /*
146    uint32_t sad16_xmm(const uint8_t * const cur,
147                                    const uint8_t * const ref,
148                                    const uint32_t stride,
149                                    const uint32_t best_sad);
150    
151    uint32_t sad8_xmm(const uint8_t * const cur,
152                                    const uint8_t * const ref,
153                                    const uint32_t stride);
154    
155    uint32_t dev16_xmm(const uint8_t * const cur,
156                                    const uint32_t stride);
157    */
158    
159  #endif                                                  /* _ENCODER_SAD_H_ */  #endif                                                  /* _ENCODER_SAD_H_ */

Legend:
Removed from v.1.13.2.4  
changed lines
  Added in v.1.16

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