vf_frei0r.c File Reference

frei0r wrapper More...

#include <dlfcn.h>
#include <frei0r.h>
#include "libavutil/avstring.h"
#include "libavutil/imgutils.h"
#include "libavutil/mathematics.h"
#include "libavutil/parseutils.h"
#include "avfilter.h"

Go to the source code of this file.

Data Structures

struct  Frei0rContext

Typedefs

typedef f0r_instance_t(* f0r_construct_f )(unsigned int width, unsigned int height)
typedef void(* f0r_destruct_f )(f0r_instance_t instance)
typedef void(* f0r_deinit_f )(void)
typedef int(* f0r_init_f )(void)
typedef void(* f0r_get_plugin_info_f )(f0r_plugin_info_t *info)
typedef void(* f0r_get_param_info_f )(f0r_param_info_t *info, int param_index)
typedef void(* f0r_update_f )(f0r_instance_t instance, double time, const uint32_t *inframe, uint32_t *outframe)
typedef void(* f0r_update2_f )(f0r_instance_t instance, double time, const uint32_t *inframe1, const uint32_t *inframe2, const uint32_t *inframe3, uint32_t *outframe)
typedef void(* f0r_set_param_value_f )(f0r_instance_t instance, f0r_param_t param, int param_index)
typedef void(* f0r_get_param_value_f )(f0r_instance_t instance, f0r_param_t param, int param_index)
typedef struct Frei0rContext Frei0rContext

Functions

static voidload_sym (AVFilterContext *ctx, const char *sym_name)
static int set_param (AVFilterContext *ctx, f0r_param_info_t info, int index, char *param)
static int set_params (AVFilterContext *ctx, const char *params)
static voidload_path (AVFilterContext *ctx, const char *prefix, const char *name)
static av_cold int frei0r_init (AVFilterContext *ctx, const char *dl_name, int type)
static av_cold int filter_init (AVFilterContext *ctx, const char *args, void *opaque)
static av_cold void uninit (AVFilterContext *ctx)
static int config_input_props (AVFilterLink *inlink)
static int query_formats (AVFilterContext *ctx)
static void null_draw_slice (AVFilterLink *inlink, int y, int h, int slice_dir)
static void end_frame (AVFilterLink *inlink)
static av_cold int source_init (AVFilterContext *ctx, const char *args, void *opaque)
static int source_config_props (AVFilterLink *outlink)
static int source_request_frame (AVFilterLink *outlink)

Variables

AVFilter avfilter_vf_frei0r
AVFilter avfilter_vsrc_frei0r_src

Detailed Description

frei0r wrapper

Definition in file vf_frei0r.c.

Typedef Documentation

typedef f0r_instance_t(* f0r_construct_f)(unsigned int width, unsigned int height)

Definition at line 35 of file vf_frei0r.c.

typedef void(* f0r_deinit_f)(void)

Definition at line 37 of file vf_frei0r.c.

typedef void(* f0r_destruct_f)(f0r_instance_t instance)

Definition at line 36 of file vf_frei0r.c.

typedef void(* f0r_get_param_info_f)(f0r_param_info_t *info, int param_index)

Definition at line 40 of file vf_frei0r.c.

typedef void(* f0r_get_param_value_f)(f0r_instance_t instance, f0r_param_t param, int param_index)

Definition at line 44 of file vf_frei0r.c.

typedef void(* f0r_get_plugin_info_f)(f0r_plugin_info_t *info)

Definition at line 39 of file vf_frei0r.c.

typedef int(* f0r_init_f)(void)

Definition at line 38 of file vf_frei0r.c.

typedef void(* f0r_set_param_value_f)(f0r_instance_t instance, f0r_param_t param, int param_index)

Definition at line 43 of file vf_frei0r.c.

typedef void(* f0r_update2_f)(f0r_instance_t instance, double time, const uint32_t *inframe1, const uint32_t *inframe2, const uint32_t *inframe3, uint32_t *outframe)

Definition at line 42 of file vf_frei0r.c.

typedef void(* f0r_update_f)(f0r_instance_t instance, double time, const uint32_t *inframe, uint32_t *outframe)

Definition at line 41 of file vf_frei0r.c.

typedef struct Frei0rContext Frei0rContext

Function Documentation

static int config_input_props ( AVFilterLink inlink)
static

Definition at line 304 of file vf_frei0r.c.

static void end_frame ( AVFilterLink inlink)
static

Definition at line 342 of file vf_frei0r.c.

static av_cold int filter_init ( AVFilterContext ctx,
const char *  args,
void opaque 
)
static

Definition at line 278 of file vf_frei0r.c.

static av_cold int frei0r_init ( AVFilterContext ctx,
const char *  dl_name,
int  type 
)
static

Definition at line 207 of file vf_frei0r.c.

Referenced by filter_init(), and source_init().

static void* load_path ( AVFilterContext ctx,
const char *  prefix,
const char *  name 
)
static

Definition at line 198 of file vf_frei0r.c.

Referenced by frei0r_init().

static void* load_sym ( AVFilterContext ctx,
const char *  sym_name 
)
static

Definition at line 66 of file vf_frei0r.c.

Referenced by frei0r_init().

static void null_draw_slice ( AVFilterLink inlink,
int  y,
int  h,
int  slice_dir 
)
static

Definition at line 340 of file vf_frei0r.c.

static int query_formats ( AVFilterContext ctx)
static

Definition at line 317 of file vf_frei0r.c.

static int set_param ( AVFilterContext ctx,
f0r_param_info_t  info,
int  index,
char *  param 
)
static

Definition at line 75 of file vf_frei0r.c.

Referenced by set_params().

static int set_params ( AVFilterContext ctx,
const char *  params 
)
static

Definition at line 124 of file vf_frei0r.c.

Referenced by config_input_props(), and source_config_props().

static int source_config_props ( AVFilterLink outlink)
static

Definition at line 411 of file vf_frei0r.c.

static av_cold int source_init ( AVFilterContext ctx,
const char *  args,
void opaque 
)
static

Definition at line 381 of file vf_frei0r.c.

static int source_request_frame ( AVFilterLink outlink)
static

Definition at line 430 of file vf_frei0r.c.

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 290 of file vf_frei0r.c.

Variable Documentation

AVFilter avfilter_vf_frei0r
Initial value:
{
.name = "frei0r",
.description = NULL_IF_CONFIG_SMALL("Apply a frei0r effect."),
.query_formats = query_formats,
.init = filter_init,
.uninit = uninit,
.priv_size = sizeof(Frei0rContext),
.inputs = (AVFilterPad[]) {{ .name = "default",
.draw_slice = null_draw_slice,
.config_props = config_input_props,
.end_frame = end_frame,
.min_perms = AV_PERM_READ },
{ .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO, },
{ .name = NULL}},
}

Definition at line 358 of file vf_frei0r.c.

AVFilter avfilter_vsrc_frei0r_src
Initial value:
{
.name = "frei0r_src",
.description = NULL_IF_CONFIG_SMALL("Generate a frei0r source."),
.priv_size = sizeof(Frei0rContext),
.inputs = (AVFilterPad[]) {{ .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default",
.request_frame = source_request_frame,
.config_props = source_config_props },
{ .name = NULL}},
}

Definition at line 448 of file vf_frei0r.c.