FFmpeg
Data Structures | Macros | Functions | Variables
vf_subtitles.c File Reference
#include <ass/ass.h>
#include "config_components.h"
#include "libavutil/avstring.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "filters.h"
#include "drawutils.h"
#include "avfilter.h"
#include "formats.h"
#include "video.h"

Go to the source code of this file.

Data Structures

struct  AssContext
 

Macros

#define FF_ASS_FEATURE_WRAP_UNICODE   (LIBASS_VERSION >= 0x01600010)
 
#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 enum AVColorSpace ass_get_color_space (ASS_YCbCrMatrix ass_matrix, enum AVColorSpace inlink_space)
 
static enum AVColorRange ass_get_color_range (ASS_YCbCrMatrix ass_matrix, enum AVColorRange inlink_range)
 
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 (const AVFilterContext *ctx, AVFilterFormatsConfig **cfg_in, AVFilterFormatsConfig **cfg_out)
 
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 []
 

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

◆ FF_ASS_FEATURE_WRAP_UNICODE

#define FF_ASS_FEATURE_WRAP_UNICODE   (LIBASS_VERSION >= 0x01600010)

Definition at line 48 of file vf_subtitles.c.

◆ OFFSET

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

Definition at line 69 of file vf_subtitles.c.

◆ FLAGS

Definition at line 70 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}, 0, 0, FLAGS }, \
{"f", "set the filename of file to read", OFFSET(filename), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, FLAGS }, \
{"original_size", "set the size of the original video (used to scale fonts)", OFFSET(original_w), AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL}, 0, 0, FLAGS }, \
{"fontsdir", "set the directory containing the fonts to read", OFFSET(fontsdir), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, FLAGS }, \
{"alpha", "enable processing of alpha channel", OFFSET(alpha), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, FLAGS }, \

Definition at line 72 of file vf_subtitles.c.

◆ AR

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

Definition at line 207 of file vf_subtitles.c.

◆ AG

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

Definition at line 208 of file vf_subtitles.c.

◆ AB

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

Definition at line 209 of file vf_subtitles.c.

◆ AA

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

Definition at line 210 of file vf_subtitles.c.

Function Documentation

◆ ass_get_color_space()

static enum AVColorSpace ass_get_color_space ( ASS_YCbCrMatrix  ass_matrix,
enum AVColorSpace  inlink_space 
)
static

Definition at line 91 of file vf_subtitles.c.

Referenced by config_input().

◆ ass_get_color_range()

static enum AVColorRange ass_get_color_range ( ASS_YCbCrMatrix  ass_matrix,
enum AVColorRange  inlink_range 
)
static

Definition at line 108 of file vf_subtitles.c.

Referenced by config_input().

◆ ass_log()

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

Definition at line 125 of file vf_subtitles.c.

Referenced by init().

◆ init()

static av_cold int init ( AVFilterContext ctx)
static

Definition at line 135 of file vf_subtitles.c.

◆ uninit()

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 163 of file vf_subtitles.c.

◆ query_formats()

static int query_formats ( const AVFilterContext ctx,
AVFilterFormatsConfig **  cfg_in,
AVFilterFormatsConfig **  cfg_out 
)
static

Definition at line 175 of file vf_subtitles.c.

◆ config_input()

static int config_input ( AVFilterLink inlink)
static

Definition at line 183 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 212 of file vf_subtitles.c.

Referenced by filter_frame().

◆ filter_frame()

static int filter_frame ( AVFilterLink inlink,
AVFrame picref 
)
static

Definition at line 227 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,
}

Definition at line 80 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,
},
}

Definition at line 245 of file vf_subtitles.c.

AV_LOG_WARNING
#define AV_LOG_WARNING
Something somehow does not look correct.
Definition: log.h:215
config_input
static int config_input(AVFilterLink *inlink)
Definition: vf_subtitles.c:183
AV_LOG_VERBOSE
#define AV_LOG_VERBOSE
Detailed information.
Definition: log.h:225
AV_LOG_ERROR
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition: log.h:209
AV_LOG_DEBUG
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers.
Definition: log.h:230
NULL
#define NULL
Definition: coverity.c:32
AV_OPT_TYPE_IMAGE_SIZE
@ AV_OPT_TYPE_IMAGE_SIZE
Underlying C type is two consecutive integers.
Definition: opt.h:303
AVFILTERPAD_FLAG_NEEDS_WRITABLE
#define AVFILTERPAD_FLAG_NEEDS_WRITABLE
The filter expects writable frames from its input link, duplicating data buffers if needed.
Definition: filters.h:57
AV_LOG_INFO
#define AV_LOG_INFO
Standard information.
Definition: log.h:220
AV_LOG_FATAL
#define AV_LOG_FATAL
Something went wrong and recovery is not possible.
Definition: log.h:203
AVMEDIA_TYPE_VIDEO
@ AVMEDIA_TYPE_VIDEO
Definition: avutil.h:201
alpha
static const int16_t alpha[]
Definition: ilbcdata.h:55
AV_OPT_TYPE_BOOL
@ AV_OPT_TYPE_BOOL
Underlying C type is int.
Definition: opt.h:327
filter_frame
static int filter_frame(AVFilterLink *inlink, AVFrame *picref)
Definition: vf_subtitles.c:227
AV_OPT_TYPE_STRING
@ 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...
Definition: opt.h:276
FLAGS
#define FLAGS
Definition: vf_subtitles.c:70
OFFSET
#define OFFSET(x)
Definition: vf_subtitles.c:69