Commit graph

8 commits

Author SHA1 Message Date
Sebastian Dröge
e84136ba03 videomixer: Port most blending related functions to orc
Only remaining MMX implementation is the ARGB/BGRA/AYUV blending
for which we first need the orc compositing opcodes.
2010-06-10 22:46:00 +02:00
Sebastian Dröge
e87802efdd videomixer: Replace some tabs by spaces 2010-06-10 22:46:00 +02:00
Sebastian Dröge
3f88dce350 videomixer: Add i387 floating point registers to the clobbered registers list
They are the same as the mm0-mm7 MMX registers and will be overwritten
by the assembly code if gcc doesn't know about the MMX registers.

Note: They're all added to the list of clobbered registers in all cases
and not only when __MMX__ is not defined just to make sure that no other
bugs happen with this code just because some compiler version gets things
wrong.

Fixes bug #614466.
2010-04-19 16:57:19 +02:00
Sebastian Dröge
fe4ff4f324 videomixer: Add support for ABGR and RGBA
Now all 4 ARGB variants are supported by videomixer.
2010-03-20 17:32:48 +01:00
Sebastian Dröge
41b17ec2a7 videomixer: Fix assembly register constraints
Fixes bug #608209.
2010-01-27 16:35:10 +01:00
Stefan Kost
404e673ac0 videomixer: use 'q' constraint instead of 'r'
This avoids the "bad register name `%dil'" compilation errors on 32bit where
because of 'r' gcc puts the value in a general purpose register and then tries
to access the lower part as %dil/%sil which is not existing on 32bit. 'q' requests
a-d registers
2010-01-13 16:48:46 +02:00
Sebastian Dröge
6158f401a1 videomixer: Add MMX implementations for I420 and all non-alpha RGB formats 2010-01-11 18:37:45 +01:00
Sebastian Dröge
2950262186 videomixer: Refactor processing functions
This allows easier plugging of optimized processing functions
in the future, like for SSE or AltiVec.
2010-01-11 18:37:44 +01:00