FFmpeg  4.0
Data Structures | Macros | Functions | Variables
vf_subtitles.c File Reference

Libass subtitles burning filter. More...

#include <ass/ass.h>
#include "config.h"
#include "libavutil/avstring.h"
#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "drawutils.h"
#include "avfilter.h"
#include "internal.h"
#include "formats.h"
#include "video.h"

Go to the source code of this file.

Data Structures

struct  AssContext
 

Macros

#define OFFSET(x)   offsetof(AssContext, x)
 
#define FLAGS   AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
 
#define COMMON_OPTIONS
 
#define AR(c)   ( (c)>>24)
 
#define AG(c)   (((c)>>16)&0xFF)
 
#define AB(c)   (((c)>>8) &0xFF)
 
#define AA(c)   ((0xFF-(c)) &0xFF)
 

Functions

static void ass_log (int ass_level, const char *fmt, va_list args, void *ctx)
 
static av_cold int init (AVFilterContext *ctx)
 
static av_cold void uninit (AVFilterContext *ctx)
 
static int query_formats (AVFilterContext *ctx)
 
static int config_input (AVFilterLink *inlink)
 
static void overlay_ass_image (AssContext *ass, AVFrame *picref, const ASS_Image *image)
 
static int filter_frame (AVFilterLink *inlink, AVFrame *picref)
 

Variables

static const int ass_libavfilter_log_level_map []
 
static const AVFilterPad ass_inputs []
 
static const AVFilterPad ass_outputs []
 

Detailed Description

Libass subtitles burning filter.

See also
{http://www.matroska.org/technical/specs/subtitles/ssa.html}

Definition in file vf_subtitles.c.

Macro Definition Documentation

◆ OFFSET

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

Definition at line 65 of file vf_subtitles.c.

◆ FLAGS

Definition at line 66 of file vf_subtitles.c.

◆ COMMON_OPTIONS

#define COMMON_OPTIONS
Value:
{"filename", "set the filename of file to read", OFFSET(filename), AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN, CHAR_MAX, FLAGS }, \
{"f", "set the filename of file to read", OFFSET(filename), AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN, CHAR_MAX, FLAGS }, \
{"original_size", "set the size of the original video (used to scale fonts)", OFFSET(original_w), AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL}, CHAR_MIN, CHAR_MAX, FLAGS }, \
{"fontsdir", "set the directory containing the fonts to read", OFFSET(fontsdir), AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN, CHAR_MAX, FLAGS }, \
{"alpha", "enable processing of alpha channel", OFFSET(alpha), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, FLAGS }, \
#define NULL
Definition: coverity.c:32
static float alpha(float a)
offset must point to two consecutive integers
Definition: opt.h:233
#define OFFSET(x)
Definition: vf_subtitles.c:65
#define FLAGS
Definition: vf_subtitles.c:66

Definition at line 68 of file vf_subtitles.c.

◆ AR

#define AR (   c)    ( (c)>>24)

Definition at line 158 of file vf_subtitles.c.

Referenced by overlay_ass_image().

◆ AG

#define AG (   c)    (((c)>>16)&0xFF)

Definition at line 159 of file vf_subtitles.c.

Referenced by overlay_ass_image().

◆ AB

#define AB (   c)    (((c)>>8) &0xFF)

Definition at line 160 of file vf_subtitles.c.

Referenced by overlay_ass_image().

◆ AA

#define AA (   c)    ((0xFF-(c)) &0xFF)

Definition at line 161 of file vf_subtitles.c.

Referenced by overlay_ass_image().

Function Documentation

◆ ass_log()

static void ass_log ( int  ass_level,
const char *  fmt,
va_list  args,
void ctx 
)
static

Definition at line 87 of file vf_subtitles.c.

Referenced by init().

◆ init()

static av_cold int init ( AVFilterContext ctx)
static

Definition at line 97 of file vf_subtitles.c.

◆ uninit()

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 124 of file vf_subtitles.c.

◆ query_formats()

static int query_formats ( AVFilterContext ctx)
static

Definition at line 136 of file vf_subtitles.c.

◆ config_input()

static int config_input ( AVFilterLink inlink)
static

Definition at line 141 of file vf_subtitles.c.

◆ overlay_ass_image()

static void overlay_ass_image ( AssContext ass,
AVFrame picref,
const ASS_Image *  image 
)
static

Definition at line 163 of file vf_subtitles.c.

Referenced by filter_frame().

◆ filter_frame()

static int filter_frame ( AVFilterLink inlink,
AVFrame picref 
)
static

Definition at line 178 of file vf_subtitles.c.

Variable Documentation

◆ ass_libavfilter_log_level_map

const int ass_libavfilter_log_level_map[]
static
Initial value:
= {
[0] = AV_LOG_FATAL,
[1] = AV_LOG_ERROR,
[4] = AV_LOG_INFO,
[5] = AV_LOG_INFO,
[7] = AV_LOG_DEBUG,
}
#define AV_LOG_WARNING
Something somehow does not look correct.
Definition: log.h:182
#define AV_LOG_VERBOSE
Detailed information.
Definition: log.h:192
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition: log.h:176
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers.
Definition: log.h:197
#define AV_LOG_INFO
Standard information.
Definition: log.h:187
#define AV_LOG_FATAL
Something went wrong and recovery is not possible.
Definition: log.h:170

Definition at line 76 of file vf_subtitles.c.

Referenced by ass_log().

◆ ass_inputs

const AVFilterPad ass_inputs[]
static
Initial value:
= {
{
.name = "default",
.filter_frame = filter_frame,
.config_props = config_input,
.needs_writable = 1,
},
{ NULL }
}
#define NULL
Definition: coverity.c:32
static int config_input(AVFilterLink *inlink)
Definition: vf_subtitles.c:141
static int filter_frame(AVFilterLink *inlink, AVFrame *picref)
Definition: vf_subtitles.c:178

Definition at line 196 of file vf_subtitles.c.

◆ ass_outputs

const AVFilterPad ass_outputs[]
static
Initial value:
= {
{
.name = "default",
},
{ NULL }
}
#define NULL
Definition: coverity.c:32

Definition at line 207 of file vf_subtitles.c.