diff options
author | Paul B Mahol <onemda@gmail.com> | 2021-10-24 14:53:28 +0200 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2021-10-29 18:42:29 +0200 |
commit | eaca36d495f802ebaa5729f345016463d3071c27 (patch) | |
tree | 3e719e2931a213c1e479693e01e985680d87db86 /libavfilter/vf_nlmeans.h | |
parent | 38c86e7a02c286becbe847ff7bc13d19363ce15e (diff) | |
download | ffmpeg-eaca36d495f802ebaa5729f345016463d3071c27.tar.gz |
avfilter/vf_nlmeans: refactor line processing in preparation for x86 SIMD assembly
Diffstat (limited to 'libavfilter/vf_nlmeans.h')
-rw-r--r-- | libavfilter/vf_nlmeans.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libavfilter/vf_nlmeans.h b/libavfilter/vf_nlmeans.h index 0a9aab2928..d0d0056163 100644 --- a/libavfilter/vf_nlmeans.h +++ b/libavfilter/vf_nlmeans.h @@ -22,11 +22,25 @@ #include <stddef.h> #include <stdint.h> +struct weighted_avg { + float total_weight; + float sum; +}; + typedef struct NLMeansDSPContext { void (*compute_safe_ssd_integral_image)(uint32_t *dst, ptrdiff_t dst_linesize_32, const uint8_t *s1, ptrdiff_t linesize1, const uint8_t *s2, ptrdiff_t linesize2, int w, int h); + void (*compute_weights_line)(const uint32_t *const iia, + const uint32_t *const iib, + const uint32_t *const iid, + const uint32_t *const iie, + const uint8_t *const src, + struct weighted_avg *wa, + const float *const weight_lut, + int max_meaningful_diff, + int startx, int endx); } NLMeansDSPContext; void ff_nlmeans_init(NLMeansDSPContext *dsp); |