[XviD-devel] Hadamard Transform

monsti xvid-devel@xvid.org
Fri, 6 Sep 2002 09:59:32 +0200


------------F102182374CCE93
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

>> 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....

BTW, sorry for my bad English, but I don`t be patient on Enghlish
lessons.

Monstrum
------------F102182374CCE93
Content-Type: text/plain; name="hadamard_sse.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="hadamard_sse.txt"

CWNvbnN0MSBkdyBmZmZmaCwgZmZmZmgsIDBoLCAwaA0KCWNvbnN0MiBkdyAwaCwgZmZmZmgsIGZm
ZmZoLCAwaA0KCWNvbnN0MyBkdyBmZmZmaCwgMGgsIGZmZmZoLCAwaA0KO3NyYyAtIHNvdXJjZSAo
IDggYnl0ZXMgKQ0KO2RzdCAtIGRlc3RpbmF0aW9uICggOCBieXRlcyApDQoJY29uc3Q0IGR3IDBo
LCBmZmZmaCwgMGgsIDBoDQoJY29uc3Q1IGR3IGZmZmZoLCAwaCwgZmZmZmgsIGZmZmZoDQoNCglt
b3ZxIG1tMCwgW3NyY10JCTsJCW1tMCA9IGggZyBmIGUgZCBjIGIgYQ0KCW1vdnEgbW0xLCBtbTAN
CglweG9yIG1tNywgbW03DQoJcHVucGNrbGJ3IG1tMCwgbW03CTsJCW1tMCA9IGQgYyBiIGENCglw
dW5wY2toYncgbW0xLCBtbTcJOwkJbW0xID0gaCBnIGYgZQ0KDQoNCg0KCXBzaHVmdyBtbTIsIG1t
MCwgMGgJOwkJbW0yID0gYSBhIGEgYQ0KCXBzaHVmdyBtbTMsIG1tMCwgZmZoCTsJCW1tMyA9IGQg
ZCBkIGQNCglweG9yIG1tMywgY29uc3QxDQoJcHN1YncgbW0zLCBjb25zdDEJOwkJbW0zID0gLWQg
LWQgZCBkDQoJcGFkZHN3IG1tMiwgbW0zCQk7CQltbTIgPSAoYSAtIGQpIChhIC0gZCkgKGEgKyBk
KSAoYSArIGQpDQoJcHNodWZ3IG1tMywgbW0xLCAwaAk7CQltbTMgPSBlIGUgZSBlDQoJcHhvciBt
bTMsIGNvbnN0Mg0KCXBzdWJ3IG1tMywgY29uc3QyCTsJCW1tMyA9IGUgLWUgLWUgZQ0KCXBhZGRz
dyBtbTIsIG1tMwkJOwkJbW0yID0gKCBhIC0gZCArIGUpIChhIC0gZCAtIGUpIChhICsgZCAtIGUp
IChhICsgZCArIGUpDQoNCgkNCg0KCXBzaHVmdyBtbTQsIG1tMCwgNTVoCTsJCW1tNCA9IGIgYiBi
IGINCglwc2h1ZncgbW01LCBtbTAsIEFBaAk7CQltbTUgPSBjIGMgYyBjDQoJcHhvciBtbTUsIGNv
bnN0MQ0KCXBzdWJ3IG1tNSwgY29uc3QxCTsJCW1tNSA9IC1jIC1jIGMgYw0KCXBhZGRzdyBtbTQs
IG1tNQkJOwkJbW00ID0gKGIgLSBjKSAoYiAtIGMpIChiICsgYykgKGIgKyBjKQ0KCXBzaHVmdyBt
bTUsIG1tMSwgNTVoCTsJCW1tNSA9IGYgZiBmIGYNCglweG9yIG1tNSwgY29uc3QyDQoJcHN1Yncg
bW01LCBjb25zdDIJOwkJbW01ID0gZiAtZiAtZiBmDQoJcGFkZHN3IG1tNCwgbW01CQk7CQltbTQg
PSAoYiAtIGMgKyBmKSAoYiAtIGMgLSBmKSAoYiArIGMgLSBmKSAoYiArIGMgKyBmKQ0KDQoNCglt
b3ZxIG1tMiwgbW0zDQoJcGFkZHN3IG1tMiwgbW00CQk7CQltbTIgPSAoYSArIGIgLSBjIC0gZCAr
IGUgKyBmKSAoYSArIGIgLSBjIC0gZCAtIGUgLSBmKSAoYSArIGIgKyBjICsgZCAtIGUgLSBmKSAo
YSArIGIgKyBjICsgZCArIGUgKyBmKQ0KCXBzdWJzdyBtbTMsIG1tNAkJOwkJbW0zID0gKGEgLSBk
ICsgZSAtIGIgKyBjIC0gZikgKGEgLSBkIC0gZSAtIGIgKyBjICsgZikgKGEgKyBkIC0gZSAtIGIg
LSBjICsgZikgKGEgKyBkICsgZSAtIGIgLSBjIC0gZikNCg0KDQoJcHNodWZ3IG1tNSwgbW0xLCBh
YWgJOwkJbW01ID0gZyBnIGcgZw0KCW1vdnEgbW02LCBtbTUNCglweG9yIG1tNSwgY29uc3QzDQoJ
cHhvciBtbTYsIGNvbnN0NA0KCXBzdWJ3IG1tNSwgY29uc3QzCTsJCW1tNSA9IC1nIGcgLWcgZw0K
CXBzdWJ3IG1tNiwgY29uc3Q0CTsJCW1tNiA9IGcgLWcgZyBnIA0KCXBhZGRzdyBtbTIsIG1tNQkJ
OwkJbW0yID0gKGEgKyBiIC0gYyAtIGQgKyBlICsgZiAtIGcpIChhICsgYiAtIGMgLSBkIC0gZSAt
IGYgKyBnKSAoYSArIGIgKyBjICsgZCAtIGUgLSBmIC0gZykgKGEgKyBiICsgYyArIGQgKyBlICsg
ZiArIGcpDQoJcGFkZHN3IG1tMyAsbW02CQk7CQltbTMgPSAoYSAtIGIgKyBjIC0gZCArIGUgLSBm
ICsgZykgKGEgLSBiICsgYyAtIGQgLSBlICsgZiAtIGcpIChhIC0gYiAtIGMgKyBkIC0gZSArIGYg
KyBnKSAoYSAtIGIgLSBjICsgZCArIGUgLSBmICsgZykNCg0KCXBzaHVmdyBtbTUsIG1tMSwgZmZo
CTsJCW1tNSA9IGggaCBoIGgNCgltb3ZxIG1tNiwgbW01DQoJcHhvciBtbTUsIGNvbnN0Mw0KCXB4
b3IgbW02LCBjb25zdDUNCglwc3VidyBtbTUsIGNvbnN0Mwk7CQltbTUgPSAtaCBoIC1oIGgNCglw
c3VidyBtbTYsIGNvbnN0NQk7CQltbTYgPSAtaCBoIC1oIC1oDQoJcGFkZHN3IG1tMiwgbW01CQk7
CQltbTIgPSA4KmQnIDgqYycgOCpiJyA4KmEnDQoJcGFkZHN3IG1tMywgbW02CQk7CQltbTMgPSA4
KmgnIDgqZycgOCpmJyA4KmUnDQoNCglwc3JhdyBtbTIsIDMJCTsJCW1tMiA9IGQnIGMnIGInIGEn
DQoJcHNyYXcgbW0zLCAzCQk7CQltbTMgPSBoJyBnJyBmJyBlJw0KCQ0KCXBhY2tzc3diIG1tMywg
bW0yCTsJCW1tMyA9IGgnIGcnIGYnIGUnIGQnIGMnIGInIGEnDQoJbW92cSBbZHN0XSwgbW0z

------------F102182374CCE93--