libavcodec/srtenc.c File Reference
#include <stdarg.h>
#include "avcodec.h"
#include "libavutil/avstring.h"
#include "ass_split.h"
#include "ass.h"
Include dependency graph for libavcodec/srtenc.c:

Go to the source code of this file.

Data Structures

struct  SRTContext
 

Macros

#define SRT_STACK_SIZE   64
 

Functions

static void srt_print (SRTContext *s, const char *str,...)
 
static int srt_stack_push (SRTContext *s, const char c)
 
static char srt_stack_pop (SRTContext *s)
 
static int srt_stack_find (SRTContext *s, const char c)
 
static void srt_close_tag (SRTContext *s, char tag)
 
static void srt_stack_push_pop (SRTContext *s, const char c, int close)
 
static void srt_style_apply (SRTContext *s, const char *style)
 
static av_cold int srt_encode_init (AVCodecContext *avctx)
 
static void srt_text_cb (void *priv, const char *text, int len)
 
static void srt_new_line_cb (void *priv, int forced)
 
static void srt_style_cb (void *priv, char style, int close)
 
static void srt_color_cb (void *priv, unsigned int color, unsigned int color_id)
 
static void srt_font_name_cb (void *priv, const char *name)
 
static void srt_font_size_cb (void *priv, int size)
 
static void srt_alignment_cb (void *priv, int alignment)
 
static void srt_cancel_overrides_cb (void *priv, const char *style)
 
static void srt_move_cb (void *priv, int x1, int y1, int x2, int y2, int t1, int t2)
 
static void srt_end_cb (void *priv)
 
static int srt_encode_frame (AVCodecContext *avctx, unsigned char *buf, int bufsize, const AVSubtitle *sub)
 
static int srt_encode_close (AVCodecContext *avctx)
 

Variables

static const ASSCodesCallbacks srt_callbacks
 

Macro Definition Documentation

#define SRT_STACK_SIZE   64

Definition at line 29 of file libavcodec/srtenc.c.

Referenced by srt_stack_push().

Function Documentation

static void srt_alignment_cb ( void priv,
int  alignment 
)
static

Definition at line 187 of file libavcodec/srtenc.c.

static void srt_cancel_overrides_cb ( void priv,
const char *  style 
)
static

Definition at line 196 of file libavcodec/srtenc.c.

static void srt_close_tag ( SRTContext s,
char  tag 
)
static

Definition at line 80 of file libavcodec/srtenc.c.

Referenced by srt_stack_push_pop().

static void srt_color_cb ( void priv,
unsigned int  color,
unsigned int  color_id 
)
static

Definition at line 163 of file libavcodec/srtenc.c.

static int srt_encode_close ( AVCodecContext avctx)
static

Definition at line 292 of file libavcodec/srtenc.c.

static int srt_encode_frame ( AVCodecContext avctx,
unsigned char *  buf,
int  bufsize,
const AVSubtitle sub 
)
static

Definition at line 241 of file libavcodec/srtenc.c.

Referenced by srt_encode_close().

static av_cold int srt_encode_init ( AVCodecContext avctx)
static

Definition at line 136 of file libavcodec/srtenc.c.

Referenced by srt_encode_close().

static void srt_end_cb ( void priv)
static

Definition at line 219 of file libavcodec/srtenc.c.

static void srt_font_name_cb ( void priv,
const char *  name 
)
static

Definition at line 173 of file libavcodec/srtenc.c.

static void srt_font_size_cb ( void priv,
int  size 
)
static

Definition at line 180 of file libavcodec/srtenc.c.

static void srt_move_cb ( void priv,
int  x1,
int  y1,
int  x2,
int  y2,
int  t1,
int  t2 
)
static

Definition at line 202 of file libavcodec/srtenc.c.

static void srt_new_line_cb ( void priv,
int  forced 
)
static

Definition at line 151 of file libavcodec/srtenc.c.

static void srt_print ( SRTContext s,
const char *  str,
  ... 
)
static
static int srt_stack_find ( SRTContext s,
const char  c 
)
static

Definition at line 71 of file libavcodec/srtenc.c.

Referenced by srt_stack_push_pop().

static char srt_stack_pop ( SRTContext s)
static

Definition at line 64 of file libavcodec/srtenc.c.

Referenced by srt_stack_push_pop().

static int srt_stack_push ( SRTContext s,
const char  c 
)
static

Definition at line 56 of file libavcodec/srtenc.c.

Referenced by srt_stack_push_pop(), and srt_style_apply().

static void srt_stack_push_pop ( SRTContext s,
const char  c,
int  close 
)
static
static void srt_style_apply ( SRTContext s,
const char *  style 
)
static

Definition at line 97 of file libavcodec/srtenc.c.

Referenced by srt_cancel_overrides_cb(), and srt_encode_frame().

static void srt_style_cb ( void priv,
char  style,
int  close 
)
static

Definition at line 156 of file libavcodec/srtenc.c.

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

Definition at line 144 of file libavcodec/srtenc.c.

Variable Documentation

const ASSCodesCallbacks srt_callbacks
static
Initial value:
= {
.text = srt_text_cb,
.new_line = srt_new_line_cb,
.style = srt_style_cb,
.color = srt_color_cb,
.font_name = srt_font_name_cb,
.font_size = srt_font_size_cb,
.alignment = srt_alignment_cb,
.cancel_overrides = srt_cancel_overrides_cb,
.move = srt_move_cb,
.end = srt_end_cb,
}
static void srt_font_size_cb(void *priv, int size)
static void srt_color_cb(void *priv, unsigned int color, unsigned int color_id)
static void srt_move_cb(void *priv, int x1, int y1, int x2, int y2, int t1, int t2)
static void srt_cancel_overrides_cb(void *priv, const char *style)
static void srt_style_cb(void *priv, char style, int close)
static void srt_font_name_cb(void *priv, const char *name)
static void srt_new_line_cb(void *priv, int forced)
static void srt_alignment_cb(void *priv, int alignment)
static void srt_text_cb(void *priv, const char *text, int len)
static void srt_end_cb(void *priv)

Definition at line 228 of file libavcodec/srtenc.c.