36 {
"<i>",
"{\\i1}"}, {
"</i>",
"{\\i0}"},
37 {
"<b>",
"{\\b1}"}, {
"</b>",
"{\\b0}"},
38 {
"<u>",
"{\\u1}"}, {
"</u>",
"{\\u0}"},
39 {
"{",
"\\{"}, {
"}",
"\\}"},
40 {
">",
">"}, {
"<",
"<"},
41 {
"‎",
""}, {
"‏",
""},
42 {
"&",
"&"}, {
" ",
"\\h"},
47 int i, again = 0, skip = 0;
53 const size_t len = strlen(from);
54 if (!strncmp(p, from, len)) {
73 else if (p[0] ==
'\n' && p[1])
75 else if (!skip && *p !=
'\r')
87 const char *ptr = avpkt->
data;
void av_bprintf(AVBPrint *buf, const char *fmt,...)
ptrdiff_t const GLvoid * data
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.
int av_bprint_finalize(AVBPrint *buf, char **ret_str)
Finalize a print buffer.
int ff_ass_subtitle_header_default(AVCodecContext *avctx)
Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS with default style.
#define AV_BPRINT_SIZE_UNLIMITED
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
void av_bprint_init(AVBPrint *buf, unsigned size_init, unsigned size_max)
const char * name
Name of the codec implementation.
static const struct @138 webvtt_tag_replace[]
static int webvtt_event_to_ass(AVBPrint *buf, const char *p)
#define FF_ARRAY_ELEMS(a)
Libavcodec external API header.
main external API structure.
void ff_ass_decoder_flush(AVCodecContext *avctx)
Helper to flush a text subtitles decoder making use of the FFASSDecoderContext.
static int webvtt_decode_frame(AVCodecContext *avctx, void *data, int *got_sub_ptr, AVPacket *avpkt)
AVCodec ff_webvtt_decoder
This structure stores compressed data.
void av_bprint_chars(AVBPrint *buf, char c, unsigned n)
Append char c n times to a print buffer.