[XviD-devel] Hadamard Transform

Christoph Lampert xvid-devel@xvid.org
Fri, 6 Sep 2002 10:40:17 +0200 (CEST)


On Fri, 6 Sep 2002, monsti wrote:

> >> a'  =  (a + b + c + d + e + f + g + h) /8
> >> b'  =  (a + b + c + d - e - f - g - h) /8
> >> c'  =  (a + b - c - d - e - f + g + h) /8
> >> d'  =  (a + b - c - d + e + f - g - h) /8
> >> e'  =  (a - b - c + d + e - f + g - h) /8
> >> f'  =  (a - b - c + d - e + f + g - h) /8
> >> g'  =  (a - b + c - d - e + f - g + h) /8
> >> h'  =  (a - b + c - d + e - f + g - h) /8
> 
> Hi all.... I have some time and I tried to MMX ( SSE ) this
> expression.. My result is in attachment.. I don't tested them... Maybe
> is slower even C Version... I'll be happy if this junk be usefull....

Hi,

I hope you didn't MMX exactly this one... as Marc noticed, there's a
typo in the last two column. The correct formula is here:
http://www.iro.umontreal.ca/~pigeon/science/ondelettes/Hadamard/Hadamard.html

The link was unreachable five minutes ago, but if I didn't remember it
wrong again, this should be correct: 

 g'  =  (a - b + c - d - e + f + g - h) /8
 h'  =  (a - b + c - d + e - f - g + h) /8

For everybody else interested in fast implemenatation (e.g. C code) I
found this link:

http://www.mcl.iis.u-tokyo.ac.jp/~komatsu/BUNKEN/icassp2001.pdf

gruel