#include <frei0r.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "config.h"
#include "compat/w32dlfcn.h"
#include "libavutil/avstring.h"
#include "libavutil/common.h"
#include "libavutil/eval.h"
#include "libavutil/getenv_utf8.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 "filters.h"
#include "formats.h"
#include "video.h"
Go to the source code of this file.
|
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) |
|
|
static void * | load_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 (const AVFilterContext *ctx, AVFilterFormatsConfig **cfg_in, AVFilterFormatsConfig **cfg_out) |
|
static int | filter_frame (AVFilterLink *inlink, AVFrame *in) |
|
static int | process_command (AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags) |
|
| 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) |
|
frei0r wrapper
Definition in file vf_frei0r.c.
◆ OFFSET
◆ FLAGS
◆ TFLAGS
◆ f0r_construct_f
typedef f0r_instance_t(* f0r_construct_f) (unsigned int width, unsigned int height) |
◆ f0r_destruct_f
typedef void(* f0r_destruct_f) (f0r_instance_t instance) |
◆ f0r_deinit_f
typedef void(* f0r_deinit_f) (void) |
◆ f0r_init_f
typedef int(* f0r_init_f) (void) |
◆ f0r_get_plugin_info_f
typedef void(* f0r_get_plugin_info_f) (f0r_plugin_info_t *info) |
◆ f0r_get_param_info_f
typedef void(* f0r_get_param_info_f) (f0r_param_info_t *info, int param_index) |
◆ f0r_update_f
typedef void(* f0r_update_f) (f0r_instance_t instance, double time, const uint32_t *inframe, uint32_t *outframe) |
◆ f0r_update2_f
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) |
◆ f0r_set_param_value_f
typedef void(* f0r_set_param_value_f) (f0r_instance_t instance, f0r_param_t param, int param_index) |
◆ f0r_get_param_value_f
typedef void(* f0r_get_param_value_f) (f0r_instance_t instance, f0r_param_t param, int param_index) |
◆ load_sym()
◆ set_param()
static int set_param |
( |
AVFilterContext * |
ctx, |
|
|
f0r_param_info_t |
info, |
|
|
int |
index, |
|
|
char * |
param |
|
) |
| |
|
static |
◆ set_params()
◆ load_path()
static int load_path |
( |
AVFilterContext * |
ctx, |
|
|
void ** |
handle_ptr, |
|
|
const char * |
prefix, |
|
|
const char * |
name |
|
) |
| |
|
static |
◆ frei0r_init()
◆ filter_init()
◆ uninit()
◆ config_input_props()
◆ query_formats()
◆ filter_frame()
◆ process_command()
static int process_command |
( |
AVFilterContext * |
ctx, |
|
|
const char * |
cmd, |
|
|
const char * |
args, |
|
|
char * |
res, |
|
|
int |
res_len, |
|
|
int |
flags |
|
) |
| |
|
static |
◆ AVFILTER_DEFINE_CLASS() [1/2]
AVFILTER_DEFINE_CLASS |
( |
frei0r |
| ) |
|
◆ source_init()
◆ source_config_props()
◆ source_request_frame()
◆ AVFILTER_DEFINE_CLASS() [2/2]
AVFILTER_DEFINE_CLASS |
( |
frei0r_src |
| ) |
|
◆ frei0r_options
◆ avfilter_vf_frei0r_inputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 419 of file vf_frei0r.c.
◆ ff_vf_frei0r
Initial value:= {
.name = "frei0r",
.priv_class = &frei0r_class,
}
Definition at line 428 of file vf_frei0r.c.
◆ frei0r_src_options
◆ avfilter_vsrc_frei0r_src_outputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 508 of file vf_frei0r.c.
◆ ff_vsrc_frei0r_src
Initial value:= {
.name = "frei0r_src",
.priv_class = &frei0r_src_class,
}
Definition at line 517 of file vf_frei0r.c.
@ AV_OPT_TYPE_VIDEO_RATE
Underlying C type is AVRational.
static av_cold void uninit(AVFilterContext *ctx)
static av_cold int source_init(AVFilterContext *ctx)
#define FILTER_INPUTS(array)
static int source_request_frame(AVFilterLink *outlink)
const AVFilterPad ff_video_default_filterpad[1]
An AVFilterPad array whose only entry has name "default" and is of type AVMEDIA_TYPE_VIDEO.
static int source_config_props(AVFilterLink *outlink)
static int process_command(AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags)
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
static int config_input_props(AVFilterLink *inlink)
#define FILTER_OUTPUTS(array)
@ AV_OPT_TYPE_IMAGE_SIZE
Underlying C type is two consecutive integers.
static av_cold int filter_init(AVFilterContext *ctx)
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several inputs
static int query_formats(const AVFilterContext *ctx, AVFilterFormatsConfig **cfg_in, AVFilterFormatsConfig **cfg_out)
int(* init)(AVBSFContext *ctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
#define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
Some filters support a generic "enable" expression option that can be used to enable or disable a fil...
#define FILTER_QUERY_FUNC2(func)
static const AVFilterPad avfilter_vsrc_frei0r_src_outputs[]
static const AVFilterPad avfilter_vf_frei0r_inputs[]
@ AV_OPT_TYPE_STRING
Underlying C type is a uint8_t* that is either NULL or points to a C string allocated with the av_mal...