#include <caca.h>
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avdevice.h"
Go to the source code of this file.
Data Structures | |
struct | CACAContext |
Defines | |
#define | DEFINE_LIST_DITHER(thing, thing_str) |
#define | CHECK_DITHER_OPT(opt) |
#define | OFFSET(x) offsetof(CACAContext,x) |
#define | ENC AV_OPT_FLAG_ENCODING_PARAM |
Functions | |
static int | caca_write_trailer (AVFormatContext *s) |
static void | list_drivers (CACAContext *c) |
DEFINE_LIST_DITHER (color,"colors") | |
DEFINE_LIST_DITHER (charset,"charsets") | |
DEFINE_LIST_DITHER (algorithm,"algorithms") | |
DEFINE_LIST_DITHER (antialias,"antialias") | |
static int | caca_write_header (AVFormatContext *s) |
static int | caca_write_packet (AVFormatContext *s, AVPacket *pkt) |
Variables | |
static const AVOption | options [] |
static const AVClass | caca_class |
AVOutputFormat | ff_caca_muxer |
#define CHECK_DITHER_OPT | ( | opt | ) |
Value:
if (caca_set_dither_##opt(c->dither, c->opt) < 0) { \ ret = AVERROR(errno); \ av_log(s, AV_LOG_ERROR, "Failed to set value '%s' for option '%s'\n", \ c->opt, #opt); \ goto fail; \ }
Referenced by caca_write_header().
#define DEFINE_LIST_DITHER | ( | thing, | |||
thing_str | ) |
Value:
static void list_dither_## thing(CACAContext *c) \ { \ const char *const *thing = caca_get_dither_## thing ##_list(c->dither); \ int i; \ \ av_log(c->ctx, AV_LOG_INFO, "Available %s:\n", thing_str); \ for (i = 0; thing[i]; i += 2) \ av_log(c->ctx, AV_LOG_INFO, "%s : %s\n", thing[i], thing[i + 1]); \ }
#define OFFSET | ( | x | ) | offsetof(CACAContext,x) |
static int caca_write_header | ( | AVFormatContext * | s | ) | [static] |
static int caca_write_packet | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) | [static] |
static int caca_write_trailer | ( | AVFormatContext * | s | ) | [static] |
DEFINE_LIST_DITHER | ( | antialias | , | |
"antialias" | ||||
) |
DEFINE_LIST_DITHER | ( | algorithm | , | |
"algorithms" | ||||
) |
DEFINE_LIST_DITHER | ( | charset | , | |
"charsets" | ||||
) |
DEFINE_LIST_DITHER | ( | color | , | |
"colors" | ||||
) |
static void list_drivers | ( | CACAContext * | c | ) | [static] |
const AVClass caca_class [static] |
Initial value:
{ .class_name = "caca_outdev", .item_name = av_default_item_name, .option = options, .version = LIBAVUTIL_VERSION_INT, }
Initial value:
{ .name = "caca", .long_name = NULL_IF_CONFIG_SMALL("caca (color ASCII art) output device"), .priv_data_size = sizeof(CACAContext), .audio_codec = AV_CODEC_ID_NONE, .video_codec = AV_CODEC_ID_RAWVIDEO, .write_header = caca_write_header, .write_packet = caca_write_packet, .write_trailer = caca_write_trailer, .flags = AVFMT_NOFILE, .priv_class = &caca_class, }
Initial value:
{ { "window_size", "set window forced size", OFFSET(window_width), AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL }, 0, 0, ENC}, { "window_title", "set window title", OFFSET(window_title), AV_OPT_TYPE_STRING, {.str = NULL }, 0, 0, ENC }, { "driver", "set display driver", OFFSET(driver), AV_OPT_TYPE_STRING, {.str = NULL }, 0, 0, ENC }, { "algorithm", "set dithering algorithm", OFFSET(algorithm), AV_OPT_TYPE_STRING, {.str = "default" }, 0, 0, ENC }, { "antialias", "set antialias method", OFFSET(antialias), AV_OPT_TYPE_STRING, {.str = "default" }, 0, 0, ENC }, { "charset", "set charset used to render output", OFFSET(charset), AV_OPT_TYPE_STRING, {.str = "default" }, 0, 0, ENC }, { "color", "set color used to render output", OFFSET(color), AV_OPT_TYPE_STRING, {.str = "default" }, 0, 0, ENC }, { "list_drivers", "list available drivers", OFFSET(list_drivers), AV_OPT_TYPE_INT, {.i64=0}, 0, 1, ENC, "list_drivers" }, { "true", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = 1}, 0, 0, ENC, "list_drivers" }, { "false", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = 0}, 0, 0, ENC, "list_drivers" }, { "list_dither", "list available dither options", OFFSET(list_dither), AV_OPT_TYPE_STRING, {.dbl=0}, 0, 1, ENC, "list_dither" }, { "algorithms", NULL, 0, AV_OPT_TYPE_CONST, {.str = "algorithms"}, 0, 0, ENC, "list_dither" }, { "antialiases", NULL, 0, AV_OPT_TYPE_CONST, {.str = "antialiases"},0, 0, ENC, "list_dither" }, { "charsets", NULL, 0, AV_OPT_TYPE_CONST, {.str = "charsets"}, 0, 0, ENC, "list_dither" }, { "colors", NULL, 0, AV_OPT_TYPE_CONST, {.str = "colors"}, 0, 0, ENC, "list_dither" }, { NULL }, }