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>
This commit is contained in:
parent
0877f64fea
commit
18aaed6475
@ -44,8 +44,6 @@ typedef struct GIFDemuxContext {
|
|||||||
*/
|
*/
|
||||||
int min_delay;
|
int min_delay;
|
||||||
int default_delay;
|
int default_delay;
|
||||||
int total_duration; ///< In hundredths of second.
|
|
||||||
int frame_idx;
|
|
||||||
} GIFDemuxContext;
|
} GIFDemuxContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -190,9 +188,6 @@ static int gif_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
if ((ret = avio_skip(pb, ct_size)) < 0)
|
if ((ret = avio_skip(pb, ct_size)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
gdc->total_duration = 0;
|
|
||||||
gdc->frame_idx = 0;
|
|
||||||
} else {
|
} else {
|
||||||
avio_seek(pb, -ret, SEEK_CUR);
|
avio_seek(pb, -ret, SEEK_CUR);
|
||||||
ret = AVERROR_EOF;
|
ret = AVERROR_EOF;
|
||||||
@ -239,15 +234,11 @@ static int gif_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
pkt->flags |= AV_PKT_FLAG_KEY;
|
pkt->flags |= AV_PKT_FLAG_KEY;
|
||||||
|
|
||||||
pkt->stream_index = 0;
|
pkt->stream_index = 0;
|
||||||
pkt->pts = gdc->total_duration;
|
|
||||||
gdc->total_duration += gdc->delay;
|
|
||||||
pkt->duration = gdc->delay;
|
pkt->duration = gdc->delay;
|
||||||
pkt->dts = gdc->frame_idx;
|
|
||||||
|
|
||||||
/* Graphic Control Extension's scope is single frame.
|
/* Graphic Control Extension's scope is single frame.
|
||||||
* Remove its influence. */
|
* Remove its influence. */
|
||||||
gdc->delay = gdc->default_delay;
|
gdc->delay = gdc->default_delay;
|
||||||
gdc->frame_idx++;
|
|
||||||
frame_parsed = 1;
|
frame_parsed = 1;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
e6089fd4ef3b9df44090ab3650bdd810 *./tests/data/lavf/lavf.gif
|
e6089fd4ef3b9df44090ab3650bdd810 *./tests/data/lavf/lavf.gif
|
||||||
2906401 ./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
|
022dc66b5068404e88c618ce79d9eb5f *./tests/data/images/gif/02.gif
|
||||||
./tests/data/images/gif/%02d.gif CRC=0x032e0034
|
./tests/data/images/gif/%02d.gif CRC=0x032e0034
|
||||||
81538 ./tests/data/images/gif/02.gif
|
81538 ./tests/data/images/gif/02.gif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user