diff svq1.c @ 4749:7011f597e473 libavcodec

mmx 16-bit ssd. 2.3x faster svq1 encoding.
author lorenm
date Fri, 30 Mar 2007 19:15:31 +0000
parents a96d905dcbaa
children 14a0a003804b
line wrap: on
line diff
--- a/svq1.c	Fri Mar 30 09:26:13 2007 +0000
+++ b/svq1.c	Fri Mar 30 19:15:31 2007 +0000
@@ -992,15 +992,10 @@
 
             for(i=0; i<16; i++){
                 int sum= codebook_sum[stage*16 + i];
-                int sqr=0;
-                int diff, mean, score;
+                int sqr, diff, mean, score;
 
                 vector = codebook + stage*size*16 + i*size;
-
-                for(j=0; j<size; j++){
-                    int v= vector[j];
-                    sqr += (v - block[stage][j])*(v - block[stage][j]);
-                }
+                sqr = s->dsp.ssd_int8_vs_int16(vector, block[stage], size);
                 diff= block_sum[stage] - sum;
                 mean= (diff + (size>>1)) >> (level+3);
                 assert(mean >-300 && mean<300);