Go to the source code of this file.
|
static int | apply_unsharp (AVFilterContext *ctx, AVFrame *in, AVFrame *out) |
|
static int | set_filter_param (AVFilterContext *ctx, const char *name, const char *short_name, UnsharpFilterParam *fp, int msize_x, int msize_y, float amount) |
|
static av_cold int | init (AVFilterContext *ctx) |
|
static int | init_filter_param (AVFilterContext *ctx, UnsharpFilterParam *fp, const char *effect_type, int width) |
|
static int | config_input (AVFilterLink *inlink) |
|
static void | free_filter_param (UnsharpFilterParam *fp, int nb_threads) |
|
static av_cold void | uninit (AVFilterContext *ctx) |
|
static int | filter_frame (AVFilterLink *link, AVFrame *in) |
|
| AVFILTER_DEFINE_CLASS (unsharp) |
|
blur / sharpen filter, ported to FFmpeg from MPlayer libmpcodecs/unsharp.c.
This code is based on:
An Efficient algorithm for Gaussian blur using finite-state machines Frederick M. Waltz and John W. V. Miller
SPIE Conf. on Machine Vision Systems for Inspection and Metrology VII Originally published Boston, Nov 98
http://www.engin.umd.umich.edu/~jwvm/ece581/21_GBlur.pdf
Definition in file vf_unsharp.c.
◆ MIN_MATRIX_SIZE
#define MIN_MATRIX_SIZE 3 |
◆ MAX_MATRIX_SIZE
#define MAX_MATRIX_SIZE 63 |
◆ DEF_UNSHARP_SLICE_FUNC
#define DEF_UNSHARP_SLICE_FUNC |
( |
|
name, |
|
|
|
nbits |
|
) |
| |
◆ MAX_SCALEBITS
◆ SET_FILTER_PARAM
#define SET_FILTER_PARAM |
( |
|
name_, |
|
|
|
short_ |
|
) |
| |
Value:
s->short_##msize_x,
s->short_##msize_y,
s->short_##amount); \
◆ OFFSET
◆ FLAGS
◆ MIN_SIZE
◆ MAX_SIZE
◆ apply_unsharp()
◆ set_filter_param()
◆ init()
◆ init_filter_param()
◆ config_input()
◆ free_filter_param()
◆ uninit()
◆ filter_frame()
◆ AVFILTER_DEFINE_CLASS()
AVFILTER_DEFINE_CLASS |
( |
unsharp |
| ) |
|
◆ pix_fmts
◆ unsharp_options
◆ avfilter_vf_unsharp_inputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 388 of file vf_unsharp.c.
◆ ff_vf_unsharp
Initial value:= {
.name = "unsharp",
.priv_class = &unsharp_class,
}
Definition at line 397 of file vf_unsharp.c.
#define AV_PIX_FMT_YUVA422P16
#define FILTER_PIXFMTS_ARRAY(array)
#define AV_PIX_FMT_YUVA422P9
#define FILTER_INPUTS(array)
#define AV_PIX_FMT_YUVA420P16
#define AV_PIX_FMT_YUVA420P10
#define AV_PIX_FMT_YUV420P10
@ AV_PIX_FMT_YUV440P
planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
#define AV_PIX_FMT_YUVA422P10
static av_cold void uninit(AVFilterContext *ctx)
static int filter_frame(AVFilterLink *link, AVFrame *in)
#define AV_PIX_FMT_YUVA420P9
static int config_input(AVFilterLink *inlink)
#define AV_PIX_FMT_YUVA444P16
#define AV_PIX_FMT_YUV422P9
static int set_filter_param(AVFilterContext *ctx, const char *name, const char *short_name, UnsharpFilterParam *fp, int msize_x, int msize_y, float amount)
static av_cold int init(AVFilterContext *ctx)
#define AV_PIX_FMT_YUV444P10
#define AV_PIX_FMT_YUV422P16
const AVFilterPad ff_video_default_filterpad[1]
An AVFilterPad array whose only entry has name "default" and is of type AVMEDIA_TYPE_VIDEO.
@ AV_PIX_FMT_YUVJ422P
planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting col...
@ AV_PIX_FMT_YUVA420P
planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
#define AV_PIX_FMT_YUV444P16
#define AV_PIX_FMT_YUVA444P12
#define AV_PIX_FMT_YUV420P9
#define AV_PIX_FMT_YUV420P16
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
#define FILTER_OUTPUTS(array)
@ AV_PIX_FMT_YUVJ444P
planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting col...
@ AV_PIX_FMT_YUVJ420P
planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting col...
#define AV_PIX_FMT_YUV440P10
#define AV_PIX_FMT_YUV422P10
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
#define AV_PIX_FMT_YUV422P12
#define AV_PIX_FMT_YUV444P12
@ AV_PIX_FMT_YUVA444P
planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
#define AV_PIX_FMT_YUVA444P10
#define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
Some filters support a generic "enable" expression option that can be used to enable or disable a fil...
@ AV_OPT_TYPE_FLOAT
Underlying C type is float.
static enum AVPixelFormat pix_fmts[]
@ AV_PIX_FMT_YUVJ440P
planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range
#define AV_PIX_FMT_YUV444P9
#define AV_PIX_FMT_YUVA444P9
#define AV_PIX_FMT_YUV420P12
static const AVFilterPad avfilter_vf_unsharp_inputs[]
#define AV_PIX_FMT_YUVA422P12
@ AV_OPT_TYPE_INT
Underlying C type is int.
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
@ AV_PIX_FMT_YUV411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
@ AV_PIX_FMT_YUV410P
planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
#define AV_PIX_FMT_YUV440P12
@ AV_PIX_FMT_YUVA422P
planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)