26 #define MAX_LINESIZE 2000
37 const char *header=
"[Script Info]";
39 if( !memcmp(p->
buf , header, strlen(header))
40 || !memcmp(p->
buf+3, header, strlen(header)))
58 int hour,
min, sec, hsec;
60 if(sscanf(p,
"%*[^,],%d:%d:%d%*c%d", &hour, &min, &sec, &hsec) != 4)
78 int i,
len, header_remaining;
83 uint8_t *p, **dst[2]={0};
93 header_remaining= INT_MAX;
101 if(!memcmp(line,
"[Events]", 8))
103 else if(line[0]==
'[')
104 header_remaining= INT_MAX;
106 i= header_remaining==0;
115 memcpy(p + pos[i], line, len+1);
118 else header_remaining--;
129 while(*p && *p !=
'\n')
154 end= strchr(p,
'\n');
167 int64_t min_ts, int64_t ts, int64_t max_ts,
int flags)
180 if (stream_index == -1) {
187 time_base.
num * (int64_t)AV_TIME_BASE,
193 int64_t ts_diff =
FFABS(pts - ts);
194 if (pts >= min_ts && pts <= max_ts && ts_diff < min_ts_diff) {
195 min_ts_diff = ts_diff;