}
/* verify that all the image is inside the screen dimensions */
- if (!width || width > s->screen_width || left >= s->screen_width) {
- av_log(s->avctx, AV_LOG_ERROR, "Invalid image width.\n");
+ if (!width || width > s->screen_width) {
+ av_log(s->avctx, AV_LOG_WARNING, "Invalid image width: %d, truncating.\n", width);
+ width = s->screen_width;
+ }
+ if (left >= s->screen_width) {
+ av_log(s->avctx, AV_LOG_ERROR, "Invalid left position: %d.\n", left);
return AVERROR_INVALIDDATA;
}
- if (!height || height > s->screen_height || top >= s->screen_height) {
- av_log(s->avctx, AV_LOG_ERROR, "Invalid image height.\n");
+ if (!height || height > s->screen_height) {
+ av_log(s->avctx, AV_LOG_WARNING, "Invalid image height: %d, truncating.\n", height);
+ height = s->screen_height;
+ }
+ if (top >= s->screen_height) {
+ av_log(s->avctx, AV_LOG_ERROR, "Invalid top position: %d.\n", top);
return AVERROR_INVALIDDATA;
}
if (left + width > s->screen_width) {
bytestream2_init(&s->gb, avpkt->data, avpkt->size);
s->frame->pts = avpkt->pts;
-#if FF_API_PKT_PTS
-FF_DISABLE_DEPRECATION_WARNINGS
- s->frame->pkt_pts = avpkt->pts;
-FF_ENABLE_DEPRECATION_WARNINGS
-#endif
s->frame->pkt_dts = avpkt->dts;
s->frame->pkt_duration = avpkt->duration;
return AVERROR_INVALIDDATA;
}
- if ((ret = ff_reget_buffer(avctx, s->frame)) < 0)
+ if ((ret = ff_reget_buffer(avctx, s->frame, 0)) < 0)
return ret;
s->frame->pict_type = AV_PICTURE_TYPE_P;
.category = AV_CLASS_CATEGORY_DECODER,
};
-AVCodec ff_gif_decoder = {
+const AVCodec ff_gif_decoder = {
.name = "gif",
.long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"),
.type = AVMEDIA_TYPE_VIDEO,