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:
parent
2c69fcc2ff
commit
57b00d7ab1
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user