#include "libavutil/file.h"
#include "libavutil/lfg.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "libavutil/random_seed.h"
#include "avfilter.h"
#include "internal.h"
#include "formats.h"
#include "video.h"
Go to the source code of this file.
Data Structures | |
| struct | CellAutoContext |
Defines | |
| #define | OFFSET(x) offsetof(CellAutoContext, x) |
| #define | FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
Functions | |
| AVFILTER_DEFINE_CLASS (cellauto) | |
| static int | init_pattern_from_string (AVFilterContext *ctx) |
| static int | init_pattern_from_file (AVFilterContext *ctx) |
| static int | init (AVFilterContext *ctx, const char *args) |
| static av_cold void | uninit (AVFilterContext *ctx) |
| static int | config_props (AVFilterLink *outlink) |
| static void | evolve (AVFilterContext *ctx) |
| static void | fill_picture (AVFilterContext *ctx, AVFilterBufferRef *picref) |
| static int | request_frame (AVFilterLink *outlink) |
| static int | query_formats (AVFilterContext *ctx) |
Variables | |
| static const AVOption | cellauto_options [] |
| AVFilter | avfilter_vsrc_cellauto |
Definition in file vsrc_cellauto.c.
| #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
Definition at line 60 of file vsrc_cellauto.c.
| #define OFFSET | ( | x | ) | offsetof(CellAutoContext, x) |
Definition at line 59 of file vsrc_cellauto.c.
| AVFILTER_DEFINE_CLASS | ( | cellauto | ) |
| static int config_props | ( | AVFilterLink * | outlink | ) | [static] |
Definition at line 232 of file vsrc_cellauto.c.
| static void evolve | ( | AVFilterContext * | ctx | ) | [static] |
| static void fill_picture | ( | AVFilterContext * | ctx, | |
| AVFilterBufferRef * | picref | |||
| ) | [static] |
| static int init | ( | AVFilterContext * | ctx, | |
| const char * | args | |||
| ) | [static] |
Definition at line 162 of file vsrc_cellauto.c.
| static int init_pattern_from_file | ( | AVFilterContext * | ctx | ) | [static] |
| static int init_pattern_from_string | ( | AVFilterContext * | ctx | ) | [static] |
| static int query_formats | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 331 of file vsrc_cellauto.c.
| static int request_frame | ( | AVFilterLink * | outlink | ) | [static] |
Definition at line 302 of file vsrc_cellauto.c.
| static av_cold void uninit | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 223 of file vsrc_cellauto.c.
Initial value:
{
.name = "cellauto",
.description = NULL_IF_CONFIG_SMALL("Create pattern generated by an elementary cellular automaton."),
.priv_size = sizeof(CellAutoContext),
.init = init,
.uninit = uninit,
.query_formats = query_formats,
.inputs = (const AVFilterPad[]) {
{ .name = NULL}
},
.outputs = (const AVFilterPad[]) {
{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.request_frame = request_frame,
.config_props = config_props },
{ .name = NULL}
},
.priv_class = &cellauto_class,
}
Definition at line 338 of file vsrc_cellauto.c.
const AVOption cellauto_options[] [static] |
Initial value:
{
{ "filename", "read initial pattern from file", OFFSET(filename), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, FLAGS },
{ "f", "read initial pattern from file", OFFSET(filename), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, FLAGS },
{ "pattern", "set initial pattern", OFFSET(pattern), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, FLAGS },
{ "p", "set initial pattern", OFFSET(pattern), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, FLAGS },
{ "rate", "set video rate", OFFSET(rate), AV_OPT_TYPE_STRING, {.str = "25"}, 0, 0, FLAGS },
{ "r", "set video rate", OFFSET(rate), AV_OPT_TYPE_STRING, {.str = "25"}, 0, 0, FLAGS },
{ "size", "set video size", OFFSET(w), AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL}, 0, 0, FLAGS },
{ "s", "set video size", OFFSET(w), AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL}, 0, 0, FLAGS },
{ "rule", "set rule", OFFSET(rule), AV_OPT_TYPE_INT, {.i64 = 110}, 0, 255, FLAGS },
{ "random_fill_ratio", "set fill ratio for filling initial grid randomly", OFFSET(random_fill_ratio), AV_OPT_TYPE_DOUBLE, {.dbl = 1/M_PHI}, 0, 1, FLAGS },
{ "ratio", "set fill ratio for filling initial grid randomly", OFFSET(random_fill_ratio), AV_OPT_TYPE_DOUBLE, {.dbl = 1/M_PHI}, 0, 1, FLAGS },
{ "random_seed", "set the seed for filling the initial grid randomly", OFFSET(random_seed), AV_OPT_TYPE_INT, {.i64 = -1}, -1, UINT32_MAX, FLAGS },
{ "seed", "set the seed for filling the initial grid randomly", OFFSET(random_seed), AV_OPT_TYPE_INT, {.i64 = -1}, -1, UINT32_MAX, FLAGS },
{ "scroll", "scroll pattern downward", OFFSET(scroll), AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, FLAGS },
{ "start_full", "start filling the whole video", OFFSET(start_full), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, FLAGS },
{ "full", "start filling the whole video", OFFSET(start_full), AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, FLAGS },
{ "stitch", "stitch boundaries", OFFSET(stitch), AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, FLAGS },
{ NULL },
}
Definition at line 62 of file vsrc_cellauto.c.
1.5.8