comparison ra144.c @ 6838:7d4031cba765 libavcodec

Simplify irms()
author vitor
date Wed, 21 May 2008 16:43:33 +0000
parents 1acb9df14634
children d17cae06e958
comparison
equal deleted inserted replaced
6837:1acb9df14634 6838:7d4031cba765
110 } 110 }
111 111
112 /* inverse root mean square */ 112 /* inverse root mean square */
113 static int irms(const short *data, int factor) 113 static int irms(const short *data, int factor)
114 { 114 {
115 const short *p1, *p2; 115 unsigned int i, sum = 0;
116 unsigned int sum; 116
117 117 for (i=0; i < BLOCKSIZE; i++)
118 p2 = (p1 = data) + BLOCKSIZE; 118 sum += data[i] * data[i];
119 for (sum=0; p2 > p1; p1++)
120 sum += (*p1) * (*p1);
121 119
122 if (sum == 0) 120 if (sum == 0)
123 return 0; /* OOPS - division by zero */ 121 return 0; /* OOPS - division by zero */
124 122
125 return (0x20000000 / (t_sqrt(sum) >> 8)) * factor; 123 return (0x20000000 / (t_sqrt(sum) >> 8)) * factor;