[FFmpeg-devel] [PATCH] avfilter: add bm3d filter

Michael Niedermayer michael at niedermayer.cc
Sat May 12 04:25:04 EEST 2018


On Fri, May 11, 2018 at 04:03:07PM +0200, Paul B Mahol wrote:
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
>  libavfilter/Makefile     |    1 +
>  libavfilter/allfilters.c |    1 +
>  libavfilter/vf_bm3d.c    | 1002 ++++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 1004 insertions(+)
>  create mode 100644 libavfilter/vf_bm3d.c
[...]
> +static void block_matching_multi(BM3DContext *s, const uint8_t *ref, int ref_linesize, int y, int x,
> +                                 int exclude_cur_pos, int plane)
> +{
> +    const int width = s->planewidth[plane];
> +    const int height = s->planeheight[plane];
> +    const int block_size = s->block_size;
> +    const int step = s->bm_step;
> +    const int range = s->bm_range / step * step;
> +    int l = search_boundary(0, range, step, 0, y, x);
> +    int r = search_boundary(width - block_size, range, step, 0, y, x);
> +    int t = search_boundary(0, range, step, 1, y, x);
> +    int b = search_boundary(height - block_size, range, step, 1, y, x);
> +    int j, i, index = 0;
> +
> +    PosCode search_pos[((r - l) / step + 1) * ((b - t) / step + 1)];

fails to build here:

src/libavfilter/vf_bm3d.c: In function ‘block_matching_multi’:
src/libavfilter/vf_bm3d.c:308:5: error: variable length array ‘search_pos’ is used [-Werror=vla]
     PosCode search_pos[((r - l) / step + 1) * ((b - t) / step + 1)];
     ^


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Does the universe only have a finite lifespan? No, its going to go on
forever, its just that you wont like living in it. -- Hiranya Peiri
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180512/9a568b76/attachment.sig>


More information about the ffmpeg-devel mailing list