#import <CoreImage/CoreImage.h>
#import <AppKit/AppKit.h>
#include "avfilter.h"
#include "filters.h"
#include "formats.h"
#include "video.h"
#include "libavutil/internal.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
Go to the source code of this file.
Video processing based on Apple's CoreImage API
Definition in file vf_coreimage.m.
◆ CLAMP_WARNING
Value:do { \
av_log(
ctx,
AV_LOG_WARNING,
"Value of \"%f\" for option \"%s\" is out of range [%f %f], clamping to \"%f\".\n", \
[input_key UTF8String], \
min_value.floatValue, \
max_value.floatValue, \
used_value.floatValue); \
} while(0)
◆ SafeCFRelease
| #define SafeCFRelease |
( |
|
ptr | ) |
|
Value: do { \
if (ptr) { \
CFRelease(ptr); \
} \
} while (0)
◆ OFFSET
◆ FLAGS
◆ GENERATOR_OPTIONS
| #define GENERATOR_OPTIONS |
◆ FILTER_OPTIONS
◆ config_output()
◆ config_input()
Determine image properties from input link of filter chain.
Definition at line 85 of file vf_coreimage.m.
◆ list_filters()
Print a list of all available filters including options and respective value ranges and defaults.
Definition at line 96 of file vf_coreimage.m.
Referenced by init().
◆ apply_filter()
◆ filter_frame()
Apply all valid filters successively to the input image.
The final output image is copied from the GPU by "drawing" using a bitmap context.
Definition at line 277 of file vf_coreimage.m.
◆ request_frame()
◆ set_option()
| static void set_option |
( |
CoreImageContext * |
ctx, |
|
|
CIFilter * |
filter, |
|
|
const char * |
key, |
|
|
const char * |
value |
|
) |
| |
|
static |
◆ create_filter()
Create a filter object by a given name and set all options to defaults.
Overwrite any option given by the user to the provided value in filter_options.
Definition at line 417 of file vf_coreimage.m.
Referenced by init().
◆ init()
◆ init_src()
◆ uninit()
◆ AVFILTER_DEFINE_CLASS() [1/2]
| AVFILTER_DEFINE_CLASS |
( |
coreimage |
| ) |
|
◆ AVFILTER_DEFINE_CLASS() [2/2]
| AVFILTER_DEFINE_CLASS |
( |
coreimagesrc |
| ) |
|
◆ vf_coreimage_inputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 570 of file vf_coreimage.m.
◆ vf_coreimage_outputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 579 of file vf_coreimage.m.
◆ vsrc_coreimagesrc_outputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 586 of file vf_coreimage.m.
◆ coreimage_options
◆ ff_vf_coreimage
Initial value:= {
.name = "coreimage",
.priv_class = &coreimage_class,
}
Definition at line 622 of file vf_coreimage.m.
◆ coreimagesrc_options
◆ ff_vsrc_coreimagesrc
Initial value:= {
.name = "coreimagesrc",
.priv_class = &coreimagesrc_class,
}
Definition at line 643 of file vf_coreimage.m.
#define AV_LOG_WARNING
Something somehow does not look correct.
@ AV_OPT_TYPE_VIDEO_RATE
Underlying C type is AVRational.
#define FILTER_INPUTS(array)
@ AV_OPT_TYPE_DURATION
Underlying C type is int64_t.
static const AVFilterPad vf_coreimage_outputs[]
@ AV_OPT_TYPE_RATIONAL
Underlying C type is AVRational.
static int filter_frame(AVFilterLink *link, AVFrame *frame)
Apply all valid filters successively to the input image.
static const AVFilterPad vsrc_coreimagesrc_outputs[]
static int request_frame(AVFilterLink *link)
static av_cold int init(AVFilterContext *fctx)
static int config_output(AVFilterLink *link)
#define FILTER_OUTPUTS(array)
static int config_input(AVFilterLink *link)
Determine image properties from input link of filter chain.
@ AV_OPT_TYPE_IMAGE_SIZE
Underlying C type is two consecutive integers.
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
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
and forward the test the status of outputs and forward it to the corresponding return FFERROR_NOT_READY If the filters stores internally one or a few frame for some input
@ AV_PIX_FMT_ARGB
packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
static void list_filters(CoreImageContext *ctx)
Print a list of all available filters including options and respective value ranges and defaults.
static av_cold int init_src(AVFilterContext *fctx)
static av_cold void uninit(AVFilterContext *fctx)
@ AV_OPT_TYPE_BOOL
Underlying C type is int.
static const AVFilterPad vf_coreimage_inputs[]
#define GENERATOR_OPTIONS
@ 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...
#define FILTER_SINGLE_PIXFMT(pix_fmt_)