Go to the documentation of this file.
35 if (!strncmp(p,
"[br]", 4)) {
39 if (p[0] ==
'\n' && p[1])
41 else if (*p !=
'\n' && *p !=
'\r')
51 int *got_sub_ptr,
const AVPacket *avpkt)
54 const char *ptr = avpkt->
data;
69 .
p.
name =
"subviewer",
#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.
void av_bprint_init(AVBPrint *buf, unsigned size_init, unsigned size_max)
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.
AVCodec p
The public AVCodec.
#define CODEC_LONG_NAME(str)
int av_bprint_finalize(AVBPrint *buf, char **ret_str)
Finalize a print buffer.
void ff_ass_decoder_flush(AVCodecContext *avctx)
Helper to flush a text subtitles decoder making use of the FFASSDecoderContext.
const char * name
Name of the codec implementation.
void av_bprintf(AVBPrint *buf, const char *fmt,...)
main external API structure.
#define FF_CODEC_DECODE_SUB_CB(func)
static int subviewer_decode_frame(AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, const AVPacket *avpkt)
This structure stores compressed data.
const FFCodec ff_subviewer_decoder
void av_bprint_chars(AVBPrint *buf, char c, unsigned n)
Append char c n times to a print buffer.
static int subviewer_event_to_ass(AVBPrint *buf, const char *p)