diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2018-10-12 20:12:06 +0300 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2018-10-16 19:09:49 +0300 |
commit | 1d7754830ec78b9124c4c8be198aa802669675db (patch) | |
tree | 00a5389de7ef2725ef0de844a2fec8506ba22ab8 /src/looprestoration.h | |
parent | acd90b71657b2e8810c71321a057063fbb18fd28 (diff) |
Refactor left edge copying to reduce data copies by 50%.
Also copy 4 pixels so SIMD can use a padded write (movd).
Diffstat (limited to 'src/looprestoration.h')
-rw-r--r-- | src/looprestoration.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/looprestoration.h b/src/looprestoration.h index b1dd24a..baa2454 100644 --- a/src/looprestoration.h +++ b/src/looprestoration.h @@ -45,11 +45,13 @@ enum LrEdgeFlags { // * w is constrained by the restoration unit size (w <= 256) // * h is constrained by the stripe height (h <= 64) typedef void (*wienerfilter_fn)(pixel *dst, ptrdiff_t dst_stride, + const void *left /*const pixel (*left)[4]*/, const pixel *lpf, ptrdiff_t lpf_stride, int w, int h, const int16_t filterh[7], const int16_t filterv[7], enum LrEdgeFlags edges); typedef void (*selfguided_fn)(pixel *dst, ptrdiff_t dst_stride, + const void *left /*const pixel (*left)[4]*/, const pixel *lpf, ptrdiff_t lpf_stride, int w, int h, int sgr_idx, const int16_t sgr_w[2], const enum LrEdgeFlags edges); |