1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-03-28 12:32:17 +02:00

gifdec: remove width and height from demuxer context

Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
Paul B Mahol 2012-11-30 16:09:02 +00:00
parent 2c69fcc2ff
commit 57b00d7ab1

View File

@ -32,8 +32,6 @@
typedef struct GIFDemuxContext { typedef struct GIFDemuxContext {
const AVClass *class; const AVClass *class;
uint32_t width;
uint32_t height;
/** /**
* Time span in hundredths of second before * Time span in hundredths of second before
* the next frame should be drawn on screen. * the next frame should be drawn on screen.
@ -79,17 +77,17 @@ static int gif_read_header(AVFormatContext *s)
GIFDemuxContext *gdc = s->priv_data; GIFDemuxContext *gdc = s->priv_data;
AVIOContext *pb = s->pb; AVIOContext *pb = s->pb;
AVStream *st; AVStream *st;
int ret; int width, height, ret;
/* skip 6-byte magick */ /* skip 6-byte magick */
if ((ret = avio_skip(pb, 6)) < 0) if ((ret = avio_skip(pb, 6)) < 0)
return ret; return ret;
gdc->delay = gdc->default_delay; gdc->delay = gdc->default_delay;
gdc->width = avio_rl16(pb); width = avio_rl16(pb);
gdc->height = avio_rl16(pb); height = avio_rl16(pb);
if (gdc->width == 0 || gdc->height == 0) if (width == 0 || height == 0)
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
st = avformat_new_stream(s, NULL); st = avformat_new_stream(s, NULL);
@ -101,8 +99,8 @@ static int gif_read_header(AVFormatContext *s)
avpriv_set_pts_info(st, 64, 1, 100); avpriv_set_pts_info(st, 64, 1, 100);
st->codec->codec_type = AVMEDIA_TYPE_VIDEO; st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
st->codec->codec_id = AV_CODEC_ID_GIF; st->codec->codec_id = AV_CODEC_ID_GIF;
st->codec->width = gdc->width; st->codec->width = width;
st->codec->height = gdc->height; st->codec->height = height;
/* jump to start because gif decoder needs header data too */ /* jump to start because gif decoder needs header data too */
if (avio_seek(pb, 0, SEEK_SET) != 0) if (avio_seek(pb, 0, SEEK_SET) != 0)