mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-16 12:00:06 +01:00
avfilter/unsharp: Merge header into .c
It was shared with opencl implementation. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
This commit is contained in:
@@ -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 */
|
|
||||||
@@ -44,7 +44,39 @@
|
|||||||
#include "libavutil/mem.h"
|
#include "libavutil/mem.h"
|
||||||
#include "libavutil/opt.h"
|
#include "libavutil/opt.h"
|
||||||
#include "libavutil/pixdesc.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 {
|
typedef struct TheadData {
|
||||||
UnsharpFilterParam *fp;
|
UnsharpFilterParam *fp;
|
||||||
|
|||||||
Reference in New Issue
Block a user