mirror of
https://github.com/Raymo111/i3lock-color.git
synced 2024-11-11 13:50:52 -05:00
72aec87047
Calculations are done on integer, rather than floating point numbers, so this implementation is not as accurate (but when scale factor is reasonable enough, no artifacs are visible). It is, however, faster by a factor of ~3.
15 lines
652 B
C
15 lines
652 B
C
#ifndef _BLUR_H
|
|
#define _BLUR_H
|
|
|
|
#include <stdint.h>
|
|
#include <cairo.h>
|
|
|
|
void blur_image_surface (cairo_surface_t *surface, int radius);
|
|
void blur_impl_naive(uint32_t* src, uint32_t* dst, int width, int height, int src_stride, int dst_stride, int radius);
|
|
void blur_impl_sse2(uint32_t* src, uint32_t* dst, int width, int height, float sigma);
|
|
void blur_impl_horizontal_pass_sse2(uint32_t *src, uint32_t *dst, float *kernel, int width, int height);
|
|
void blur_impl_ssse3(uint32_t* src, uint32_t* dst, int width, int height, float sigma);
|
|
void blur_impl_horizontal_pass_ssse3(uint32_t *src, uint32_t *dst, int8_t *kernel, int width, int height);
|
|
|
|
#endif
|
|
|