46 unsigned char *
buf,
int bufsize,
50 int i,
len, total_len = 0;
54 const char *ass = sub->
rects[i]->
ass;
64 if (!strncmp(ass,
"Dialogue: ", 10)) {
67 "ASS rectangle field.\n");
75 layer = strtol(ass, &p, 10);
77 #define SKIP_ENTRY(ptr) do { \
78 char *sep = strchr(ptr, ','); \
86 snprintf(ass_line,
sizeof(ass_line),
"%d,%ld,%s", ++s->
id, layer, p);
87 ass_line[strcspn(ass_line,
"\r\n")] = 0;
92 len =
av_strlcpy(buf+total_len, ass, bufsize-total_len);
94 if (len > bufsize-total_len-1) {
105 #if CONFIG_SSA_ENCODER
117 #if CONFIG_ASS_ENCODER
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
Memory handling functions.
static int ass_encode_frame(AVCodecContext *avctx, unsigned char *buf, int bufsize, const AVSubtitle *sub)
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
static av_cold int ass_encode_init(AVCodecContext *avctx)
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
const char * name
Name of the codec implementation.
size_t av_strlcpy(char *dst, const char *src, size_t size)
Copy the string src to dst, but no more than size - 1 bytes, and null-terminate dst.
common internal API header
Libavcodec external API header.
main external API structure.
Formatted text, the ass field must be set by the decoder and is authoritative.
char * ass
0 terminated ASS/SSA compatible event line.
int id
current event id, ReadOrder field
uint8_t * subtitle_header
Header containing style information for text subtitles.