diff options
Diffstat (limited to 'contrib/ffmpeg/libavcodec/gifdec.c')
-rw-r--r-- | contrib/ffmpeg/libavcodec/gifdec.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/contrib/ffmpeg/libavcodec/gifdec.c b/contrib/ffmpeg/libavcodec/gifdec.c index 3e8a3e6bc..8f0252694 100644 --- a/contrib/ffmpeg/libavcodec/gifdec.c +++ b/contrib/ffmpeg/libavcodec/gifdec.c @@ -47,8 +47,8 @@ typedef struct GifState { int gce_delay; /* LZW compatible decoder */ - uint8_t *bytestream; - uint8_t *bytestream_end; + const uint8_t *bytestream; + const uint8_t *bytestream_end; LZWState *lzw; /* aux buffers */ @@ -96,8 +96,7 @@ static int gif_read_image(GifState *s) n = (1 << bits_per_pixel); spal = palette; for(i = 0; i < n; i++) { - s->image_palette[i] = (0xff << 24) | - (spal[0] << 16) | (spal[1] << 8) | (spal[2]); + s->image_palette[i] = (0xff << 24) | AV_RB24(spal); spal += 3; } for(; i < 256; i++) @@ -258,18 +257,15 @@ static int gif_parse_next_image(GifState *s) #endif switch (code) { case ',': - if (gif_read_image(s) < 0) - return -1; - return 0; - case ';': - /* end of image */ - return -1; + return gif_read_image(s); case '!': if (gif_read_extension(s) < 0) return -1; break; + case ';': + /* end of image */ default: - /* error or errneous EOF */ + /* error or erroneous EOF */ return -1; } } @@ -289,7 +285,7 @@ static int gif_decode_init(AVCodecContext *avctx) return 0; } -static int gif_decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size) +static int gif_decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size) { GifState *s = avctx->priv_data; AVFrame *picture = data; |