/* verify that all the image is inside the screen dimensions */
if (left + width > s->screen_width ||
top + height > s->screen_height)
- return -EINVAL;
+ return AVERROR(EINVAL);
/* build the palette */
if (s->pix_fmt == PIX_FMT_RGB24) {
line = av_malloc(width);
if (!line)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
} else {
n = (1 << bits_per_pixel);
spal = palette;
switch (code) {
case ',':
if (gif_read_image(s) < 0)
- return AVERROR_IO;
+ return AVERROR(EIO);
ret = 0;
goto the_end;
case ';':
/* end of image */
- ret = AVERROR_IO;
+ ret = AVERROR(EIO);
goto the_end;
case '!':
if (gif_read_extension(s) < 0)
- return AVERROR_IO;
+ return AVERROR(EIO);
break;
case EOF:
default:
/* error or errneous EOF */
- ret = AVERROR_IO;
+ ret = AVERROR(EIO);
goto the_end;
}
}
s->image_linesize = s->screen_width * 3;
s->image_buf = av_malloc(s->screen_height * s->image_linesize);
if (!s->image_buf)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
s->pix_fmt = PIX_FMT_RGB24;
/* now we are ready: build format streams */
st = av_new_stream(s1, 0);
/* XXX: avoid copying */
if (av_new_packet(pkt, s->screen_width * s->screen_height * 3)) {
- return AVERROR_IO;
+ return AVERROR(EIO);
}
pkt->stream_index = 0;
memcpy(pkt->data, s->image_buf, s->screen_width * s->screen_height * 3);