RFC: inline assembly for alphablend functions

Roland Scheidegger <[email protected]>
Newsgroups gmane.comp.video.xine.devel
Message-ID <[email protected]>
Hi,

xine's alphablend functions are terrible cpu hogs (in particular with hd
streams). I was wondering if it would be worthwile to improve things a
bit with simd instructions. I started with mem_blend32 because that's a
natural fit for mmx without touching anything else (and because this
itself uses a lot of time with yuy2 blending). Seems to work and reduce
executed instructions a lot though only on a K8 do I see any performance
improvement (the thing is once again heavily limited by memory
bandwidth). Of course it does exactly nothing unless you have
video.output.disable_exact_alphablend set. The code is also compiled and
executed unconditionally which obviously would need to change.
I guess there would be more of an improvement with the exact blend
function (looks a bit less limited by memory bandwidth) but that's
definitely much more work.
So what do you think?

Roland

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.