Lines Matching refs:dts
110 { "dts", AV_CODEC_ID_DTS, AVMEDIA_TYPE_AUDIO },
475 int64_t ref = pkt->dts;
603 "Packet corrupt (stream = %d, dts = %s)",
604 pkt->stream_index, av_ts2str(pkt->dts));
629 pkt->dts = wrap_timestamp(st, pkt->dts);
634 /* TODO: audio: time filter; video: frame reordering (pts != dts) */
636 pkt->dts = pkt->pts = av_rescale_q(av_gettime(), AV_TIME_BASE_Q, st->time_base);
744 static int64_t select_from_pts_buffer(AVStream *st, int64_t *pts_buffer, int64_t dts)
758 if (dts == AV_NOPTS_VALUE) {
765 dts = pts_buffer[i];
772 int64_t diff = FFABS(pts_buffer[i] - dts)
786 if (dts == AV_NOPTS_VALUE)
787 dts = pts_buffer[0];
789 return dts;
793 * Updates the dts of packets of a stream in pkt_buffer, by re-ordering the pts
816 pkt_buffer->pkt.dts = select_from_pts_buffer(st, pts_buffer, pkt_buffer->pkt.dts);
822 int64_t dts, int64_t pts, AVPacket *pkt)
832 dts == AV_NOPTS_VALUE ||
835 dts < INT_MIN + (sti->cur_dts - RELATIVE_TS_BASE) ||
836 is_relative(dts))
839 sti->first_dts = dts - (sti->cur_dts - RELATIVE_TS_BASE);
840 sti->cur_dts = dts;
852 if (is_relative(pktl_it->pkt.dts))
853 pktl_it->pkt.dts += shift;
889 if (pktl->pkt.pts != pktl->pkt.dts ||
890 pktl->pkt.dts != AV_NOPTS_VALUE ||
896 if (pktl && pktl->pkt.dts != sti->first_dts) {
897 av_log(s, AV_LOG_DEBUG, "first_dts %s not matching first dts %s (pts %s, duration %"PRId64") in the queue\n",
898 av_ts2str(sti->first_dts), av_ts2str(pktl->pkt.dts), av_ts2str(pktl->pkt.pts), pktl->pkt.duration);
902 av_log(s, AV_LOG_DEBUG, "first_dts %s but no packet with dts in the queue\n", av_ts2str(sti->first_dts));
913 if ((pktl->pkt.pts == pktl->pkt.dts ||
915 (pktl->pkt.dts == AV_NOPTS_VALUE ||
916 pktl->pkt.dts == sti->first_dts ||
917 pktl->pkt.dts == RELATIVE_TS_BASE) &&
921 pktl->pkt.dts = cur_dts;
927 cur_dts = pktl->pkt.dts + pktl->pkt.duration;
953 if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && pkt->dts != AV_NOPTS_VALUE) {
954 if (pkt->dts == pkt->pts && sti->last_dts_for_order_check != AV_NOPTS_VALUE) {
955 if (sti->last_dts_for_order_check <= pkt->dts) {
960 pkt->dts,
970 sti->last_dts_for_order_check = pkt->dts;
971 if (sti->dts_ordered < 8 * sti->dts_misordered && pkt->dts == pkt->pts)
972 pkt->dts = AV_NOPTS_VALUE;
976 pkt->dts = AV_NOPTS_VALUE;
993 if (pkt->pts != AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE &&
994 st->pts_wrap_bits < 63 && pkt->dts > INT64_MIN + (1LL << st->pts_wrap_bits) &&
995 pkt->dts - (1LL << (st->pts_wrap_bits - 1)) > pkt->pts) {
996 if (is_relative(sti->cur_dts) || pkt->dts - (1LL<<(st->pts_wrap_bits - 1)) > sti->cur_dts) {
997 pkt->dts -= 1LL << st->pts_wrap_bits;
1002 /* Some MPEG-2 in MPEG-PS lack dts (issue #171 / input_file.mpg).
1006 if (delay == 1 && pkt->dts == pkt->pts &&
1007 pkt->dts != AV_NOPTS_VALUE && presentation_delayed) {
1008 av_log(s, AV_LOG_DEBUG, "invalid dts/pts combination %"PRIi64"\n", pkt->dts);
1011 pkt->dts = AV_NOPTS_VALUE;
1036 if (pkt->dts != AV_NOPTS_VALUE)
1037 pkt->dts += offset;
1041 if (pkt->dts != AV_NOPTS_VALUE &&
1043 pkt->pts > pkt->dts)
1048 "IN delayed:%d pts:%s, dts:%s cur_dts:%s st:%d pc:%p duration:%"PRId64" delay:%d onein_oneout:%d\n",
1049 presentation_delayed, av_ts2str(pkt->pts), av_ts2str(pkt->dts), av_ts2str(sti->cur_dts),
1059 if (pkt->dts == AV_NOPTS_VALUE)
1060 pkt->dts = sti->last_IP_pts;
1061 update_initial_timestamps(s, pkt->stream_index, pkt->dts, pkt->pts, pkt);
1062 if (pkt->dts == AV_NOPTS_VALUE)
1063 pkt->dts = sti->cur_dts;
1065 /* This is tricky: the dts must be incremented by the duration
1069 if (pkt->dts != AV_NOPTS_VALUE)
1070 sti->cur_dts = av_sat_add64(pkt->dts, sti->last_IP_duration);
1071 if (pkt->dts != AV_NOPTS_VALUE &&
1085 pkt->dts != AV_NOPTS_VALUE ||
1090 pkt->pts = pkt->dts;
1095 pkt->dts = pkt->pts;
1107 pkt->dts = select_from_pts_buffer(st, sti->pts_buffer, pkt->dts);
1112 update_initial_timestamps(s, pkt->stream_index, pkt->dts, pkt->pts, pkt);
1113 if (pkt->dts > sti->cur_dts)
1114 sti->cur_dts = pkt->dts;
1117 av_log(s, AV_LOG_DEBUG, "OUTdelayed:%d/%d pts:%s, dts:%s cur_dts:%s st:%d (%d)\n",
1118 presentation_delayed, delay, av_ts2str(pkt->pts), av_ts2str(pkt->dts), av_ts2str(sti->cur_dts), st->index, st->id);
1149 int64_t next_dts = pkt->dts;
1154 pkt->pts, pkt->dts, pkt->pos);
1156 pkt->pts = pkt->dts = AV_NOPTS_VALUE;
1205 out_pkt->dts = sti->parser->dts;
1302 pkt->dts != AV_NOPTS_VALUE &&
1303 pkt->pts < pkt->dts) {
1305 "Invalid timestamps stream=%d, pts=%s, dts=%s, size=%d\n",
1308 av_ts2str(pkt->dts),
1313 "ff_read_packet stream=%d, pts=%s, dts=%s, size=%d, duration=%"PRId64", flags=%d\n",
1316 av_ts2str(pkt->dts),
1339 (pkt->flags & AV_PKT_FLAG_KEY) && pkt->dts != AV_NOPTS_VALUE) {
1341 av_add_index_entry(st, pkt->pos, pkt->dts,
1436 "read_frame_internal stream=%d, pts=%s, dts=%s, "
1440 av_ts2str(pkt->dts),
1474 if (next_pkt->dts != AV_NOPTS_VALUE) {
1476 // last dts seen for this stream. if any of packets following
1477 // current one had no dts, we will set this to AV_NOPTS_VALUE.
1478 int64_t last_dts = next_pkt->dts;
1482 av_compare_mod(next_pkt->dts, pktl->pkt.dts, 2ULL << (wrap_bits - 1)) < 0) {
1483 if (av_compare_mod(pktl->pkt.pts, pktl->pkt.dts, 2ULL << (wrap_bits - 1))) {
1485 next_pkt->pts = pktl->pkt.dts;
1488 // Once last dts was set to AV_NOPTS_VALUE, we don't change it.
1489 last_dts = pktl->pkt.dts;
1499 // 3. the packets for this stream at the end of the files had valid dts.
1508 next_pkt->dts != AV_NOPTS_VALUE && !eof)) {
1535 av_add_index_entry(st, pkt->pos, pkt->dts, 0, 0, AVINDEX_KEYFRAME);
1538 if (is_relative(pkt->dts))
1539 pkt->dts -= RELATIVE_TS_BASE;
2198 double dts = (is_relative(ts) ? ts - RELATIVE_TS_BASE : ts) * av_q2d(st->time_base);
2207 // av_log(NULL, AV_LOG_ERROR, "%f\n", dts);
2211 double sdts = dts*framerate/(1001*12);
2662 if (pkt->dts != AV_NOPTS_VALUE && sti->codec_info_nb_frames > 1) {
2663 /* check for non-increasing dts */
2665 sti->info->fps_last_dts >= pkt->dts) {
2671 pkt->dts);
2675 /* Check for a discontinuity in dts. If the difference in dts
2680 (pkt->dts - (uint64_t)sti->info->fps_last_dts) / 1000 >
2688 pkt->dts);
2693 /* update stored dts values */
2695 sti->info->fps_first_dts = pkt->dts;
2698 sti->info->fps_last_dts = pkt->dts;
2743 ff_rfps_add_frame(ic, st, pkt->dts);
2745 if (pkt->dts != pkt->pts && pkt->dts != AV_NOPTS_VALUE && pkt->pts != AV_NOPTS_VALUE)