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

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

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

revision 1.13.2.6, Wed Sep 10 22:19:00 2003 UTC revision 1.16, Mon Apr 12 15:49:56 2004 UTC
# Line 35  Line 35 
35  sad8biFuncPtr sad8bi;           /* not really sad16, but no difference in prototype */  sad8biFuncPtr sad8bi;           /* not really sad16, but no difference in prototype */
36  dev16FuncPtr dev16;  dev16FuncPtr dev16;
37  sad16vFuncPtr sad16v;  sad16vFuncPtr sad16v;
38    sse8Func_16bitPtr sse8_16bit;
39    sse8Func_8bitPtr sse8_8bit;
40    
41  sadInitFuncPtr sadInit;  sadInitFuncPtr sadInit;
42    
# Line 277  Line 279 
279    
280          return MRSAD16_CORRFACTOR * sad;          return MRSAD16_CORRFACTOR * sad;
281  }  }
282    
283    uint32_t
284    sse8_16bit_c(const int16_t * b1,
285                             const int16_t * b2,
286                             const uint32_t stride)
287    {
288            int i;
289            int sse = 0;
290    
291            for (i=0; i<8; i++) {
292                    sse += (b1[0] - b2[0])*(b1[0] - b2[0]);
293                    sse += (b1[1] - b2[1])*(b1[1] - b2[1]);
294                    sse += (b1[2] - b2[2])*(b1[2] - b2[2]);
295                    sse += (b1[3] - b2[3])*(b1[3] - b2[3]);
296                    sse += (b1[4] - b2[4])*(b1[4] - b2[4]);
297                    sse += (b1[5] - b2[5])*(b1[5] - b2[5]);
298                    sse += (b1[6] - b2[6])*(b1[6] - b2[6]);
299                    sse += (b1[7] - b2[7])*(b1[7] - b2[7]);
300    
301                    b1 = (const int16_t*)((int8_t*)b1+stride);
302                    b2 = (const int16_t*)((int8_t*)b2+stride);
303            }
304    
305            return(sse);
306    }
307    
308    uint32_t
309    sse8_8bit_c(const uint8_t * b1,
310                            const uint8_t * b2,
311                            const uint32_t stride)
312    {
313            int i;
314            int sse = 0;
315    
316            for (i=0; i<8; i++) {
317                    sse += (b1[0] - b2[0])*(b1[0] - b2[0]);
318                    sse += (b1[1] - b2[1])*(b1[1] - b2[1]);
319                    sse += (b1[2] - b2[2])*(b1[2] - b2[2]);
320                    sse += (b1[3] - b2[3])*(b1[3] - b2[3]);
321                    sse += (b1[4] - b2[4])*(b1[4] - b2[4]);
322                    sse += (b1[5] - b2[5])*(b1[5] - b2[5]);
323                    sse += (b1[6] - b2[6])*(b1[6] - b2[6]);
324                    sse += (b1[7] - b2[7])*(b1[7] - b2[7]);
325    
326                    b1 = b1+stride;
327                    b2 = b2+stride;
328            }
329    
330            return(sse);
331    }

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

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