From: Zhao Zhili <quinkblack@foxmail.com> To: ffmpeg-devel@ffmpeg.org Cc: Zhao Zhili <zhilizhao@tencent.com> Subject: [FFmpeg-devel] [PATCH] avfilter/vf_unsharp: Merge header into .c Date: Wed, 14 Aug 2024 21:36:14 +0800 Message-ID: <tencent_A970682D1A9A0040B79A029F29AB904E5208@qq.com> (raw) From: Zhao Zhili <zhilizhao@tencent.com> It was shared with opencl implementation. --- 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@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 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
reply other threads:[~2024-08-14 13:37 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=tencent_A970682D1A9A0040B79A029F29AB904E5208@qq.com \ --to=quinkblack@foxmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ --cc=zhilizhao@tencent.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git