FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
vf_frei0r.c File Reference

frei0r wrapper More...

#include <dlfcn.h>
#include <frei0r.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "config.h"
#include "libavutil/avstring.h"
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/mathematics.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"
#include "video.h"

Go to the source code of this file.

Data Structures

struct  Frei0rContext
 

Macros

#define OFFSET(x)   offsetof(Frei0rContext, x)
 
#define FLAGS   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_FILTERING_PARAM
 

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)
 

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 int load_path (AVFilterContext *ctx, void **handle_ptr, 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)
 
static av_cold void uninit (AVFilterContext *ctx)
 
static int config_input_props (AVFilterLink *inlink)
 
static int query_formats (AVFilterContext *ctx)
 
static int filter_frame (AVFilterLink *inlink, AVFrame *in)
 
 AVFILTER_DEFINE_CLASS (frei0r)
 
static av_cold int source_init (AVFilterContext *ctx)
 
static int source_config_props (AVFilterLink *outlink)
 
static int source_request_frame (AVFilterLink *outlink)
 
 AVFILTER_DEFINE_CLASS (frei0r_src)
 

Variables

static const AVOption frei0r_options []
 
static const AVFilterPad avfilter_vf_frei0r_inputs []
 
static const AVFilterPad avfilter_vf_frei0r_outputs []
 
AVFilter avfilter_vf_frei0r
 
static const AVOption frei0r_src_options []
 
static const AVFilterPad avfilter_vsrc_frei0r_src_outputs []
 
AVFilter avfilter_vsrc_frei0r_src
 

Detailed Description

frei0r wrapper

Definition in file vf_frei0r.c.

Macro Definition Documentation

#define OFFSET (   x)    offsetof(Frei0rContext, x)

Definition at line 411 of file vf_frei0r.c.

Definition at line 412 of file vf_frei0r.c.

Typedef Documentation

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

Definition at line 43 of file vf_frei0r.c.

typedef void(* f0r_destruct_f)(f0r_instance_t instance)

Definition at line 44 of file vf_frei0r.c.

typedef void(* f0r_deinit_f)(void)

Definition at line 45 of file vf_frei0r.c.

typedef int(* f0r_init_f)(void)

Definition at line 46 of file vf_frei0r.c.

typedef void(* f0r_get_plugin_info_f)(f0r_plugin_info_t *info)

Definition at line 47 of file vf_frei0r.c.

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

Definition at line 48 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 49 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 50 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 51 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 52 of file vf_frei0r.c.

Function Documentation

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

Definition at line 79 of file vf_frei0r.c.

Referenced by frei0r_init().

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

Definition at line 88 of file vf_frei0r.c.

Referenced by set_params().

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

Definition at line 137 of file vf_frei0r.c.

Referenced by config_input_props(), and source_config_props().

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

Definition at line 214 of file vf_frei0r.c.

Referenced by frei0r_init().

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

Definition at line 225 of file vf_frei0r.c.

Referenced by filter_init(), and source_init().

static av_cold int filter_init ( AVFilterContext ctx)
static

Definition at line 332 of file vf_frei0r.c.

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 339 of file vf_frei0r.c.

static int config_input_props ( AVFilterLink inlink)
static

Definition at line 351 of file vf_frei0r.c.

static int query_formats ( AVFilterContext ctx)
static

Definition at line 366 of file vf_frei0r.c.

static int filter_frame ( AVFilterLink inlink,
AVFrame in 
)
static

Definition at line 389 of file vf_frei0r.c.

AVFILTER_DEFINE_CLASS ( frei0r  )
static av_cold int source_init ( AVFilterContext ctx)
static

Definition at line 455 of file vf_frei0r.c.

static int source_config_props ( AVFilterLink outlink)
static

Definition at line 475 of file vf_frei0r.c.

static int source_request_frame ( AVFilterLink outlink)
static

Definition at line 497 of file vf_frei0r.c.

AVFILTER_DEFINE_CLASS ( frei0r_src  )

Variable Documentation

const AVOption frei0r_options[]
static
Initial value:
= {
{ "filter_name", NULL, OFFSET(dl_name), AV_OPT_TYPE_STRING, .flags = FLAGS },
{ "filter_params", NULL, OFFSET(params), AV_OPT_TYPE_STRING, .flags = FLAGS },
{ NULL },
}

Definition at line 413 of file vf_frei0r.c.

const AVFilterPad avfilter_vf_frei0r_inputs[]
static
Initial value:
= {
{
.name = "default",
.config_props = config_input_props,
.filter_frame = filter_frame,
},
{ NULL }
}

Definition at line 421 of file vf_frei0r.c.

const AVFilterPad avfilter_vf_frei0r_outputs[]
static
Initial value:
= {
{
.name = "default",
},
{ NULL }
}

Definition at line 431 of file vf_frei0r.c.

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),
.priv_class = &frei0r_class,
}

Definition at line 439 of file vf_frei0r.c.

const AVOption frei0r_src_options[]
static
Initial value:
= {
{ "size", "Dimensions of the generated video.", OFFSET(size), AV_OPT_TYPE_STRING, { .str = "" }, .flags = FLAGS },
{ "framerate", NULL, OFFSET(framerate), AV_OPT_TYPE_STRING, { .str = "25" }, .flags = FLAGS },
{ "filter_name", NULL, OFFSET(dl_name), AV_OPT_TYPE_STRING, .flags = FLAGS },
{ "filter_params", NULL, OFFSET(params), AV_OPT_TYPE_STRING, .flags = FLAGS },
{ NULL },
}

Definition at line 514 of file vf_frei0r.c.

const AVFilterPad avfilter_vsrc_frei0r_src_outputs[]
static
Initial value:
= {
{
.name = "default",
.request_frame = source_request_frame,
.config_props = source_config_props
},
{ NULL }
}

Definition at line 524 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),
.priv_class = &frei0r_src_class,
.inputs = NULL,
}

Definition at line 534 of file vf_frei0r.c.