Most formats do not support negative timestamps, shift them to avoid
unexpected behaviour and a number of bad crashes.
---

Added some more documentation and copied over the timebase.

 libavformat/avformat.h    | 13 ++++++++++++
 libavformat/ffmenc.c      |  1 +
 libavformat/framecrcenc.c |  3 ++-
 libavformat/matroskaenc.c |  4 ++--
 libavformat/md5enc.c      |  3 ++-
 libavformat/mux.c         | 25 +++++++++++++++++++---
 libavformat/oggenc.c      |  1 +
 tests/ref/lavf/asf        |  4 ++--
 tests/ref/lavf/mpg        |  2 +-
 tests/ref/lavf/ts         |  2 +-
 tests/ref/seek/lavf-asf   | 54 +++++++++++++++++++++++------------------------
 tests/ref/seek/lavf-mpg   | 54 +++++++++++++++++++++++------------------------
 tests/ref/seek/lavf-ts    | 54 +++++++++++++++++++++++------------------------
 13 files changed, 128 insertions(+), 92 deletions(-)

diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 067a787..f66e610 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -360,6 +360,7 @@ typedef struct AVProbeData {
 #define AVFMT_TS_NONSTRICT 0x20000 /**< Format does not require strictly
                                         increasing timestamps, but they must
                                         still be monotonic */
+#define AVFMT_TS_NEGATIVE  0x40000 /**< Format allows muxing negative 
timestamps. If not set the timestamp will be shifted in av_write_frame and 
av_interleaved_write_frame so they start from 0. */
 
 /**
  * @addtogroup lavf_encoding
@@ -1021,6 +1022,18 @@ typedef struct AVFormatContext {
      */
 #define RAW_PACKET_BUFFER_SIZE 2500000
     int raw_packet_buffer_remaining_size;
+
+    /**
+     * Offset to remap timestamps to be non-negative.
+     * Expressed in timebase units.
+     */
+    int64_t offset;
+
+    /**
+     * Timebase for the timestamp offset.
+     */
+    AVRational offset_timebase;
+
 } AVFormatContext;
 
 typedef struct AVPacketList {
diff --git a/libavformat/ffmenc.c b/libavformat/ffmenc.c
index 386487f..91658e1 100644
--- a/libavformat/ffmenc.c
+++ b/libavformat/ffmenc.c
@@ -245,4 +245,5 @@ AVOutputFormat ff_ffm_muxer = {
     .write_header      = ffm_write_header,
     .write_packet      = ffm_write_packet,
     .write_trailer     = ffm_write_trailer,
+    .flags             = AVFMT_TS_NEGATIVE,
 };
diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c
index de6fa2b..fed0cca 100644
--- a/libavformat/framecrcenc.c
+++ b/libavformat/framecrcenc.c
@@ -43,5 +43,6 @@ AVOutputFormat ff_framecrc_muxer = {
     .video_codec       = AV_CODEC_ID_RAWVIDEO,
     .write_header      = ff_framehash_write_header,
     .write_packet      = framecrc_write_packet,
-    .flags             = AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT,
+    .flags             = AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT |
+                         AVFMT_TS_NEGATIVE,
 };
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index b1e4a1e..567a0ad 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -1304,7 +1304,7 @@ AVOutputFormat ff_matroska_muxer = {
     .write_packet      = mkv_write_packet,
     .write_trailer     = mkv_write_trailer,
     .flags             = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS |
-                         AVFMT_TS_NONSTRICT,
+                         AVFMT_TS_NONSTRICT | AVFMT_TS_NEGATIVE,
     .codec_tag         = (const AVCodecTag* const []){
          ff_codec_bmp_tags, ff_codec_wav_tags, 0
     },
@@ -1326,7 +1326,7 @@ AVOutputFormat ff_webm_muxer = {
     .write_packet      = mkv_write_packet,
     .write_trailer     = mkv_write_trailer,
     .flags             = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS |
-                         AVFMT_TS_NONSTRICT,
+                         AVFMT_TS_NONSTRICT | AVFMT_TS_NEGATIVE,
 };
 #endif
 
diff --git a/libavformat/md5enc.c b/libavformat/md5enc.c
index 16412c9..9249704 100644
--- a/libavformat/md5enc.c
+++ b/libavformat/md5enc.c
@@ -127,6 +127,7 @@ AVOutputFormat ff_framemd5_muxer = {
     .write_header      = framemd5_write_header,
     .write_packet      = framemd5_write_packet,
     .write_trailer     = framemd5_write_trailer,
-    .flags             = AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT,
+    .flags             = AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT |
+                         AVFMT_TS_NEGATIVE,
 };
 #endif
diff --git a/libavformat/mux.c b/libavformat/mux.c
index 76b0fb4..32aa830 100644
--- a/libavformat/mux.c
+++ b/libavformat/mux.c
@@ -391,6 +391,25 @@ static int compute_pkt_fields2(AVFormatContext *s, 
AVStream *st, AVPacket *pkt)
     return 0;
 }
 
+static int write_packet(AVFormatContext *s, AVPacket *pkt)
+{
+    if (!(s->oformat->flags & (AVFMT_TS_NEGATIVE | AVFMT_NOTIMESTAMPS))) {
+        AVRational time_base = s->streams[pkt->stream_index]->time_base;
+        int64_t offset = 0;
+        if (!s->offset && pkt->dts < 0) {
+            s->offset = -pkt->dts;
+            s->offset_timebase = time_base;
+        }
+        if (s->offset)
+            offset = av_rescale_q(s->offset,
+                                  s->offset_timebase,
+                                  time_base);
+        pkt->dts += offset;
+        pkt->pts += offset;
+    }
+    return s->oformat->write_packet(s, pkt);
+}
+
 int av_write_frame(AVFormatContext *s, AVPacket *pkt)
 {
     int ret;
@@ -406,7 +425,7 @@ int av_write_frame(AVFormatContext *s, AVPacket *pkt)
     if (ret < 0 && !(s->oformat->flags & AVFMT_NOTIMESTAMPS))
         return ret;
 
-    ret = s->oformat->write_packet(s, pkt);
+    ret = write_packet(s, pkt);
 
     if (ret >= 0)
         s->streams[pkt->stream_index]->nb_frames++;
@@ -544,7 +563,7 @@ int av_interleaved_write_frame(AVFormatContext *s, AVPacket 
*pkt)
         if (ret <= 0) //FIXME cleanup needed for ret<0 ?
             return ret;
 
-        ret = s->oformat->write_packet(s, &opkt);
+        ret = write_packet(s, &opkt);
         if (ret >= 0)
             s->streams[opkt.stream_index]->nb_frames++;
 
@@ -568,7 +587,7 @@ int av_write_trailer(AVFormatContext *s)
         if (!ret)
             break;
 
-        ret = s->oformat->write_packet(s, &pkt);
+        ret = write_packet(s, &pkt);
         if (ret >= 0)
             s->streams[pkt.stream_index]->nb_frames++;
 
diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c
index 6212d16..e01c365 100644
--- a/libavformat/oggenc.c
+++ b/libavformat/oggenc.c
@@ -619,5 +619,6 @@ AVOutputFormat ff_ogg_muxer = {
     .write_header      = ogg_write_header,
     .write_packet      = ogg_write_packet,
     .write_trailer     = ogg_write_trailer,
+    .flags             = AVFMT_TS_NEGATIVE,
     .priv_class        = &ogg_muxer_class,
 };
diff --git a/tests/ref/lavf/asf b/tests/ref/lavf/asf
index 0137925..ec3c871 100644
--- a/tests/ref/lavf/asf
+++ b/tests/ref/lavf/asf
@@ -1,3 +1,3 @@
-528d3cbe33288ad983a8ff5b66738976 *./tests/data/lavf/lavf.asf
+93b1cbdb36d7306f7d31392c8cb9fed8 *./tests/data/lavf/lavf.asf
 333375 ./tests/data/lavf/lavf.asf
-./tests/data/lavf/lavf.asf CRC=0xba1f5213
+./tests/data/lavf/lavf.asf CRC=0x51485213
diff --git a/tests/ref/lavf/mpg b/tests/ref/lavf/mpg
index e76f747..d858bb5 100644
--- a/tests/ref/lavf/mpg
+++ b/tests/ref/lavf/mpg
@@ -1,3 +1,3 @@
-af32acbc73ee486b05a37d53e516d5e7 *./tests/data/lavf/lavf.mpg
+253f28e374d51d264926c91e36043943 *./tests/data/lavf/lavf.mpg
 372736 ./tests/data/lavf/lavf.mpg
 ./tests/data/lavf/lavf.mpg CRC=0x38388ba1
diff --git a/tests/ref/lavf/ts b/tests/ref/lavf/ts
index 333149e..0e8eeb6 100644
--- a/tests/ref/lavf/ts
+++ b/tests/ref/lavf/ts
@@ -1,3 +1,3 @@
-ec8df9c78de8f7f20a3eb1ce8f863c02 *./tests/data/lavf/lavf.ts
+8572cdd0cd589d1bc899264d7f1ead81 *./tests/data/lavf/lavf.ts
 406456 ./tests/data/lavf/lavf.ts
 ./tests/data/lavf/lavf.ts CRC=0x0fdeb4df
diff --git a/tests/ref/seek/lavf-asf b/tests/ref/seek/lavf-asf
index e1d6d32..89ec4c2 100644
--- a/tests/ref/seek/lavf-asf
+++ b/tests/ref/seek/lavf-asf
@@ -1,53 +1,53 @@
-ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    575 size:   
208
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    575 size:   
208
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 1 flags:1 dts: 0.459000 pts: 0.459000 pos: 147775 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.470000 pts: 0.470000 pos: 147775 size:   
209
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 1 flags:1 dts: 0.930000 pts: 0.930000 pos: 301375 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301375 size:   
209
 ret: 0         st: 0 flags:0  ts: 0.788000
-ret: 0         st: 1 flags:1 dts: 0.930000 pts: 0.930000 pos: 301375 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301375 size:   
209
 ret: 0         st: 0 flags:1  ts:-0.317000
-ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    575 size:   
208
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    575 size:   
208
 ret: 0         st: 1 flags:0  ts: 2.577000
-ret: 0         st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 330175 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330175 size:   
209
 ret: 0         st: 1 flags:1  ts: 1.471000
-ret: 0         st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 330175 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330175 size:   
209
 ret: 0         st:-1 flags:0  ts: 0.365002
-ret: 0         st: 1 flags:1 dts: 0.459000 pts: 0.459000 pos: 147775 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.470000 pts: 0.470000 pos: 147775 size:   
209
 ret: 0         st:-1 flags:1  ts:-0.740831
-ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    575 size:   
208
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    575 size:   
208
 ret: 0         st: 0 flags:0  ts: 2.153000
-ret: 0         st: 1 flags:1 dts: 0.930000 pts: 0.930000 pos: 301375 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301375 size:   
209
 ret: 0         st: 0 flags:1  ts: 1.048000
-ret: 0         st: 1 flags:1 dts: 0.930000 pts: 0.930000 pos: 301375 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301375 size:   
209
 ret: 0         st: 1 flags:0  ts:-0.058000
-ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    575 size:   
208
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    575 size:   
208
 ret: 0         st: 1 flags:1  ts: 2.836000
-ret: 0         st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 330175 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330175 size:   
209
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 1 flags:1 dts: 0.930000 pts: 0.930000 pos: 301375 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301375 size:   
209
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 1 flags:1 dts: 0.459000 pts: 0.459000 pos: 147775 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.470000 pts: 0.470000 pos: 147775 size:   
209
 ret: 0         st: 0 flags:0  ts:-0.482000
-ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    575 size:   
208
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    575 size:   
208
 ret: 0         st: 0 flags:1  ts: 2.413000
-ret: 0         st: 1 flags:1 dts: 0.930000 pts: 0.930000 pos: 301375 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301375 size:   
209
 ret: 0         st: 1 flags:0  ts: 1.307000
-ret: 0         st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 330175 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330175 size:   
209
 ret: 0         st: 1 flags:1  ts: 0.201000
-ret: 0         st: 1 flags:1 dts: 0.198000 pts: 0.198000 pos:  74175 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.183000 pts: 0.183000 pos:  70975 size:   
209
 ret: 0         st:-1 flags:0  ts:-0.904994
-ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    575 size:   
208
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    575 size:   
208
 ret: 0         st:-1 flags:1  ts: 1.989173
-ret: 0         st: 1 flags:1 dts: 0.930000 pts: 0.930000 pos: 301375 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301375 size:   
209
 ret: 0         st: 0 flags:0  ts: 0.883000
-ret: 0         st: 1 flags:1 dts: 0.930000 pts: 0.930000 pos: 301375 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.941000 pts: 0.941000 pos: 301375 size:   
209
 ret: 0         st: 0 flags:1  ts:-0.222000
-ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    575 size:   
208
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    575 size:   
208
 ret: 0         st: 1 flags:0  ts: 2.672000
-ret: 0         st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 330175 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330175 size:   
209
 ret: 0         st: 1 flags:1  ts: 1.566000
-ret: 0         st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 330175 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 330175 size:   
209
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 1 flags:1 dts: 0.459000 pts: 0.459000 pos: 147775 size:   
209
+ret: 0         st: 1 flags:1 dts: 0.470000 pts: 0.470000 pos: 147775 size:   
209
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    575 size:   
208
+ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos:    575 size:   
208
diff --git a/tests/ref/seek/lavf-mpg b/tests/ref/seek/lavf-mpg
index 0f0d720..6e27064 100644
--- a/tests/ref/seek/lavf-mpg
+++ b/tests/ref/seek/lavf-mpg
@@ -1,53 +1,53 @@
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:0 dts: 1.880000 pts: 1.920000 pos: 327680 size: 
12894
+ret: 0         st: 0 flags:0 dts: 1.880000 pts: 1.920000 pos: 315392 size: 
12800
 ret: 0         st: 0 flags:0  ts: 0.788333
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st: 0 flags:1  ts:-0.317500
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st: 1 flags:0  ts: 2.576667
-ret: 0         st: 1 flags:1 dts: 1.772767 pts: 1.772767 pos: 368652 size:   
379
+ret: 0         st: 1 flags:1 dts: 1.812767 pts: 1.812767 pos: 368652 size:   
379
 ret: 0         st: 1 flags:1  ts: 1.470833
-ret: 0         st: 1 flags:1 dts: 1.250322 pts: 1.250322 pos: 145408 size:   
261
+ret: 0         st: 1 flags:1 dts: 1.290322 pts: 1.290322 pos: 145408 size:   
261
 ret: 0         st:-1 flags:0  ts: 0.365002
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st:-1 flags:1  ts:-0.740831
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st: 0 flags:0  ts: 2.153333
-ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.960000 pos: 339968 size:   
681
+ret: 0         st: 0 flags:1 dts: 1.960000 pts: 2.000000 pos: 339968 size:   
681
 ret: 0         st: 0 flags:1  ts: 1.047500
-ret: 0         st: 0 flags:0 dts: 1.040000 pts: 1.080000 pos:  40960 size: 
16073
+ret: 0         st: 0 flags:0 dts: 1.040000 pts: 1.080000 pos:  26624 size: 
16303
 ret: 0         st: 1 flags:0  ts:-0.058333
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st: 1 flags:1  ts: 2.835833
-ret: 0         st: 1 flags:1 dts: 1.772767 pts: 1.772767 pos: 368652 size:   
379
+ret: 0         st: 1 flags:1 dts: 1.812767 pts: 1.812767 pos: 368652 size:   
379
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:0 dts: 1.760000 pts: 1.800000 pos: 292864 size: 
13170
+ret: 0         st: 0 flags:0 dts: 1.760000 pts: 1.800000 pos: 280588 size: 
13050
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st: 0 flags:0  ts:-0.481667
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st: 0 flags:1  ts: 2.412500
-ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.960000 pos: 339968 size:   
681
+ret: 0         st: 0 flags:1 dts: 1.960000 pts: 2.000000 pos: 339968 size:   
681
 ret: 0         st: 1 flags:0  ts: 1.306667
-ret: 0         st: 1 flags:1 dts: 1.511544 pts: 1.511544 pos: 342028 size:   
314
+ret: 0         st: 1 flags:1 dts: 1.551544 pts: 1.551544 pos: 342028 size:   
314
 ret: 0         st: 1 flags:1  ts: 0.200844
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st:-1 flags:0  ts:-0.904994
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st:-1 flags:1  ts: 1.989173
-ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.960000 pos: 339968 size:   
681
+ret: 0         st: 0 flags:1 dts: 1.960000 pts: 2.000000 pos: 339968 size:   
681
 ret: 0         st: 0 flags:0  ts: 0.883344
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st: 0 flags:1  ts:-0.222489
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st: 1 flags:0  ts: 2.671678
-ret: 0         st: 1 flags:1 dts: 1.772767 pts: 1.772767 pos: 368652 size:   
379
+ret: 0         st: 1 flags:1 dts: 1.812767 pts: 1.812767 pos: 368652 size:   
379
 ret: 0         st: 1 flags:1  ts: 1.565844
-ret: 0         st: 1 flags:1 dts: 1.511544 pts: 1.511544 pos: 342028 size:   
314
+ret: 0         st: 1 flags:1 dts: 1.551544 pts: 1.551544 pos: 342028 size:   
314
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 1 flags:1 dts: 0.989089 pts: 0.989089 pos:   2048 size:   
208
+ret: 0         st: 1 flags:1 dts: 1.029089 pts: 1.029089 pos:   2048 size:   
208
diff --git a/tests/ref/seek/lavf-ts b/tests/ref/seek/lavf-ts
index 81093b7..df7c4af 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.360000 pts: 1.400000 pos:    564 size: 
24801
+ret: 0         st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos:    564 size: 
24801
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:0 dts: 1.440000 pts: 1.480000 pos:  44932 size: 
14502
+ret: 0         st: 0 flags:0 dts: 1.480000 pts: 1.520000 pos:  44932 size: 
14502
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 1 flags:1 dts: 2.120522 pts: 2.120522 pos: 403636 size:   
209
+ret: 0         st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 403636 size:   
209
 ret: 0         st: 0 flags:0  ts: 0.788333
-ret: 0         st: 0 flags:0 dts: 1.520000 pts: 1.560000 pos:  74260 size: 
13388
+ret: 0         st: 0 flags:0 dts: 1.560000 pts: 1.600000 pos:  74260 size: 
13388
 ret: 0         st: 0 flags:1  ts:-0.317500
-ret: 0         st: 0 flags:1 dts: 1.360000 pts: 1.400000 pos:    564 size: 
24801
+ret: 0         st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos:    564 size: 
24801
 ret: 0         st: 1 flags:0  ts: 2.576667
-ret: 0         st: 1 flags:1 dts: 2.120522 pts: 2.120522 pos: 403636 size:   
209
+ret: 0         st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 403636 size:   
209
 ret: 0         st: 1 flags:1  ts: 1.470833
-ret: 0         st: 0 flags:0 dts: 2.160000 pts: 2.200000 pos: 325240 size: 
12679
+ret: 0         st: 0 flags:0 dts: 2.120000 pts: 2.160000 pos: 294032 size: 
13839
 ret: 0         st:-1 flags:0  ts: 0.365002
-ret: 0         st: 0 flags:0 dts: 1.440000 pts: 1.480000 pos:  44932 size: 
14502
+ret: 0         st: 0 flags:0 dts: 1.480000 pts: 1.520000 pos:  44932 size: 
14502
 ret: 0         st:-1 flags:1  ts:-0.740831
-ret: 0         st: 0 flags:1 dts: 1.360000 pts: 1.400000 pos:    564 size: 
24801
+ret: 0         st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos:    564 size: 
24801
 ret: 0         st: 0 flags:0  ts: 2.153333
-ret: 0         st: 1 flags:1 dts: 2.120522 pts: 2.120522 pos: 403636 size:   
209
+ret: 0         st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 403636 size:   
209
 ret: 0         st: 0 flags:1  ts: 1.047500
-ret: 0         st: 0 flags:0 dts: 1.680000 pts: 1.720000 pos: 130096 size: 
14133
+ret: 0         st: 0 flags:0 dts: 1.720000 pts: 1.760000 pos: 130096 size: 
14133
 ret: 0         st: 1 flags:0  ts:-0.058333
-ret: 0         st: 0 flags:0 dts: 1.440000 pts: 1.480000 pos:  44932 size: 
14502
+ret: 0         st: 0 flags:0 dts: 1.480000 pts: 1.520000 pos:  44932 size: 
14502
 ret: 0         st: 1 flags:1  ts: 2.835833
-ret: 0         st: 1 flags:1 dts: 2.120522 pts: 2.120522 pos: 403636 size:   
209
+ret: 0         st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 403636 size:   
209
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 1 flags:1 dts: 2.120522 pts: 2.120522 pos: 403636 size:   
209
+ret: 0         st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 403636 size:   
209
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 1.360000 pts: 1.400000 pos:    564 size: 
24801
+ret: 0         st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos:    564 size: 
24801
 ret: 0         st: 0 flags:0  ts:-0.481667
-ret: 0         st: 0 flags:0 dts: 1.440000 pts: 1.480000 pos:  44932 size: 
14502
+ret: 0         st: 0 flags:0 dts: 1.480000 pts: 1.520000 pos:  44932 size: 
14502
 ret: 0         st: 0 flags:1  ts: 2.412500
-ret: 0         st: 1 flags:1 dts: 2.120522 pts: 2.120522 pos: 403636 size:   
209
+ret: 0         st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 403636 size:   
209
 ret: 0         st: 1 flags:0  ts: 1.306667
-ret: 0         st: 0 flags:0 dts: 2.080000 pts: 2.120000 pos: 294032 size: 
13839
+ret: 0         st: 0 flags:0 dts: 2.040000 pts: 2.080000 pos: 265644 size: 
12390
 ret: 0         st: 1 flags:1  ts: 0.200844
-ret: 0         st: 0 flags:1 dts: 1.360000 pts: 1.400000 pos:    564 size: 
24801
+ret: 0         st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos:    564 size: 
24801
 ret: 0         st:-1 flags:0  ts:-0.904994
-ret: 0         st: 0 flags:0 dts: 1.440000 pts: 1.480000 pos:  44932 size: 
14502
+ret: 0         st: 0 flags:0 dts: 1.480000 pts: 1.520000 pos:  44932 size: 
14502
 ret: 0         st:-1 flags:1  ts: 1.989173
-ret: 0         st: 1 flags:1 dts: 2.120522 pts: 2.120522 pos: 403636 size:   
209
+ret: 0         st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 403636 size:   
209
 ret: 0         st: 0 flags:0  ts: 0.883344
-ret: 0         st: 0 flags:0 dts: 1.600000 pts: 1.640000 pos: 102836 size: 
12781
+ret: 0         st: 0 flags:0 dts: 1.640000 pts: 1.680000 pos: 102836 size: 
12781
 ret: 0         st: 0 flags:1  ts:-0.222489
-ret: 0         st: 0 flags:1 dts: 1.360000 pts: 1.400000 pos:    564 size: 
24801
+ret: 0         st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos:    564 size: 
24801
 ret: 0         st: 1 flags:0  ts: 2.671678
-ret: 0         st: 1 flags:1 dts: 2.120522 pts: 2.120522 pos: 403636 size:   
209
+ret: 0         st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 403636 size:   
209
 ret: 0         st: 1 flags:1  ts: 1.565844
-ret: 0         st: 0 flags:0 dts: 2.240000 pts: 2.280000 pos: 350996 size: 
11307
+ret: 0         st: 0 flags:0 dts: 2.200000 pts: 2.240000 pos: 325240 size: 
12679
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:0 dts: 1.440000 pts: 1.480000 pos:  44932 size: 
14502
+ret: 0         st: 0 flags:0 dts: 1.480000 pts: 1.520000 pos:  44932 size: 
14502
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 1.360000 pts: 1.400000 pos:    564 size: 
24801
+ret: 0         st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos:    564 size: 
24801
-- 
1.8.1.5

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to