Lines Matching refs:subs
114 AVPacket **subs, *sub; in ff_subtitles_queue_insert() local
120 sub = q->subs[q->nb_subs - 1]; in ff_subtitles_queue_insert()
128 if (q->nb_subs >= INT_MAX/sizeof(*q->subs) - 1) in ff_subtitles_queue_insert()
130 subs = av_fast_realloc(q->subs, &q->allocated_size, in ff_subtitles_queue_insert()
131 (q->nb_subs + 1) * sizeof(*q->subs)); in ff_subtitles_queue_insert()
132 if (!subs) in ff_subtitles_queue_insert()
134 q->subs = subs; in ff_subtitles_queue_insert()
142 subs[q->nb_subs++] = sub; in ff_subtitles_queue_insert()
177 const AVPacket *last = q->subs[last_id]; in drop_dups()
179 if (q->subs[i]->pts == last->pts && in drop_dups()
180 q->subs[i]->duration == last->duration && in drop_dups()
181 q->subs[i]->stream_index == last->stream_index && in drop_dups()
182 !strcmp(q->subs[i]->data, last->data)) { in drop_dups()
184 av_packet_free(&q->subs[i]); in drop_dups()
187 q->subs[last_id + 1] = q->subs[i]; in drop_dups()
188 q->subs[i] = NULL; in drop_dups()
205 qsort(q->subs, q->nb_subs, sizeof(*q->subs), in ff_subtitles_queue_finalize()
209 …if (q->subs[i]->duration < 0 && i < q->nb_subs - 1 && q->subs[i + 1]->pts - (uint64_t)q->subs[i]->… in ff_subtitles_queue_finalize()
210 q->subs[i]->duration = q->subs[i + 1]->pts - q->subs[i]->pts; in ff_subtitles_queue_finalize()
223 sub = q->subs[q->current_sub_idx]; in ff_subtitles_queue_read_packet()
246 return q->subs[s1]->pts <= q->subs[s2]->pts ? s1 : s2; in search_sub_ts()
248 if (q->subs[mid]->pts <= ts) in search_sub_ts()
270 for (i = idx; i < q->nb_subs && q->subs[i]->pts < min_ts; i++) in ff_subtitles_queue_seek()
271 if (stream_index == -1 || q->subs[i]->stream_index == stream_index) in ff_subtitles_queue_seek()
273 for (i = idx; i > 0 && q->subs[i]->pts > max_ts; i--) in ff_subtitles_queue_seek()
274 if (stream_index == -1 || q->subs[i]->stream_index == stream_index) in ff_subtitles_queue_seek()
277 ts_selected = q->subs[idx]->pts; in ff_subtitles_queue_seek()
283 int64_t pts = q->subs[i]->pts; in ff_subtitles_queue_seek()
284 if (q->subs[i]->duration <= 0 || in ff_subtitles_queue_seek()
285 (stream_index != -1 && q->subs[i]->stream_index != stream_index)) in ff_subtitles_queue_seek()
287 if (pts >= min_ts && pts > ts_selected - q->subs[i]->duration) in ff_subtitles_queue_seek()
299 while (idx > 0 && q->subs[idx - 1]->pts == q->subs[idx]->pts) in ff_subtitles_queue_seek()
312 av_packet_free(&q->subs[i]); in ff_subtitles_queue_clean()
313 av_freep(&q->subs); in ff_subtitles_queue_clean()