diff options
author | Frank Barchard <fbarchard@google.com> | 2019-12-08 20:23:10 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-12-09 04:45:59 +0000 |
commit | 6e6f81b8031a9d78d97c574578a0fc0651c52a1a (patch) | |
tree | 51c5f9e69f2487cbc6c6b5541c66e51e810bdede /include/libyuv/planar_functions.h | |
parent | d82f4baf5fcc19f21b5decd7c4af63f120653e0b (diff) | |
download | libyuv-6e6f81b8031a9d78d97c574578a0fc0651c52a1a.tar.gz |
Floating point Gaussian kernels
On SkylakeX for 720p
TestGaussPlane_F32 (657 ms)
On Pixel3
TestGaussPlane_F32 (1787 ms)
Bug: libyuv:852, b/145611468
Change-Id: I9859af1b9381621067992305727da285f82bdded
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1949667
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Marat Dukhan <maratek@google.com>
Diffstat (limited to 'include/libyuv/planar_functions.h')
-rw-r--r-- | include/libyuv/planar_functions.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/libyuv/planar_functions.h b/include/libyuv/planar_functions.h index 5299fe2c..57395262 100644 --- a/include/libyuv/planar_functions.h +++ b/include/libyuv/planar_functions.h @@ -743,6 +743,19 @@ int ARGBBlur(const uint8_t* src_argb, int height, int radius); +// Gaussian 5x5 blur a float plane. +// Coefficients of 1, 4, 6, 4, 1. +// Each destination pixel is a blur of the 5x5 +// pixels from the source. +// Source edges are clamped. +LIBYUV_API +int GaussPlane_F32(const float* src, + int src_stride, + float* dst, + int dst_stride, + int width, + int height); + // Multiply ARGB image by ARGB value. LIBYUV_API int ARGBShade(const uint8_t* src_argb, |