#include "avfilter.h"
#include "formats.h"
#include "internal.h"
#include "video.h"
#include "libavutil/common.h"
#include "libavutil/mem.h"
#include "libavutil/pixdesc.h"
Go to the source code of this file.
Data Structures | |
| struct | FilterParam |
| struct | UnsharpContext |
Defines | |
| #define | MIN_SIZE 3 |
| #define | MAX_SIZE 13 |
| #define | SHIFTUP(x, shift) (-((-(x))>>(shift))) |
Functions | |
| static void | apply_unsharp (uint8_t *dst, int dst_stride, const uint8_t *src, int src_stride, int width, int height, FilterParam *fp) |
| static void | set_filter_param (FilterParam *fp, int msize_x, int msize_y, double amount) |
| static av_cold int | init (AVFilterContext *ctx, const char *args) |
| static int | query_formats (AVFilterContext *ctx) |
| static void | init_filter_param (AVFilterContext *ctx, FilterParam *fp, const char *effect_type, int width) |
| static int | config_props (AVFilterLink *link) |
| static void | free_filter_param (FilterParam *fp) |
| static av_cold void | uninit (AVFilterContext *ctx) |
| static int | end_frame (AVFilterLink *link) |
| static int | draw_slice (AVFilterLink *link, int y, int h, int slice_dir) |
Variables | |
| AVFilter | avfilter_vf_unsharp |
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.
| #define MAX_SIZE 13 |
Definition at line 48 of file vf_unsharp.c.
Referenced by aiff_read_packet(), apply_unsharp(), mmf_read_packet(), and sol_read_packet().
| #define MIN_SIZE 3 |
Definition at line 47 of file vf_unsharp.c.
| #define SHIFTUP | ( | x, | |||
| shift | ) | (-((-(x))>>(shift))) |
| static int config_props | ( | AVFilterLink * | link | ) | [static] |
Definition at line 187 of file vf_unsharp.c.
| static int draw_slice | ( | AVFilterLink * | link, | |
| int | y, | |||
| int | h, | |||
| int | slice_dir | |||
| ) | [static] |
Definition at line 235 of file vf_unsharp.c.
| static int end_frame | ( | AVFilterLink * | link | ) | [static] |
Definition at line 216 of file vf_unsharp.c.
| static void free_filter_param | ( | FilterParam * | fp | ) | [static] |
| static av_cold int init | ( | AVFilterContext * | ctx, | |
| const char * | args | |||
| ) | [static] |
Definition at line 135 of file vf_unsharp.c.
| static void init_filter_param | ( | AVFilterContext * | ctx, | |
| FilterParam * | fp, | |||
| const char * | effect_type, | |||
| int | width | |||
| ) | [static] |
| static int query_formats | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 160 of file vf_unsharp.c.
| static void set_filter_param | ( | FilterParam * | fp, | |
| int | msize_x, | |||
| int | msize_y, | |||
| double | amount | |||
| ) | [static] |
| static av_cold void uninit | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 208 of file vf_unsharp.c.
Initial value:
{
.name = "unsharp",
.description = NULL_IF_CONFIG_SMALL("Sharpen or blur the input video."),
.priv_size = sizeof(UnsharpContext),
.init = init,
.uninit = uninit,
.query_formats = query_formats,
.inputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.draw_slice = draw_slice,
.end_frame = end_frame,
.config_props = config_props,
.min_perms = AV_PERM_READ, },
{ .name = NULL}},
.outputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO, },
{ .name = NULL}},
}
Definition at line 240 of file vf_unsharp.c.
1.5.8