Re[2]: [XviD-devel] Hadamard Transform

monsti xvid-devel@xvid.org
Fri, 6 Sep 2002 12:15:25 +0200


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

Hello Christoph,

Friday, September 6, 2002, 10:40:17 AM, you wrote:

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

CL> Hi,

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

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

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


Hi again... I've corrected my version... sorry but I've only Dial-up
Connection to Internet... Parents will kill me if they sow check.

About the calculation without multiplication.... if i find some time I
try to do this.. If I Suceed.... ( maybe ???? ) I will post maybe
tomorrow...

You talking about parralel counting.....

-- 
Best regards,
 monsti                            mailto:monstrum@tlen.pl
Lukasz Tomczykiewicz
------------32CFF119BD176E
Content-Type: text/plain; name="hadamard_sse_corrected.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="hadamard_sse_corrected.txt"

CWNvbnN0MSBkdyBmZmZmaCwgZmZmZmgsIDBoLCAwaA0KCWNvbnN0MiBkdyAwaCwgZmZmZmgsIGZm
ZmZoLCAwaA0KCWNvbnN0MyBkdyBmZmZmaCwgMGgsIGZmZmZoLCAwaA0KO3NyYyAtIHNvdXJjZSAo
IDggYnl0ZXMgKQ0KO2RzdCAtIGRlc3RpbmF0aW9uICggOCBieXRlcyApDQoJY29uc3Q0IGR3IGZm
ZmZoLCAwaCwgMGgsIDBoDQoJY29uc3Q1IGR3IDBoLCBmZmZmaCwgZmZmZmgsIGZmZmZoDQoNCglt
b3ZxIG1tMCwgW3NyY10JCTsJCW1tMCA9IGggZyBmIGUgZCBjIGIgYQ0KCW1vdnEgbW0xLCBtbTAN
CglweG9yIG1tNywgbW03DQoJcHVucGNrbGJ3IG1tMCwgbW03CTsJCW1tMCA9IGQgYyBiIGENCglw
dW5wY2toYncgbW0xLCBtbTcJOwkJbW0xID0gaCBnIGYgZQ0KDQoNCg0KCXBzaHVmdyBtbTIsIG1t
MCwgMGgJOwkJbW0yID0gYSBhIGEgYQ0KCXBzaHVmdyBtbTMsIG1tMCwgZmZoCTsJCW1tMyA9IGQg
ZCBkIGQNCglweG9yIG1tMywgY29uc3QxDQoJcHN1YncgbW0zLCBjb25zdDEJOwkJbW0zID0gLWQg
LWQgZCBkDQoJcGFkZHN3IG1tMiwgbW0zCQk7CQltbTIgPSAoYSAtIGQpIChhIC0gZCkgKGEgKyBk
KSAoYSArIGQpDQoJcHNodWZ3IG1tMywgbW0xLCAwaAk7CQltbTMgPSBlIGUgZSBlDQoJcHhvciBt
bTMsIGNvbnN0Mg0KCXBzdWJ3IG1tMywgY29uc3QyCTsJCW1tMyA9IGUgLWUgLWUgZQ0KCXBhZGRz
dyBtbTIsIG1tMwkJOwkJbW0yID0gKCBhIC0gZCArIGUpIChhIC0gZCAtIGUpIChhICsgZCAtIGUp
IChhICsgZCArIGUpDQoNCgkNCg0KCXBzaHVmdyBtbTQsIG1tMCwgNTVoCTsJCW1tNCA9IGIgYiBi
IGINCglwc2h1ZncgbW01LCBtbTAsIEFBaAk7CQltbTUgPSBjIGMgYyBjDQoJcHhvciBtbTUsIGNv
bnN0MQ0KCXBzdWJ3IG1tNSwgY29uc3QxCTsJCW1tNSA9IC1jIC1jIGMgYw0KCXBhZGRzdyBtbTQs
IG1tNQkJOwkJbW00ID0gKGIgLSBjKSAoYiAtIGMpIChiICsgYykgKGIgKyBjKQ0KCXBzaHVmdyBt
bTUsIG1tMSwgNTVoCTsJCW1tNSA9IGYgZiBmIGYNCglweG9yIG1tNSwgY29uc3QyDQoJcHN1Yncg
bW01LCBjb25zdDIJOwkJbW01ID0gZiAtZiAtZiBmDQoJcGFkZHN3IG1tNCwgbW01CQk7CQltbTQg
PSAoYiAtIGMgKyBmKSAoYiAtIGMgLSBmKSAoYiArIGMgLSBmKSAoYiArIGMgKyBmKQ0KDQoNCglt
b3ZxIG1tMiwgbW0zDQoJcGFkZHN3IG1tMiwgbW00CQk7CQltbTIgPSAoYSArIGIgLSBjIC0gZCAr
IGUgKyBmKSAoYSArIGIgLSBjIC0gZCAtIGUgLSBmKSAoYSArIGIgKyBjICsgZCAtIGUgLSBmKSAo
YSArIGIgKyBjICsgZCArIGUgKyBmKQ0KCXBzdWJzdyBtbTMsIG1tNAkJOwkJbW0zID0gKGEgLSBk
ICsgZSAtIGIgKyBjIC0gZikgKGEgLSBkIC0gZSAtIGIgKyBjICsgZikgKGEgKyBkIC0gZSAtIGIg
LSBjICsgZikgKGEgKyBkICsgZSAtIGIgLSBjIC0gZikNCg0KDQoJcHNodWZ3IG1tNSwgbW0xLCBh
YWgJOwkJbW01ID0gZyBnIGcgZw0KCW1vdnEgbW02LCBtbTUNCglweG9yIG1tNSwgY29uc3QzDQoJ
cHhvciBtbTYsIGNvbnN0NA0KCXBzdWJ3IG1tNSwgY29uc3QzCTsJCW1tNSA9IC1nIGcgLWcgZw0K
CXBzdWJ3IG1tNiwgY29uc3Q0CTsJCW1tNiA9IGcgLWcgZyBnIGNvcnJlY3RlZCBtbTYgPSAtZyBn
IGcgZw0KCXBhZGRzdyBtbTIsIG1tNQkJOwkJbW0yID0gKGEgKyBiIC0gYyAtIGQgKyBlICsgZiAt
IGcpIChhICsgYiAtIGMgLSBkIC0gZSAtIGYgKyBnKSAoYSArIGIgKyBjICsgZCAtIGUgLSBmIC0g
ZykgKGEgKyBiICsgYyArIGQgKyBlICsgZiArIGcpDQoJcGFkZHN3IG1tMyAsbW02CQk7CQltbTMg
PSAoYSAtIGIgKyBjIC0gZCArIGUgLSBmICsgZykgKGEgLSBiICsgYyAtIGQgLSBlICsgZiAtIGcp
IChhIC0gYiAtIGMgKyBkIC0gZSArIGYgKyBnKSAoYSAtIGIgLSBjICsgZCArIGUgLSBmICsgZykN
Cg0KCXBzaHVmdyBtbTUsIG1tMSwgZmZoCTsJCW1tNSA9IGggaCBoIGgNCgltb3ZxIG1tNiwgbW01
DQoJcHhvciBtbTUsIGNvbnN0Mw0KCXB4b3IgbW02LCBjb25zdDUNCglwc3VidyBtbTUsIGNvbnN0
Mwk7CQltbTUgPSAtaCBoIC1oIGgNCglwc3VidyBtbTYsIGNvbnN0NQk7CQltbTYgPSAtaCBoIC1o
IC1oIGNvcnJlY3RlZCBtbTYgPSBoIC1oIC1oIC1oDQoJcGFkZHN3IG1tMiwgbW01CQk7CQltbTIg
PSA4KmQnIDgqYycgOCpiJyA4KmEnDQoJcGFkZHN3IG1tMywgbW02CQk7CQltbTMgPSA4KmgnIDgq
ZycgOCpmJyA4KmUnDQoNCglwc3JhdyBtbTIsIDMJCTsJCW1tMiA9IGQnIGMnIGInIGEnDQoJcHNy
YXcgbW0zLCAzCQk7CQltbTMgPSBoJyBnJyBmJyBlJw0KCQ0KCXBhY2tzc3diIG1tMywgbW0yCTsJ
CW1tMyA9IGgnIGcnIGYnIGUnIGQnIGMnIGInIGEnDQoJbW92cSBbZHN0XSwgbW0z

------------32CFF119BD176E--