Lines Matching refs:ctts_data

91 static int64_t add_ctts_entry(MOVCtts** ctts_data, unsigned int* ctts_count, unsigned int* allocated_size,
3295 if (entries >= UINT_MAX / sizeof(*sc->ctts_data))
3297 av_freep(&sc->ctts_data);
3298 sc->ctts_data = av_fast_realloc(NULL, &sc->ctts_allocated_size, entries * sizeof(*sc->ctts_data));
3299 if (!sc->ctts_data)
3313 add_ctts_entry(&sc->ctts_data, &ctts_count, &sc->ctts_allocated_size,
3321 av_freep(&sc->ctts_data);
3335 st->ctts_data = malloc(st->ctts_count * sizeof(AVMOVCtts));
3336 if (st->ctts_data != NULL) {
3337 memcpy(st->ctts_data, sc->ctts_data, st->ctts_count * sizeof(AVMOVCtts));
3339 av_log(c->fc, AV_LOG_WARNING, "st->ctts_data malloc failed\n");
3503 * Note that if ctts_data is not NULL, we will always search for a key frame
3521 MOVCtts* ctts_data,
3562 if (ctts_data && *index >= 0) {
3571 if (ctts_data[*ctts_index].count == *ctts_sample) {
3582 if ((e_old[*index].timestamp + ctts_data[*ctts_index].duration) <= timestamp_pts &&
3591 *ctts_sample = ctts_data[*ctts_index].count - 1;
3669 * Append a new ctts entry to ctts_data.
3672 static int64_t add_ctts_entry(MOVCtts** ctts_data, unsigned int* ctts_count, unsigned int* allocated_size,
3685 ctts_buf_new = av_fast_realloc(*ctts_data, allocated_size, requested_size);
3690 *ctts_data = ctts_buf_new;
3713 if (st->codecpar->video_delay <= 0 && msc->ctts_data &&
3723 pts_buf[j] = sti->index_entries[ind].timestamp + msc->ctts_data[ctts_ind].duration;
3746 if (ctts_sample == msc->ctts_data[ctts_ind].count) {
3816 MOVCtts *ctts_data_old = msc->ctts_data;
3862 msc->ctts_data = NULL;
3958 if (add_ctts_entry(&msc->ctts_data, &msc->ctts_count,
4064 if (add_ctts_entry(&msc->ctts_data, &msc->ctts_count,
4132 if (sc->ctts_data[i].count > INT_MAX - sc->sample_offsets_count)
4134 sc->sample_offsets_count += sc->ctts_data[i].count;
4142 for (int j = 0; j < sc->ctts_data[i].count; j++)
4143 sc->sample_offsets[k++] = sc->ctts_data[i].duration;
4194 MOVCtts *ctts_data_old = sc->ctts_data;
4272 if (sc->sample_count >= UINT_MAX / sizeof(*sc->ctts_data))
4276 sc->ctts_data = av_fast_realloc(NULL, &sc->ctts_allocated_size,
4277 sc->sample_count * sizeof(*sc->ctts_data));
4278 if (!sc->ctts_data) {
4283 memset((uint8_t*)(sc->ctts_data), 0, sc->ctts_allocated_size);
4289 add_ctts_entry(&sc->ctts_data, &sc->ctts_count,
4497 if (sc->ctts_data) {
4498 st->start_time += sc->ctts_data[0].duration;
5161 MOVCtts *ctts_data;
5216 if ((uint64_t)entries+sc->ctts_count >= UINT_MAX/sizeof(*sc->ctts_data))
5289 requested_size = (sti->nb_index_entries + entries) * sizeof(*sc->ctts_data);
5291 ctts_data = av_fast_realloc(sc->ctts_data, &sc->ctts_allocated_size,
5293 if (!ctts_data)
5295 sc->ctts_data = ctts_data;
5300 memset((uint8_t*)(sc->ctts_data) + old_ctts_allocated_size, 0,
5304 // Make hole in index_entries and ctts_data for new samples
5309 memmove(sc->ctts_data + index_entry_pos + entries,
5310 sc->ctts_data + index_entry_pos,
5311 sizeof(*sc->ctts_data) * (sc->ctts_count - index_entry_pos));
5380 sc->ctts_data[index_entry_pos].count = 1;
5381 sc->ctts_data[index_entry_pos].duration = ctts_duration;
5407 // leave in index_entries and ctts_data
5413 memmove(sc->ctts_data + index_entry_pos,
5414 sc->ctts_data + index_entry_pos + gap,
5415 sizeof(*sc->ctts_data) *
8472 if (st->ctts_data != NULL) {
8473 free(st->ctts_data);
8474 st->ctts_data = NULL;
8481 av_freep(&sc->ctts_data);
9139 if (sc->ctts_data && sc->ctts_index < sc->ctts_count) {
9140 pkt->pts = pkt->dts + sc->dts_shift + sc->ctts_data[sc->ctts_index].duration;
9144 sc->ctts_data[sc->ctts_index].count == sc->ctts_sample) {
9289 if (sc->ctts_data) {
9292 int next = time_sample + sc->ctts_data[i].count;