48 int prev_chr_is_space = 0;
75 if (!strncmp(p,
" ", 6)) {
88 while (*p && *p !=
'>')
98 else if (!prev_chr_is_space)
119 const char *ptr = avpkt->
data;
124 int ts_duration = avpkt->
duration != -1 ?
130 *got_sub_ptr = sub->num_rects > 0;
void av_bprintf(AVBPrint *buf, const char *fmt,...)
static int sami_decode_frame(AVCodecContext *avctx, void *data, int *got_sub_ptr, AVPacket *avpkt)
ptrdiff_t const GLvoid * data
char * av_stristr(const char *s1, const char *s2)
Locate the first case-independent occurrence in the string haystack of the string needle...
static av_cold int init(AVCodecContext *avctx)
int av_strncasecmp(const char *a, const char *b, size_t n)
Locale-independent case-insensitive compare.
int av_bprint_finalize(AVBPrint *buf, char **ret_str)
Finalize a print buffer.
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented...
static av_cold int sami_init(AVCodecContext *avctx)
int av_isspace(int c)
Locale-independent conversion of ASCII isspace.
static av_cold int end(AVCodecContext *avctx)
int ff_ass_subtitle_header_default(AVCodecContext *avctx)
Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS with default style.
static av_cold int sami_close(AVCodecContext *avctx)
int duration
Duration of this packet in AVStream->time_base units, 0 if unknown.
int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq)
Rescale a 64-bit integer by 2 rational numbers.
#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.
char * av_strdup(const char *s)
Duplicate the string s.
int ff_ass_add_rect_bprint(AVSubtitle *sub, AVBPrint *buf, int ts_start, int duration)
Same as ff_ass_add_rect_bprint, but taking an AVBPrint buffer instead of a string, and assuming raw=0.
main external API structure.
rational number numerator/denominator
void av_bprint_clear(AVBPrint *buf)
Reset the string to "" but keep internal allocated data.
char * av_strtok(char *s, const char *delim, char **saveptr)
Split the string into several tokens which can be accessed by successive calls to av_strtok()...
static int decode(AVCodecContext *avctx, void *data, int *got_sub, AVPacket *avpkt)
static int sami_paragraph_to_ass(AVCodecContext *avctx, const char *src)
This structure stores compressed data.
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...
void av_bprint_chars(AVBPrint *buf, char c, unsigned n)
Append char c n times to a print buffer.