FFmpeg
Data Structures | Macros | Functions
ass.h File Reference
#include "avcodec.h"
#include "libavutil/bprint.h"

Go to the source code of this file.

Data Structures

struct  FFASSDecoderContext
 

Macros

#define ASS_DEFAULT_PLAYRESX   384
 
#define ASS_DEFAULT_PLAYRESY   288
 
Default values for ASS style
#define ASS_DEFAULT_FONT   "Arial"
 
#define ASS_DEFAULT_FONT_SIZE   16
 
#define ASS_DEFAULT_COLOR   0xffffff
 
#define ASS_DEFAULT_BACK_COLOR   0
 
#define ASS_DEFAULT_BOLD   0
 
#define ASS_DEFAULT_ITALIC   0
 
#define ASS_DEFAULT_UNDERLINE   0
 
#define ASS_DEFAULT_ALIGNMENT   2
 
#define ASS_DEFAULT_BORDERSTYLE   1
 

Functions

int ff_ass_subtitle_header_full (AVCodecContext *avctx, int play_res_x, int play_res_y, const char *font, int font_size, int primary_color, int secondary_color, int outline_color, int back_color, int bold, int italic, int underline, int border_style, int alignment)
 Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS. More...
 
int ff_ass_subtitle_header (AVCodecContext *avctx, const char *font, int font_size, int color, int back_color, int bold, int italic, int underline, int border_style, int alignment)
 Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS. More...
 
int ff_ass_subtitle_header_default (AVCodecContext *avctx)
 Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS with default style. More...
 
char * ff_ass_get_dialog (int readorder, int layer, const char *style, const char *speaker, const char *text)
 Craft an ASS dialog string. More...
 
int ff_ass_add_rect (AVSubtitle *sub, const char *dialog, int readorder, int layer, const char *style, const char *speaker)
 Add an ASS dialog to a subtitle. More...
 
int ff_ass_add_rect2 (AVSubtitle *sub, const char *dialog, int readorder, int layer, const char *style, const char *speaker, unsigned *nb_rect_allocated)
 Add an ASS dialog to a subtitle. More...
 
void ff_ass_decoder_flush (AVCodecContext *avctx)
 Helper to flush a text subtitles decoder making use of the FFASSDecoderContext. More...
 
void ff_ass_bprint_text_event (AVBPrint *buf, const char *p, int size, const char *linebreaks, int keep_ass_markup)
 Escape a text subtitle using ASS syntax into an AVBPrint buffer. More...
 

Macro Definition Documentation

◆ ASS_DEFAULT_PLAYRESX

#define ASS_DEFAULT_PLAYRESX   384

Definition at line 28 of file ass.h.

◆ ASS_DEFAULT_PLAYRESY

#define ASS_DEFAULT_PLAYRESY   288

Definition at line 29 of file ass.h.

◆ ASS_DEFAULT_FONT

#define ASS_DEFAULT_FONT   "Arial"

Definition at line 35 of file ass.h.

◆ ASS_DEFAULT_FONT_SIZE

#define ASS_DEFAULT_FONT_SIZE   16

Definition at line 36 of file ass.h.

◆ ASS_DEFAULT_COLOR

#define ASS_DEFAULT_COLOR   0xffffff

Definition at line 37 of file ass.h.

◆ ASS_DEFAULT_BACK_COLOR

#define ASS_DEFAULT_BACK_COLOR   0

Definition at line 38 of file ass.h.

◆ ASS_DEFAULT_BOLD

#define ASS_DEFAULT_BOLD   0

Definition at line 39 of file ass.h.

◆ ASS_DEFAULT_ITALIC

#define ASS_DEFAULT_ITALIC   0

Definition at line 40 of file ass.h.

◆ ASS_DEFAULT_UNDERLINE

#define ASS_DEFAULT_UNDERLINE   0

Definition at line 41 of file ass.h.

◆ ASS_DEFAULT_ALIGNMENT

#define ASS_DEFAULT_ALIGNMENT   2

Definition at line 42 of file ass.h.

◆ ASS_DEFAULT_BORDERSTYLE

#define ASS_DEFAULT_BORDERSTYLE   1

Definition at line 43 of file ass.h.

Function Documentation

◆ ff_ass_subtitle_header_full()

int ff_ass_subtitle_header_full ( AVCodecContext avctx,
int  play_res_x,
int  play_res_y,
const char *  font,
int  font_size,
int  primary_color,
int  secondary_color,
int  outline_color,
int  back_color,
int  bold,
int  italic,
int  underline,
int  border_style,
int  alignment 
)

Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS.

Can specify all fields explicitly

Parameters
avctxpointer to the AVCodecContext
play_res_xsubtitle frame width
play_res_ysubtitle frame height
fontname of the default font face to use
font_sizedefault font size to use
primary_colordefault text color to use (ABGR)
secondary_colordefault secondary text color to use (ABGR)
outline_colordefault outline color to use (ABGR)
back_colordefault background color to use (ABGR)
bold1 for bold text, 0 for normal text
italic1 for italic text, 0 for normal text
underline1 for underline text, 0 for normal text
border_style1 for outline, 3 for opaque box
alignmentposition of the text (left, center, top...), defined after the layout of the numpad (1-3 sub, 4-6 mid, 7-9 top)
Returns
>= 0 on success otherwise an error code <0

Definition at line 29 of file ass.c.

Referenced by ff_ass_subtitle_header(), and mov_text_init().

◆ ff_ass_subtitle_header()

int ff_ass_subtitle_header ( AVCodecContext avctx,
const char *  font,
int  font_size,
int  color,
int  back_color,
int  bold,
int  italic,
int  underline,
int  border_style,
int  alignment 
)

Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS.

Parameters
avctxpointer to the AVCodecContext
fontname of the default font face to use
font_sizedefault font size to use
colordefault text color to use (ABGR)
back_colordefault background color to use (ABGR)
bold1 for bold text, 0 for normal text
italic1 for italic text, 0 for normal text
underline1 for underline text, 0 for normal text
alignmentposition of the text (left, center, top...), defined after the layout of the numpad (1-3 sub, 4-6 mid, 7-9 top)
Returns
>= 0 on success otherwise an error code <0

Definition at line 84 of file ass.c.

Referenced by ff_ass_subtitle_header_default(), init_decoder(), and microdvd_init().

◆ ff_ass_subtitle_header_default()

int ff_ass_subtitle_header_default ( AVCodecContext avctx)

Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS with default style.

Parameters
avctxpointer to the AVCodecContext
Returns
>= 0 on success otherwise an error code <0

Definition at line 98 of file ass.c.

Referenced by mov_text_init(), my_ass_subtitle_header(), sami_init(), and teletext_init_decoder().

◆ ff_ass_get_dialog()

char* ff_ass_get_dialog ( int  readorder,
int  layer,
const char *  style,
const char *  speaker,
const char *  text 
)

Craft an ASS dialog string.

Definition at line 111 of file ass.c.

Referenced by create_ass_text(), ff_ass_add_rect2(), and gen_sub_ass().

◆ ff_ass_add_rect()

int ff_ass_add_rect ( AVSubtitle sub,
const char *  dialog,
int  readorder,
int  layer,
const char *  style,
const char *  speaker 
)

◆ ff_ass_add_rect2()

int ff_ass_add_rect2 ( AVSubtitle sub,
const char *  dialog,
int  readorder,
int  layer,
const char *  style,
const char *  speaker,
unsigned *  nb_rect_allocated 
)

Add an ASS dialog to a subtitle.

Definition at line 119 of file ass.c.

Referenced by decode(), and ff_ass_add_rect().

◆ ff_ass_decoder_flush()

void ff_ass_decoder_flush ( AVCodecContext avctx)

Helper to flush a text subtitles decoder making use of the FFASSDecoderContext.

Definition at line 166 of file ass.c.

◆ ff_ass_bprint_text_event()

void ff_ass_bprint_text_event ( AVBPrint *  buf,
const char *  p,
int  size,
const char *  linebreaks,
int  keep_ass_markup 
)

Escape a text subtitle using ASS syntax into an AVBPrint buffer.

Newline characters will be escaped to \N.

Parameters
bufpointer to an initialized AVBPrint buffer
psource text
sizesize of the source text
linebreaksadditional newline chars, which will be escaped to \N
keep_ass_markupbraces and backslash will not be escaped if set

Definition at line 173 of file ass.c.

Referenced by create_ass_text(), and text_decode_frame().