Go to the documentation of this file.
37 {
"<i>",
"{\\i1}"}, {
"</i>",
"{\\i0}"},
38 {
"<b>",
"{\\b1}"}, {
"</b>",
"{\\b0}"},
39 {
"<u>",
"{\\u1}"}, {
"</u>",
"{\\u0}"},
40 {
"{",
"\\{"}, {
"}",
"\\}"},
41 {
">",
">"}, {
"<",
"<"},
42 {
"‎",
""}, {
"‏",
""},
43 {
"&",
"&"}, {
" ",
"\\h"},
48 int i,
again = 0, skip = 0;
54 const size_t len = strlen(
from);
74 else if (p[0] ==
'\n' && p[1])
76 else if (!skip && *p !=
'\r')
84 int *got_sub_ptr,
const AVPacket *avpkt)
87 const char *ptr = avpkt->
data;
97 *got_sub_ptr =
sub->num_rects > 0;
#define AV_BPRINT_SIZE_UNLIMITED
int ff_ass_subtitle_header_default(AVCodecContext *avctx)
Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS with default style.
int av_bprint_finalize(AVBPrint *buf, char **ret_str)
Finalize a print buffer.
void av_bprint_init(AVBPrint *buf, unsigned size_init, unsigned size_max)
static int webvtt_event_to_ass(AVBPrint *buf, const char *p)
static float sub(float src0, float src1)
const FFCodec ff_webvtt_decoder
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.
static int webvtt_decode_frame(AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, const AVPacket *avpkt)
AVCodec p
The public AVCodec.
#define FF_ARRAY_ELEMS(a)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
static const struct @190 webvtt_tag_replace[]
void ff_ass_decoder_flush(AVCodecContext *avctx)
Helper to flush a text subtitles decoder making use of the FFASSDecoderContext.
#define i(width, name, range_min, range_max)
#define FF_CODEC_CAP_INIT_THREADSAFE
The codec does not modify any global variables in the init function, allowing to call the init functi...
const char * name
Name of the codec implementation.
void av_bprintf(AVBPrint *buf, const char *fmt,...)
main external API structure.
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining again
#define FF_CODEC_DECODE_SUB_CB(func)
This structure stores compressed data.
void av_bprint_chars(AVBPrint *buf, char c, unsigned n)
Append char c n times to a print buffer.