Browse Source

gifdec: do not handle timestamps

It is broken, and results will be messed up when seeking.

This also fix duration displayed for streams when using -c copy.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
tags/n1.1
Paul B Mahol 12 years ago
parent
commit
18aaed6475
2 changed files with 1 additions and 10 deletions
  1. +0
    -9
      libavformat/gifdec.c
  2. +1
    -1
      tests/ref/lavf/gif

+ 0
- 9
libavformat/gifdec.c View File

@@ -44,8 +44,6 @@ typedef struct GIFDemuxContext {
*/
int min_delay;
int default_delay;
int total_duration; ///< In hundredths of second.
int frame_idx;
} GIFDemuxContext;

/**
@@ -190,9 +188,6 @@ static int gif_read_packet(AVFormatContext *s, AVPacket *pkt)
if ((ret = avio_skip(pb, ct_size)) < 0)
return ret;
}

gdc->total_duration = 0;
gdc->frame_idx = 0;
} else {
avio_seek(pb, -ret, SEEK_CUR);
ret = AVERROR_EOF;
@@ -239,15 +234,11 @@ static int gif_read_packet(AVFormatContext *s, AVPacket *pkt)
pkt->flags |= AV_PKT_FLAG_KEY;

pkt->stream_index = 0;
pkt->pts = gdc->total_duration;
gdc->total_duration += gdc->delay;
pkt->duration = gdc->delay;
pkt->dts = gdc->frame_idx;

/* Graphic Control Extension's scope is single frame.
* Remove its influence. */
gdc->delay = gdc->default_delay;
gdc->frame_idx++;
frame_parsed = 1;

break;


+ 1
- 1
tests/ref/lavf/gif View File

@@ -1,6 +1,6 @@
e6089fd4ef3b9df44090ab3650bdd810 *./tests/data/lavf/lavf.gif
2906401 ./tests/data/lavf/lavf.gif
./tests/data/lavf/lavf.gif CRC=0xbf89a246
./tests/data/lavf/lavf.gif CRC=0x9825d7c0
022dc66b5068404e88c618ce79d9eb5f *./tests/data/images/gif/02.gif
./tests/data/images/gif/%02d.gif CRC=0x032e0034
81538 ./tests/data/images/gif/02.gif


Loading…
Cancel
Save