On date Monday 2016-01-18 00:40:52 +0100, Michael Niedermayer encoded: > On Sun, Jan 17, 2016 at 01:24:29PM +0100, Stefano Sabatini wrote: > > Hi, > > > > the attached patches allow to remux MPEGTS files containing KLV > > metadata. Since there are two kinds of metadata (synchronous and > > asynchronous), the first patch creates side data which stores the > > stream ID used to distinguish the two kind of packets, which is > > otherwise lost. > > > > At the moment, I'm storing a single byte in the side data > > (corresponding to the stream ID), but the metadata could be extended > > to contain more information. [...] > > libavcodec/avcodec.h | 7 +++++++ > > libavcodec/avpacket.c | 1 + > > libavformat/mpegts.c | 12 +++++++++++- > > libavformat/mpegtsenc.c | 27 ++++++++++++++++++++------- > > breaks fate > --- ./tests/ref/acodec/s302m 2016-01-17 18:42:03.168224316 +0100 > +++ tests/data/fate/acodec-s302m 2016-01-18 00:19:04.128650317 +0100 > @@ -1,4 +1,4 @@ > -2d1494ad78292dca556fd079ec27f28d *tests/data/fate/acodec-s302m.mpegts > +8601644c674752c62ca35567a0294eef *tests/data/fate/acodec-s302m.mpegts
Can this be explained by the fact that the demuxer adds the merged side data to the packet data? How is this hash computed? Updated patch in attachment. -- FFmpeg = Friendly and Foolish Most Picky Esoteric Gladiator
>From 03bf33f8c14a55be468de57b455618ddd7264879 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini <stefa...@gmail.com> Date: Wed, 18 Nov 2015 19:23:03 +0100 Subject: [PATCH] lavc/lavf: transmit stream_id information for mpegts KLV data packets This allows to copy information related to the stream ID from the demuxer to the muxer, thus allowing for example to retain information related to synchronous and asynchronous KLV data packets. The fate reference changes are due to the use of av_packet_merge_side_data(), which increases the size of the output packet size, since side data is merged into the packet data. --- libavcodec/avcodec.h | 6 ++ libavcodec/avpacket.c | 1 + libavformat/mpegts.c | 30 ++++-- libavformat/mpegtsenc.c | 27 ++++-- tests/ref/acodec/s302m | 2 +- tests/ref/fate/concat-demuxer-simple2-lavf-ts | 128 +++++++++++++------------- tests/ref/seek/lavf-ts | 54 +++++------ 7 files changed, 143 insertions(+), 105 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index f365775..1b02067 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -1402,6 +1402,12 @@ enum AVPacketSideDataType { * side data includes updated metadata which appeared in the stream. */ AV_PKT_DATA_METADATA_UPDATE, + + /** + * MPEGTS stream ID, this is required to pass the stream ID + * information from the demuxer to the corresponding muxer. + */ + AV_PKT_DATA_MPEGTS_STREAM_ID, }; #define AV_PKT_DATA_QUALITY_FACTOR AV_PKT_DATA_QUALITY_STATS //DEPRECATED diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c index 4901d36..9538bf3 100644 --- a/libavcodec/avpacket.c +++ b/libavcodec/avpacket.c @@ -351,6 +351,7 @@ const char *av_packet_side_data_name(enum AVPacketSideDataType type) case AV_PKT_DATA_WEBVTT_IDENTIFIER: return "WebVTT ID"; case AV_PKT_DATA_WEBVTT_SETTINGS: return "WebVTT Settings"; case AV_PKT_DATA_METADATA_UPDATE: return "Metadata Update"; + case AV_PKT_DATA_MPEGTS_STREAM_ID: return "MPEGTS Stream ID"; } return NULL; } diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 22874e6..7dc4e04 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -235,6 +235,7 @@ typedef struct PESContext { int total_size; int pes_header_size; int extended_stream_id; + uint8_t stream_id; int64_t pts, dts; int64_t ts_packet_pos; /**< position of first TS packet of this PES packet */ uint8_t header[MAX_PES_HEADER_SIZE]; @@ -862,14 +863,21 @@ static void reset_pes_packet_state(PESContext *pes) av_buffer_unref(&pes->buffer); } -static void new_pes_packet(PESContext *pes, AVPacket *pkt) +static int new_pes_packet(PESContext *pes, AVPacket *pkt) { + char *sd; + av_init_packet(pkt); pkt->buf = pes->buffer; pkt->data = pes->buffer->data; pkt->size = pes->data_index; + sd = av_packet_new_side_data(pkt, AV_PKT_DATA_MPEGTS_STREAM_ID, 1); + if (!sd) + return AVERROR(ENOMEM); + *sd = pes->stream_id; + if (pes->total_size != MAX_PES_PAYLOAD && pes->pes_header_size + pes->data_index != pes->total_size + PES_START_SIZE) { @@ -891,6 +899,7 @@ static void new_pes_packet(PESContext *pes, AVPacket *pkt) pes->buffer = NULL; reset_pes_packet_state(pes); + return 0; } static uint64_t get_ts64(GetBitContext *gb, int bits) @@ -979,14 +988,16 @@ static int mpegts_push_data(MpegTSFilter *filter, PESContext *pes = filter->u.pes_filter.opaque; MpegTSContext *ts = pes->ts; const uint8_t *p; - int len, code; + int ret, len, code; if (!ts->pkt) return 0; if (is_start) { if (pes->state == MPEGTS_PAYLOAD && pes->data_index > 0) { - new_pes_packet(pes, ts->pkt); + ret = new_pes_packet(pes, ts->pkt); + if (ret < 0) + return ret; ts->stop_parse = 1; } else { reset_pes_packet_state(pes); @@ -1014,6 +1025,7 @@ static int mpegts_push_data(MpegTSFilter *filter, code = pes->header[3] | 0x100; av_log(pes->stream, AV_LOG_TRACE, "pid=%x pes_code=%#x\n", pes->pid, code); + pes->stream_id = pes->header[3]; if ((pes->st && pes->st->discard == AVDISCARD_ALL && (!pes->sub_st || @@ -1197,7 +1209,9 @@ skip: if (pes->buffer) { if (pes->data_index > 0 && pes->data_index + buf_size > pes->total_size) { - new_pes_packet(pes, ts->pkt); + ret = new_pes_packet(pes, ts->pkt); + if (ret < 0) + return ret; pes->total_size = MAX_PES_PAYLOAD; pes->buffer = av_buffer_alloc(pes->total_size + AV_INPUT_BUFFER_PADDING_SIZE); @@ -1220,7 +1234,9 @@ skip: if (!ts->stop_parse && pes->total_size < MAX_PES_PAYLOAD && pes->pes_header_size + pes->data_index == pes->total_size + PES_START_SIZE) { ts->stop_parse = 1; - new_pes_packet(pes, ts->pkt); + ret = new_pes_packet(pes, ts->pkt); + if (ret < 0) + return ret; } } buf_size = 0; @@ -2663,7 +2679,9 @@ static int mpegts_read_packet(AVFormatContext *s, AVPacket *pkt) if (ts->pids[i] && ts->pids[i]->type == MPEGTS_PES) { PESContext *pes = ts->pids[i]->u.pes_filter.opaque; if (pes->state == MPEGTS_PAYLOAD && pes->data_index > 0) { - new_pes_packet(pes, pkt); + ret = new_pes_packet(pes, pkt); + if (ret < 0) + return ret; pes->state = MPEGTS_SKIP; ret = 0; break; diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index a20e229..1b88e2d 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -1111,7 +1111,7 @@ static uint8_t *get_ts_payload_start(uint8_t *pkt) * NOTE: 'payload' contains a complete PES payload. */ static void mpegts_write_pes(AVFormatContext *s, AVStream *st, const uint8_t *payload, int payload_size, - int64_t pts, int64_t dts, int key) + int64_t pts, int64_t dts, int key, uint8_t stream_id) { MpegTSWriteStream *ts_st = st->priv_data; MpegTSWrite *ts = s->priv_data; @@ -1209,7 +1209,11 @@ static void mpegts_write_pes(AVFormatContext *s, AVStream *st, ts->m2ts_mode) { *q++ = 0xfd; } else { - *q++ = 0xbd; + *q++ = stream_id ? stream_id : 0xbd; + + if (stream_id == 0xbd) /* asynchronous KLV */ + pts = dts = AV_NOPTS_VALUE; + if (st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE) { if (st->codec->codec_id == AV_CODEC_ID_DVB_SUBTITLE) { is_dvb_subtitle = 1; @@ -1451,6 +1455,15 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) const int64_t delay = av_rescale(s->max_delay, 90000, AV_TIME_BASE) * 2; int64_t dts = pkt->dts, pts = pkt->pts; int opus_samples = 0; + int side_data_size; + char *side_data = NULL; + int stream_id = 0xbd; + + side_data = av_packet_get_side_data(pkt, + AV_PKT_DATA_MPEGTS_STREAM_ID, + &side_data_size); + if (side_data) + stream_id = side_data[0]; if (ts->reemit_pat_pmt) { av_log(s, AV_LOG_WARNING, @@ -1631,8 +1644,8 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) if ( ts_st2->payload_size && (ts_st2->payload_dts == AV_NOPTS_VALUE || dts - ts_st2->payload_dts > delay/2)) { mpegts_write_pes(s, st2, ts_st2->payload, ts_st2->payload_size, - ts_st2->payload_pts, ts_st2->payload_dts, - ts_st2->payload_flags & AV_PKT_FLAG_KEY); + ts_st2->payload_pts, ts_st2->payload_dts, + ts_st2->payload_flags & AV_PKT_FLAG_KEY, stream_id); ts_st2->payload_size = 0; } } @@ -1645,7 +1658,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) ts_st->opus_queued_samples + opus_samples >= 5760 /* 120ms */)) { mpegts_write_pes(s, st, ts_st->payload, ts_st->payload_size, ts_st->payload_pts, ts_st->payload_dts, - ts_st->payload_flags & AV_PKT_FLAG_KEY); + ts_st->payload_flags & AV_PKT_FLAG_KEY, stream_id); ts_st->payload_size = 0; ts_st->opus_queued_samples = 0; } @@ -1654,7 +1667,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) av_assert0(!ts_st->payload_size); // for video and subtitle, write a single pes packet mpegts_write_pes(s, st, buf, size, pts, dts, - pkt->flags & AV_PKT_FLAG_KEY); + pkt->flags & AV_PKT_FLAG_KEY, stream_id); ts_st->opus_queued_samples = 0; av_free(data); return 0; @@ -1686,7 +1699,7 @@ static void mpegts_write_flush(AVFormatContext *s) if (ts_st->payload_size > 0) { mpegts_write_pes(s, st, ts_st->payload, ts_st->payload_size, ts_st->payload_pts, ts_st->payload_dts, - ts_st->payload_flags & AV_PKT_FLAG_KEY); + ts_st->payload_flags & AV_PKT_FLAG_KEY, 0); ts_st->payload_size = 0; ts_st->opus_queued_samples = 0; } diff --git a/tests/ref/acodec/s302m b/tests/ref/acodec/s302m index f19eebe..5e60db8 100644 --- a/tests/ref/acodec/s302m +++ b/tests/ref/acodec/s302m @@ -1,4 +1,4 @@ -2d1494ad78292dca556fd079ec27f28d *tests/data/fate/acodec-s302m.mpegts +8601644c674752c62ca35567a0294eef *tests/data/fate/acodec-s302m.mpegts 1589164 tests/data/fate/acodec-s302m.mpegts f9b6528eee1aea04640ee83400c78689 *tests/data/fate/acodec-s302m.out.wav stddev: 986.97 PSNR: 36.44 MAXDIFF:18642 bytes: 1058400/ 1056708 diff --git a/tests/ref/fate/concat-demuxer-simple2-lavf-ts b/tests/ref/fate/concat-demuxer-simple2-lavf-ts index fb2713c..4a50f52 100644 --- a/tests/ref/fate/concat-demuxer-simple2-lavf-ts +++ b/tests/ref/fate/concat-demuxer-simple2-lavf-ts @@ -1,12 +1,12 @@ -video|1|982|0.010911|-2618|-0.029089|3600|0.040000|N/A|N/A|24801|564|K -video|1|4582|0.050911|982|0.010911|3600|0.040000|N/A|N/A|16429|27072|_ -video|1|8182|0.090911|4582|0.050911|3600|0.040000|N/A|N/A|14508|44932|_ -video|1|11782|0.130911|8182|0.090911|3600|0.040000|N/A|N/A|12622|60536|_ -video|1|15382|0.170911|11782|0.130911|3600|0.040000|N/A|N/A|13393|74260|_ -video|1|18982|0.210911|15382|0.170911|3600|0.040000|N/A|N/A|13092|88924|_ -video|1|22582|0.250911|18982|0.210911|3600|0.040000|N/A|N/A|12755|102836|_ -video|1|26182|0.290911|22582|0.250911|3600|0.040000|N/A|N/A|12023|116748|_ -audio|0|0|0.000000|0|0.000000|2351|0.026122|N/A|N/A|208|159988|K +video|1|982|0.010911|-2618|-0.029089|3600|0.040000|N/A|N/A|24815|564|K +video|1|4582|0.050911|982|0.010911|3600|0.040000|N/A|N/A|16443|27072|_ +video|1|8182|0.090911|4582|0.050911|3600|0.040000|N/A|N/A|14522|44932|_ +video|1|11782|0.130911|8182|0.090911|3600|0.040000|N/A|N/A|12636|60536|_ +video|1|15382|0.170911|11782|0.130911|3600|0.040000|N/A|N/A|13407|74260|_ +video|1|18982|0.210911|15382|0.170911|3600|0.040000|N/A|N/A|13106|88924|_ +video|1|22582|0.250911|18982|0.210911|3600|0.040000|N/A|N/A|12769|102836|_ +video|1|26182|0.290911|22582|0.250911|3600|0.040000|N/A|N/A|12037|116748|_ +audio|0|0|0.000000|0|0.000000|2351|0.026122|N/A|N/A|222|159988|K audio|0|2351|0.026122|2351|0.026122|2351|0.026122|N/A|N/A|209|N/A|K audio|0|4702|0.052244|4702|0.052244|2351|0.026122|N/A|N/A|209|N/A|K audio|0|7053|0.078367|7053|0.078367|2351|0.026122|N/A|N/A|209|N/A|K @@ -20,17 +20,17 @@ audio|0|23510|0.261222|23510|0.261222|2351|0.026122|N/A|N/A|209|N/A|K audio|0|25861|0.287344|25861|0.287344|2351|0.026122|N/A|N/A|209|N/A|K audio|0|28212|0.313467|28212|0.313467|2351|0.026122|N/A|N/A|209|N/A|K audio|0|30563|0.339589|30563|0.339589|2351|0.026122|N/A|N/A|209|N/A|K -video|1|29782|0.330911|26182|0.290911|3600|0.040000|N/A|N/A|14098|130096|_ -video|1|33382|0.370911|29782|0.330911|3600|0.040000|N/A|N/A|13329|145324|_ -video|1|36982|0.410911|33382|0.370911|3600|0.040000|N/A|N/A|12135|162996|_ -video|1|40582|0.450911|36982|0.410911|3600|0.040000|N/A|N/A|12282|176344|_ -video|1|44182|0.490911|40582|0.450911|3600|0.040000|N/A|N/A|24786|189692|K -video|1|47782|0.530911|44182|0.490911|3600|0.040000|N/A|N/A|17440|216388|_ -video|1|51382|0.570911|47782|0.530911|3600|0.040000|N/A|N/A|15019|235000|_ -video|1|54982|0.610911|51382|0.570911|3600|0.040000|N/A|N/A|13449|251356|_ -video|1|58582|0.650911|54982|0.610911|3600|0.040000|N/A|N/A|12398|266020|_ -video|1|62182|0.690911|58582|0.650911|3600|0.040000|N/A|N/A|13455|279744|_ -audio|0|32915|0.365722|32915|0.365722|2351|0.026122|N/A|N/A|209|322608|K +video|1|29782|0.330911|26182|0.290911|3600|0.040000|N/A|N/A|14112|130096|_ +video|1|33382|0.370911|29782|0.330911|3600|0.040000|N/A|N/A|13343|145324|_ +video|1|36982|0.410911|33382|0.370911|3600|0.040000|N/A|N/A|12149|162996|_ +video|1|40582|0.450911|36982|0.410911|3600|0.040000|N/A|N/A|12296|176344|_ +video|1|44182|0.490911|40582|0.450911|3600|0.040000|N/A|N/A|24800|189692|K +video|1|47782|0.530911|44182|0.490911|3600|0.040000|N/A|N/A|17454|216388|_ +video|1|51382|0.570911|47782|0.530911|3600|0.040000|N/A|N/A|15033|235000|_ +video|1|54982|0.610911|51382|0.570911|3600|0.040000|N/A|N/A|13463|251356|_ +video|1|58582|0.650911|54982|0.610911|3600|0.040000|N/A|N/A|12412|266020|_ +video|1|62182|0.690911|58582|0.650911|3600|0.040000|N/A|N/A|13469|279744|_ +audio|0|32915|0.365722|32915|0.365722|2351|0.026122|N/A|N/A|223|322608|K audio|0|35266|0.391844|35266|0.391844|2351|0.026122|N/A|N/A|209|N/A|K audio|0|37617|0.417967|37617|0.417967|2351|0.026122|N/A|N/A|209|N/A|K audio|0|39968|0.444089|39968|0.444089|2351|0.026122|N/A|N/A|209|N/A|K @@ -44,12 +44,12 @@ audio|0|56425|0.626944|56425|0.626944|2351|0.026122|N/A|N/A|209|N/A|K audio|0|58776|0.653067|58776|0.653067|2351|0.026122|N/A|N/A|209|N/A|K audio|0|61127|0.679189|61127|0.679189|2351|0.026122|N/A|N/A|209|N/A|K audio|0|63478|0.705311|63478|0.705311|2351|0.026122|N/A|N/A|209|N/A|K -video|1|65782|0.730911|62182|0.690911|3600|0.040000|N/A|N/A|13836|294408|_ -video|1|69382|0.770911|65782|0.730911|3600|0.040000|N/A|N/A|12163|309448|_ -video|1|72982|0.810911|69382|0.770911|3600|0.040000|N/A|N/A|12692|325992|_ -video|1|76582|0.850911|72982|0.810911|3600|0.040000|N/A|N/A|10824|339528|_ -video|1|80182|0.890911|76582|0.850911|3600|0.040000|N/A|N/A|11286|351372|_ -audio|0|65829|0.731433|65829|0.731433|2351|0.026122|N/A|N/A|209|404576|K +video|1|65782|0.730911|62182|0.690911|3600|0.040000|N/A|N/A|13850|294408|_ +video|1|69382|0.770911|65782|0.730911|3600|0.040000|N/A|N/A|12177|309448|_ +video|1|72982|0.810911|69382|0.770911|3600|0.040000|N/A|N/A|12706|325992|_ +video|1|76582|0.850911|72982|0.810911|3600|0.040000|N/A|N/A|10838|339528|_ +video|1|80182|0.890911|76582|0.850911|3600|0.040000|N/A|N/A|11300|351372|_ +audio|0|65829|0.731433|65829|0.731433|2351|0.026122|N/A|N/A|223|404576|K audio|0|68180|0.757556|68180|0.757556|2351|0.026122|N/A|N/A|209|N/A|K audio|0|70531|0.783678|70531|0.783678|2351|0.026122|N/A|N/A|209|N/A|K audio|0|72882|0.809800|72882|0.809800|2351|0.026122|N/A|N/A|209|N/A|K @@ -60,17 +60,17 @@ audio|0|82286|0.914289|82286|0.914289|2351|0.026122|N/A|N/A|209|N/A|K audio|0|84637|0.940411|84637|0.940411|2351|0.026122|N/A|N/A|209|N/A|K audio|0|86988|0.966533|86988|0.966533|2351|0.026122|N/A|N/A|209|N/A|K audio|0|89339|0.992656|89339|0.992656|2351|0.026122|N/A|N/A|209|N/A|K -video|1|83782|0.930911|80182|0.890911|3600|0.040000|N/A|N/A|12678|363592|_ +video|1|83782|0.930911|80182|0.890911|3600|0.040000|N/A|N/A|12692|363592|_ video|1|87382|0.970911|83782|0.930911|3600|0.040000|N/A|N/A|24711|377880|K -video|1|91964|1.021822|88364|0.981822|3600|0.040000|N/A|N/A|24801|564|K -video|1|95564|1.061822|91964|1.021822|3600|0.040000|N/A|N/A|16429|27072|_ -video|1|99164|1.101822|95564|1.061822|3600|0.040000|N/A|N/A|14508|44932|_ -video|1|102764|1.141822|99164|1.101822|3600|0.040000|N/A|N/A|12622|60536|_ -video|1|106364|1.181822|102764|1.141822|3600|0.040000|N/A|N/A|13393|74260|_ -video|1|109964|1.221822|106364|1.181822|3600|0.040000|N/A|N/A|13092|88924|_ -video|1|113564|1.261822|109964|1.221822|3600|0.040000|N/A|N/A|12755|102836|_ -video|1|117164|1.301822|113564|1.261822|3600|0.040000|N/A|N/A|12023|116748|_ -audio|0|90982|1.010911|90982|1.010911|2351|0.026122|N/A|N/A|208|159988|K +video|1|91964|1.021822|88364|0.981822|3600|0.040000|N/A|N/A|24815|564|K +video|1|95564|1.061822|91964|1.021822|3600|0.040000|N/A|N/A|16443|27072|_ +video|1|99164|1.101822|95564|1.061822|3600|0.040000|N/A|N/A|14522|44932|_ +video|1|102764|1.141822|99164|1.101822|3600|0.040000|N/A|N/A|12636|60536|_ +video|1|106364|1.181822|102764|1.141822|3600|0.040000|N/A|N/A|13407|74260|_ +video|1|109964|1.221822|106364|1.181822|3600|0.040000|N/A|N/A|13106|88924|_ +video|1|113564|1.261822|109964|1.221822|3600|0.040000|N/A|N/A|12769|102836|_ +video|1|117164|1.301822|113564|1.261822|3600|0.040000|N/A|N/A|12037|116748|_ +audio|0|90982|1.010911|90982|1.010911|2351|0.026122|N/A|N/A|222|159988|K audio|0|93333|1.037033|93333|1.037033|2351|0.026122|N/A|N/A|209|N/A|K audio|0|95684|1.063156|95684|1.063156|2351|0.026122|N/A|N/A|209|N/A|K audio|0|98035|1.089278|98035|1.089278|2351|0.026122|N/A|N/A|209|N/A|K @@ -84,17 +84,17 @@ audio|0|114492|1.272133|114492|1.272133|2351|0.026122|N/A|N/A|209|N/A|K audio|0|116843|1.298256|116843|1.298256|2351|0.026122|N/A|N/A|209|N/A|K audio|0|119194|1.324378|119194|1.324378|2351|0.026122|N/A|N/A|209|N/A|K audio|0|121545|1.350500|121545|1.350500|2351|0.026122|N/A|N/A|209|N/A|K -video|1|120764|1.341822|117164|1.301822|3600|0.040000|N/A|N/A|14098|130096|_ -video|1|124364|1.381822|120764|1.341822|3600|0.040000|N/A|N/A|13329|145324|_ -video|1|127964|1.421822|124364|1.381822|3600|0.040000|N/A|N/A|12135|162996|_ -video|1|131564|1.461822|127964|1.421822|3600|0.040000|N/A|N/A|12282|176344|_ -video|1|135164|1.501822|131564|1.461822|3600|0.040000|N/A|N/A|24786|189692|K -video|1|138764|1.541822|135164|1.501822|3600|0.040000|N/A|N/A|17440|216388|_ -video|1|142364|1.581822|138764|1.541822|3600|0.040000|N/A|N/A|15019|235000|_ -video|1|145964|1.621822|142364|1.581822|3600|0.040000|N/A|N/A|13449|251356|_ -video|1|149564|1.661822|145964|1.621822|3600|0.040000|N/A|N/A|12398|266020|_ -video|1|153164|1.701822|149564|1.661822|3600|0.040000|N/A|N/A|13455|279744|_ -audio|0|123897|1.376633|123897|1.376633|2351|0.026122|N/A|N/A|209|322608|K +video|1|120764|1.341822|117164|1.301822|3600|0.040000|N/A|N/A|14112|130096|_ +video|1|124364|1.381822|120764|1.341822|3600|0.040000|N/A|N/A|13343|145324|_ +video|1|127964|1.421822|124364|1.381822|3600|0.040000|N/A|N/A|12149|162996|_ +video|1|131564|1.461822|127964|1.421822|3600|0.040000|N/A|N/A|12296|176344|_ +video|1|135164|1.501822|131564|1.461822|3600|0.040000|N/A|N/A|24800|189692|K +video|1|138764|1.541822|135164|1.501822|3600|0.040000|N/A|N/A|17454|216388|_ +video|1|142364|1.581822|138764|1.541822|3600|0.040000|N/A|N/A|15033|235000|_ +video|1|145964|1.621822|142364|1.581822|3600|0.040000|N/A|N/A|13463|251356|_ +video|1|149564|1.661822|145964|1.621822|3600|0.040000|N/A|N/A|12412|266020|_ +video|1|153164|1.701822|149564|1.661822|3600|0.040000|N/A|N/A|13469|279744|_ +audio|0|123897|1.376633|123897|1.376633|2351|0.026122|N/A|N/A|223|322608|K audio|0|126248|1.402756|126248|1.402756|2351|0.026122|N/A|N/A|209|N/A|K audio|0|128599|1.428878|128599|1.428878|2351|0.026122|N/A|N/A|209|N/A|K audio|0|130950|1.455000|130950|1.455000|2351|0.026122|N/A|N/A|209|N/A|K @@ -108,12 +108,12 @@ audio|0|147407|1.637856|147407|1.637856|2351|0.026122|N/A|N/A|209|N/A|K audio|0|149758|1.663978|149758|1.663978|2351|0.026122|N/A|N/A|209|N/A|K audio|0|152109|1.690100|152109|1.690100|2351|0.026122|N/A|N/A|209|N/A|K audio|0|154460|1.716222|154460|1.716222|2351|0.026122|N/A|N/A|209|N/A|K -video|1|156764|1.741822|153164|1.701822|3600|0.040000|N/A|N/A|13836|294408|_ -video|1|160364|1.781822|156764|1.741822|3600|0.040000|N/A|N/A|12163|309448|_ -video|1|163964|1.821822|160364|1.781822|3600|0.040000|N/A|N/A|12692|325992|_ -video|1|167564|1.861822|163964|1.821822|3600|0.040000|N/A|N/A|10824|339528|_ -video|1|171164|1.901822|167564|1.861822|3600|0.040000|N/A|N/A|11286|351372|_ -audio|0|156811|1.742344|156811|1.742344|2351|0.026122|N/A|N/A|209|404576|K +video|1|156764|1.741822|153164|1.701822|3600|0.040000|N/A|N/A|13850|294408|_ +video|1|160364|1.781822|156764|1.741822|3600|0.040000|N/A|N/A|12177|309448|_ +video|1|163964|1.821822|160364|1.781822|3600|0.040000|N/A|N/A|12706|325992|_ +video|1|167564|1.861822|163964|1.821822|3600|0.040000|N/A|N/A|10838|339528|_ +video|1|171164|1.901822|167564|1.861822|3600|0.040000|N/A|N/A|11300|351372|_ +audio|0|156811|1.742344|156811|1.742344|2351|0.026122|N/A|N/A|223|404576|K audio|0|159162|1.768467|159162|1.768467|2351|0.026122|N/A|N/A|209|N/A|K audio|0|161513|1.794589|161513|1.794589|2351|0.026122|N/A|N/A|209|N/A|K audio|0|163864|1.820711|163864|1.820711|2351|0.026122|N/A|N/A|209|N/A|K @@ -124,12 +124,12 @@ audio|0|173268|1.925200|173268|1.925200|2351|0.026122|N/A|N/A|209|N/A|K audio|0|175619|1.951322|175619|1.951322|2351|0.026122|N/A|N/A|209|N/A|K audio|0|177970|1.977444|177970|1.977444|2351|0.026122|N/A|N/A|209|N/A|K audio|0|180321|2.003567|180321|2.003567|2351|0.026122|N/A|N/A|209|N/A|K -video|1|174764|1.941822|171164|1.901822|3600|0.040000|N/A|N/A|12678|363592|_ +video|1|174764|1.941822|171164|1.901822|3600|0.040000|N/A|N/A|12692|363592|_ video|1|178364|1.981822|174764|1.941822|3600|0.040000|N/A|N/A|24711|377880|K -video|1|139582|1.550911|135982|1.510911|3600|0.040000|N/A|N/A|12692|325992|_ -video|1|143182|1.590911|139582|1.550911|3600|0.040000|N/A|N/A|10824|339528|_ -video|1|146782|1.630911|143182|1.590911|3600|0.040000|N/A|N/A|11286|351372|_ -audio|0|132429|1.471433|132429|1.471433|2351|0.026122|N/A|N/A|209|404576|K +video|1|139582|1.550911|135982|1.510911|3600|0.040000|N/A|N/A|12706|325992|_ +video|1|143182|1.590911|139582|1.550911|3600|0.040000|N/A|N/A|10838|339528|_ +video|1|146782|1.630911|143182|1.590911|3600|0.040000|N/A|N/A|11300|351372|_ +audio|0|132429|1.471433|132429|1.471433|2351|0.026122|N/A|N/A|223|404576|K audio|0|134780|1.497556|134780|1.497556|2351|0.026122|N/A|N/A|209|N/A|K audio|0|137131|1.523678|137131|1.523678|2351|0.026122|N/A|N/A|209|N/A|K audio|0|139482|1.549800|139482|1.549800|2351|0.026122|N/A|N/A|209|N/A|K @@ -140,12 +140,12 @@ audio|0|148886|1.654289|148886|1.654289|2351|0.026122|N/A|N/A|209|N/A|K audio|0|151237|1.680411|151237|1.680411|2351|0.026122|N/A|N/A|209|N/A|K audio|0|153588|1.706533|153588|1.706533|2351|0.026122|N/A|N/A|209|N/A|K audio|0|155939|1.732656|155939|1.732656|2351|0.026122|N/A|N/A|209|N/A|K -video|1|150382|1.670911|146782|1.630911|3600|0.040000|N/A|N/A|12678|363592|_ +video|1|150382|1.670911|146782|1.630911|3600|0.040000|N/A|N/A|12692|363592|_ video|1|153982|1.710911|150382|1.670911|3600|0.040000|N/A|N/A|24711|377880|K -video|1|161182|1.790911|157582|1.750911|3600|0.040000|N/A|N/A|12135|162996|_ -video|1|164782|1.830911|161182|1.790911|3600|0.040000|N/A|N/A|12282|176344|_ -video|1|168382|1.870911|164782|1.830911|3600|0.040000|N/A|N/A|24786|189692|K -video|1|171982|1.910911|168382|1.870911|3600|0.040000|N/A|N/A|17440|216388|_ -video|1|175582|1.950911|171982|1.910911|3600|0.040000|N/A|N/A|15019|235000|_ +video|1|161182|1.790911|157582|1.750911|3600|0.040000|N/A|N/A|12149|162996|_ +video|1|164782|1.830911|161182|1.790911|3600|0.040000|N/A|N/A|12296|176344|_ +video|1|168382|1.870911|164782|1.830911|3600|0.040000|N/A|N/A|24800|189692|K +video|1|171982|1.910911|168382|1.870911|3600|0.040000|N/A|N/A|17454|216388|_ +video|1|175582|1.950911|171982|1.910911|3600|0.040000|N/A|N/A|15033|235000|_ 0|mp2|unknown|audio|1/44100|[3][0][0][0]|0x0003|s16p|44100|1|mono|0|N/A|0/0|0/0|1/90000|0|0.000000|N/A|N/A|64000|N/A|N/A|N/A|N/A|89|0|0|0|0|0|0|0|0|0|0|0 1|mpeg2video|4|video|1/50|[2][0][0][0]|0x0002|352|288|0|0|1|1:1|11:9|yuv420p|8|tv|unknown|unknown|unknown|left|00:00:00:00|1|N/A|25/1|25/1|1/90000|N/A|N/A|N/A|N/A|N/A|104857200|N/A|N/A|N/A|60|0|0|0|0|0|0|0|0|0|0|0 diff --git a/tests/ref/seek/lavf-ts b/tests/ref/seek/lavf-ts index e57651e..f980824 100644 --- a/tests/ref/seek/lavf-ts +++ b/tests/ref/seek/lavf-ts @@ -1,53 +1,53 @@ -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st:-1 flags:0 ts:-1.000000 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st:-1 flags:1 ts: 1.894167 -ret: 0 st: 0 flags:1 dts: 1.880000 pts: 1.920000 pos: 189692 size: 24786 +ret: 0 st: 0 flags:1 dts: 1.880000 pts: 1.920000 pos: 189692 size: 24800 ret: 0 st: 0 flags:0 ts: 0.788333 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 0 flags:1 ts:-0.317500 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 1 flags:0 ts: 2.576667 -ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 209 +ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 223 ret: 0 st: 1 flags:1 ts: 1.470833 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st:-1 flags:0 ts: 0.365002 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st:-1 flags:1 ts:-0.740831 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 0 flags:0 ts: 2.153333 -ret: 0 st: 1 flags:1 dts: 1.794811 pts: 1.794811 pos: 322608 size: 209 +ret: 0 st: 1 flags:1 dts: 1.794811 pts: 1.794811 pos: 322608 size: 223 ret: 0 st: 0 flags:1 ts: 1.047500 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 1 flags:0 ts:-0.058333 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st: 1 flags:1 ts: 2.835833 -ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 209 +ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 223 ret: 0 st:-1 flags:0 ts: 1.730004 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st:-1 flags:1 ts: 0.624171 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 0 flags:0 ts:-0.481667 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 0 flags:1 ts: 2.412500 -ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 209 +ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 223 ret: 0 st: 1 flags:0 ts: 1.306667 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st: 1 flags:1 ts: 0.200844 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st:-1 flags:0 ts:-0.904994 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st:-1 flags:1 ts: 1.989173 -ret: 0 st: 0 flags:0 dts: 1.960000 pts: 2.000000 pos: 235000 size: 15019 +ret: 0 st: 0 flags:0 dts: 1.960000 pts: 2.000000 pos: 235000 size: 15033 ret: 0 st: 0 flags:0 ts: 0.883344 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 0 flags:1 ts:-0.222489 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 1 flags:0 ts: 2.671678 -ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 209 +ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 223 ret: 0 st: 1 flags:1 ts: 1.565844 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st:-1 flags:0 ts: 0.460008 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st:-1 flags:1 ts:-0.645825 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 -- 1.9.1
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel