FFmpeg
Loading...
Searching...
No Matches
ttmlenc.c File Reference

TTML subtitle encoder. More...

#include "avcodec.h"
#include "codec_internal.h"
#include "libavutil/bprint.h"
#include "libavutil/internal.h"
#include "libavutil/mem.h"
#include "ass_split.h"
#include "ttmlenc.h"

Go to the source code of this file.

Data Structures

struct  TTMLContext
 

Functions

static void ttml_text_cb (void *priv, const char *text, int len)
 
static void ttml_new_line_cb (void *priv, int forced)
 
static int ttml_encode_frame (AVCodecContext *avctx, uint8_t *buf, int bufsize, const AVSubtitle *sub)
 
static av_cold int ttml_encode_close (AVCodecContext *avctx)
 
static const char * ttml_get_display_alignment (int alignment)
 
static const char * ttml_get_text_alignment (int alignment)
 
static void ttml_get_origin (ASSScriptInfo script_info, ASSStyle style, int *origin_left, int *origin_top)
 
static void ttml_get_extent (ASSScriptInfo script_info, ASSStyle style, int *width, int *height)
 
static int ttml_write_region (AVCodecContext *avctx, AVBPrint *buf, ASSScriptInfo script_info, ASSStyle style)
 
static int ttml_write_header_content (AVCodecContext *avctx)
 
static av_cold int ttml_encode_init (AVCodecContext *avctx)
 

Variables

static const ASSCodesCallbacks ttml_callbacks
 
const FFCodec ff_ttml_encoder
 

Detailed Description

Function Documentation

◆ ttml_text_cb()

static void ttml_text_cb ( void * priv,
const char * text,
int len )
static

Definition at line 44 of file ttmlenc.c.

◆ ttml_new_line_cb()

static void ttml_new_line_cb ( void * priv,
int forced )
static

Definition at line 67 of file ttmlenc.c.

◆ ttml_encode_frame()

static int ttml_encode_frame ( AVCodecContext * avctx,
uint8_t * buf,
int bufsize,
const AVSubtitle * sub )
static

Definition at line 79 of file ttmlenc.c.

◆ ttml_encode_close()

static av_cold int ttml_encode_close ( AVCodecContext * avctx)
static

Definition at line 141 of file ttmlenc.c.

◆ ttml_get_display_alignment()

static const char * ttml_get_display_alignment ( int alignment)
static

Definition at line 150 of file ttmlenc.c.

Referenced by ttml_write_region().

◆ ttml_get_text_alignment()

static const char * ttml_get_text_alignment ( int alignment)
static

Definition at line 170 of file ttmlenc.c.

Referenced by ttml_write_region().

◆ ttml_get_origin()

static void ttml_get_origin ( ASSScriptInfo script_info,
ASSStyle style,
int * origin_left,
int * origin_top )
static

Definition at line 190 of file ttmlenc.c.

Referenced by ttml_write_region().

◆ ttml_get_extent()

static void ttml_get_extent ( ASSScriptInfo script_info,
ASSStyle style,
int * width,
int * height )
static

Definition at line 199 of file ttmlenc.c.

Referenced by ttml_write_region().

◆ ttml_write_region()

static int ttml_write_region ( AVCodecContext * avctx,
AVBPrint * buf,
ASSScriptInfo script_info,
ASSStyle style )
static

Definition at line 210 of file ttmlenc.c.

Referenced by ttml_write_header_content().

◆ ttml_write_header_content()

static int ttml_write_header_content ( AVCodecContext * avctx)
static

Definition at line 293 of file ttmlenc.c.

Referenced by ttml_encode_init().

◆ ttml_encode_init()

static av_cold int ttml_encode_init ( AVCodecContext * avctx)
static

Definition at line 365 of file ttmlenc.c.

Variable Documentation

◆ ttml_callbacks

const ASSCodesCallbacks ttml_callbacks
static
Initial value:
= {
.text = ttml_text_cb,
.new_line = ttml_new_line_cb,
}
static void ttml_text_cb(void *priv, const char *text, int len)
Definition ttmlenc.c:44
static void ttml_new_line_cb(void *priv, int forced)
Definition ttmlenc.c:67

Definition at line 74 of file ttmlenc.c.

Referenced by ttml_encode_frame().

◆ ff_ttml_encoder

const FFCodec ff_ttml_encoder
Initial value:
= {
.p.name = "ttml",
CODEC_LONG_NAME("TTML subtitle"),
.priv_data_size = sizeof(TTMLContext),
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
}
#define FF_CODEC_ENCODE_SUB_CB(func)
#define CODEC_LONG_NAME(str)
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
int(* init)(AVBSFContext *ctx)
Definition dts2pts.c:608
@ AV_CODEC_ID_TTML
Definition codec_id.h:590
@ AVMEDIA_TYPE_SUBTITLE
Definition avutil.h:203
static int ttml_encode_frame(AVCodecContext *avctx, uint8_t *buf, int bufsize, const AVSubtitle *sub)
Definition ttmlenc.c:79
static av_cold int ttml_encode_close(AVCodecContext *avctx)
Definition ttmlenc.c:141
static av_cold int ttml_encode_init(AVCodecContext *avctx)
Definition ttmlenc.c:365

Definition at line 382 of file ttmlenc.c.