Evas filters: Optimize alpha box blur
authorJean-Philippe Andre <jp.andre@samsung.com>
Wed, 12 Mar 2014 01:20:27 +0000 (10:20 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Wed, 12 Mar 2014 05:08:02 +0000 (14:08 +0900)
commit4443ecfa8be65aef0dedcb0d749c9081769cc140
treefbb233a4bb1cc6a6b8847e7c78a0e3c7a6c9c480
parent2a1ba1b9086bdf9d3d474ec7f8a5cfe37fcdd61a
Evas filters: Optimize alpha box blur

Use two optimizable functions for BOX blur: vertical and horizontal.
These functions will run as many times as requested (from 1 to 6 max).

The horizontal case is pretty straightforward as the source is already
contiguous (nice in terms of cache hits). The only catch is to swap
src and dst without ever writing to the input buffer.

In case of vertical blur, we apply the same method as above, after
rotating the column into a horizontal (contiguous) span, and rotating
it back afterwards.

Now, the same needs to be done for RGBA :)
src/lib/evas/filters/blur/blur_box_alpha_.c
src/lib/evas/filters/evas_filter.c
src/lib/evas/filters/evas_filter_blur.c