Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2018-10-12 20:12:06 +0300
committerRonald S. Bultje <rsbultje@gmail.com>2018-10-16 19:09:49 +0300
commit1d7754830ec78b9124c4c8be198aa802669675db (patch)
tree00a5389de7ef2725ef0de844a2fec8506ba22ab8 /src/looprestoration.h
parentacd90b71657b2e8810c71321a057063fbb18fd28 (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.h2
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);