1 |
/************************************************************************** |
/***************************************************************************** |
2 |
* |
* |
3 |
* XVID MPEG-4 VIDEO CODEC |
* XVID MPEG-4 VIDEO CODEC |
4 |
* sum of absolute difference |
* - Sum Of Absolute Difference related code - |
5 |
* |
* |
6 |
* This program is an implementation of a part of one or more MPEG-4 |
* Copyright(C) 2001-2003 Peter Ross <pross@xvid.org> |
|
* 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. |
|
7 |
* |
* |
8 |
* This program is free software; you can redistribute it and/or modify |
* This program is free software; you can redistribute it and/or modify |
9 |
* it under the terms of the GNU General Public License as published by |
* it under the terms of the GNU General Public License as published by |
17 |
* |
* |
18 |
* You should have received a copy of the GNU General Public License |
* You should have received a copy of the GNU General Public License |
19 |
* along with this program; if not, write to the Free Software |
* along with this program; if not, write to the Free Software |
20 |
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
21 |
* |
* |
22 |
*************************************************************************/ |
* $Id$ |
|
|
|
|
/************************************************************************** |
|
|
* |
|
|
* History: |
|
23 |
* |
* |
24 |
* 14.02.2002 added sad16bi_c() |
****************************************************************************/ |
|
* 10.11.2001 initial version; (c)2001 peter ross <pross@cs.rmit.edu.au> |
|
|
* |
|
|
*************************************************************************/ |
|
|
|
|
25 |
|
|
26 |
#include "../portab.h" |
#include "../portab.h" |
27 |
#include "../global.h" |
#include "../global.h" |
228 |
int32_t *sad) |
int32_t *sad) |
229 |
{ |
{ |
230 |
sad[0] = sad16(cur, ref, stride, 256*4096); |
sad[0] = sad16(cur, ref, stride, 256*4096); |
231 |
sad[1] = sad16(cur + 8, ref + 8, stride, 256*4096); |
sad[1] = sad16(cur + 16, ref + 16, stride, 256*4096); |
232 |
sad[2] = sad16(cur + 8*stride, ref + 8*stride, stride, 256*4096); |
sad[2] = sad16(cur + 16*stride, ref + 16*stride, stride, 256*4096); |
233 |
sad[3] = sad16(cur + 8*stride + 8, ref + 8*stride + 8, stride, 256*4096); |
sad[3] = sad16(cur + 16*stride + 16, ref + 16*stride + 16, stride, 256*4096); |
234 |
|
|
235 |
return sad[0]+sad[1]+sad[2]+sad[3]; |
return sad[0]+sad[1]+sad[2]+sad[3]; |
236 |
} |
} |
276 |
} |
} |
277 |
|
|
278 |
return MRSAD16_CORRFACTOR * sad; |
return MRSAD16_CORRFACTOR * sad; |
|
|
|
279 |
} |
} |
|
|
|
|
|
|