--- trunk/xvidcore/src/motion/sad.c 2004/04/12 14:05:08 1423 +++ trunk/xvidcore/src/motion/sad.c 2004/04/12 15:49:56 1424 @@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: sad.c,v 1.15 2004-03-22 22:36:24 edgomez Exp $ + * $Id: sad.c,v 1.16 2004-04-12 15:49:56 edgomez Exp $ * ****************************************************************************/ @@ -36,6 +36,7 @@ dev16FuncPtr dev16; sad16vFuncPtr sad16v; sse8Func_16bitPtr sse8_16bit; +sse8Func_8bitPtr sse8_8bit; sadInitFuncPtr sadInit; @@ -303,3 +304,28 @@ return(sse); } + +uint32_t +sse8_8bit_c(const uint8_t * b1, + const uint8_t * b2, + const uint32_t stride) +{ + int i; + int sse = 0; + + for (i=0; i<8; i++) { + sse += (b1[0] - b2[0])*(b1[0] - b2[0]); + sse += (b1[1] - b2[1])*(b1[1] - b2[1]); + sse += (b1[2] - b2[2])*(b1[2] - b2[2]); + sse += (b1[3] - b2[3])*(b1[3] - b2[3]); + sse += (b1[4] - b2[4])*(b1[4] - b2[4]); + sse += (b1[5] - b2[5])*(b1[5] - b2[5]); + sse += (b1[6] - b2[6])*(b1[6] - b2[6]); + sse += (b1[7] - b2[7])*(b1[7] - b2[7]); + + b1 = b1+stride; + b2 = b2+stride; + } + + return(sse); +}