Commit graph

11 commits

Author SHA1 Message Date
Wim Taymans
362785df88 videomixer: optimize blend code some more
Use more efficient formula that uses less multiplies.
Reduce the amount of scalar code, use MMX to calculate the desired
alpha value.
Unroll and handle 2 pixels in one iteration for improved pairing.
2009-12-25 12:38:45 +01:00
Wim Taymans
4f9ded7742 videomixer: scale and clamp
Scale and clamp to the max alpha values.
2009-12-24 22:59:09 +01:00
Sebastian Dröge
3ac6f5e48b videomixer: Fix assembly compilation on x86
Fixes bug #604814.
2009-12-17 18:14:55 +01:00
Sebastian Dröge
0a0f7ecc16 videomixer: Use movzbl instead of movzxb for moving one byte to a l register
For some reason latest gcc/binutils accept movzxb here while
movzbl would be correct and is the only thing accepted by older
gcc/binutils.

Fixes bug #604679.
2009-12-16 10:50:32 +01:00
Sebastian Dröge
9e45038d8d videomixer: src/dest are input and output of the AYUV blending MMX assembler 2009-12-16 06:59:01 +01:00
Sebastian Dröge
061ededa36 videomixer: Add MMX implementations of the AYUV blending and color filling functions
This provides a 20% speedup for blending and 100% for color filling.

The blending can probably be optimized even more.
2009-12-15 12:30:21 +01:00
Sebastian Dröge
6f51dfba95 videomixer: Remove wrong comments, copied from the I420 blend function 2009-12-10 10:48:49 +01:00
Sebastian Dröge
4ccd9c92ae videomixer: Remove the calculate_frame_size() function and use libgstvideo instead 2009-07-10 17:23:03 +02:00
Sebastian Dröge
356972740a videomixer: Make checker pattern lookup table constant 2009-07-08 18:19:45 +02:00
Sebastian Dröge
83fc39ccff videomixer: Some cleanup and fix the calculation of the frame size in bytes 2009-05-28 13:54:14 +02:00
Alex Ugarte
82abbeaf4f videomixer: Add support for blending BGRA and AYUV
Fixes bug #577017.
2009-05-28 12:55:16 +02:00