[FFmpeg-devel] [PATCH] avfilter/vf_unsharp: Merge header into .c

Zhao Zhili quinkblack at foxmail.com
Fri Aug 23 19:39:13 EEST 2024


> On Aug 14, 2024, at 21:36, Zhao Zhili <quinkblack at foxmail.com> wrote:
> 
> From: Zhao Zhili <zhilizhao at tencent.com>
> 
> It was shared with opencl implementation.

Ping. Any comments?

> ---
> libavfilter/unsharp.h    | 62 ----------------------------------------
> libavfilter/vf_unsharp.c | 34 +++++++++++++++++++++-
> 2 files changed, 33 insertions(+), 63 deletions(-)
> delete mode 100644 libavfilter/unsharp.h
> 
> diff --git a/libavfilter/unsharp.h b/libavfilter/unsharp.h
> deleted file mode 100644
> index 0da6f05036..0000000000
> --- a/libavfilter/unsharp.h
> +++ /dev/null
> @@ -1,62 +0,0 @@
> -/*
> - * Copyright (C) 2013 Wei Gao <weigao at multicorewareinc.com>
> - * Copyright (C) 2013 Lenny Wang
> - *
> - * This file is part of FFmpeg.
> - *
> - * FFmpeg is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU Lesser General Public
> - * License as published by the Free Software Foundation; either
> - * version 2.1 of the License, or (at your option) any later version.
> - *
> - * FFmpeg is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * Lesser General Public License for more details.
> - *
> - * You should have received a copy of the GNU Lesser General Public
> - * License along with FFmpeg; if not, write to the Free Software
> - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> - */
> -
> -#ifndef AVFILTER_UNSHARP_H
> -#define AVFILTER_UNSHARP_H
> -
> -#include "config.h"
> -#include "avfilter.h"
> -
> -#define MIN_MATRIX_SIZE 3
> -#define MAX_MATRIX_SIZE 63
> -
> -
> -typedef struct UnsharpFilterParam {
> -    int msize_x;                             ///< matrix width
> -    int msize_y;                             ///< matrix height
> -    int amount;                              ///< effect amount
> -    int steps_x;                             ///< horizontal step count
> -    int steps_y;                             ///< vertical step count
> -    int scalebits;                           ///< bits to shift pixel
> -    int32_t halfscale;                       ///< amount to add to pixel
> -    uint32_t *sr;        ///< finite state machine storage within a row
> -    uint32_t **sc;       ///< finite state machine storage across rows
> -} UnsharpFilterParam;
> -
> -typedef struct UnsharpContext {
> -    const AVClass *class;
> -    int lmsize_x, lmsize_y, cmsize_x, cmsize_y;
> -    int amsize_x, amsize_y;
> -    float lamount, camount;
> -    float aamount;
> -    UnsharpFilterParam luma;   ///< luma parameters (width, height, amount)
> -    UnsharpFilterParam chroma; ///< chroma parameters (width, height, amount)
> -    UnsharpFilterParam alpha;  ///< alpha parameters (width, height, amount)
> -    int hsub, vsub;
> -    int nb_planes;
> -    int bitdepth;
> -    int bps;
> -    int nb_threads;
> -    int (* apply_unsharp)(AVFilterContext *ctx, AVFrame *in, AVFrame *out);
> -    int (* unsharp_slice)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs);
> -} UnsharpContext;
> -
> -#endif /* AVFILTER_UNSHARP_H */
> diff --git a/libavfilter/vf_unsharp.c b/libavfilter/vf_unsharp.c
> index 2705ac5270..01b5dae796 100644
> --- a/libavfilter/vf_unsharp.c
> +++ b/libavfilter/vf_unsharp.c
> @@ -44,7 +44,39 @@
> #include "libavutil/mem.h"
> #include "libavutil/opt.h"
> #include "libavutil/pixdesc.h"
> -#include "unsharp.h"
> +
> +#define MIN_MATRIX_SIZE 3
> +#define MAX_MATRIX_SIZE 63
> +
> +typedef struct UnsharpFilterParam {
> +    int msize_x;                             ///< matrix width
> +    int msize_y;                             ///< matrix height
> +    int amount;                              ///< effect amount
> +    int steps_x;                             ///< horizontal step count
> +    int steps_y;                             ///< vertical step count
> +    int scalebits;                           ///< bits to shift pixel
> +    int32_t halfscale;                       ///< amount to add to pixel
> +    uint32_t *sr;        ///< finite state machine storage within a row
> +    uint32_t **sc;       ///< finite state machine storage across rows
> +} UnsharpFilterParam;
> +
> +typedef struct UnsharpContext {
> +    const AVClass *class;
> +    int lmsize_x, lmsize_y, cmsize_x, cmsize_y;
> +    int amsize_x, amsize_y;
> +    float lamount, camount;
> +    float aamount;
> +    UnsharpFilterParam luma;   ///< luma parameters (width, height, amount)
> +    UnsharpFilterParam chroma; ///< chroma parameters (width, height, amount)
> +    UnsharpFilterParam alpha;  ///< alpha parameters (width, height, amount)
> +    int hsub, vsub;
> +    int nb_planes;
> +    int bitdepth;
> +    int bps;
> +    int nb_threads;
> +    int (* apply_unsharp)(AVFilterContext *ctx, AVFrame *in, AVFrame *out);
> +    int (* unsharp_slice)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs);
> +} UnsharpContext;
> 
> typedef struct TheadData {
>     UnsharpFilterParam *fp;
> -- 
> 2.42.0
> 



More information about the ffmpeg-devel mailing list