You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-07-11 14:30:22 +02:00
avcodec/webp: Factor update_canvas_size() out
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c4f63b78b7
)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
@ -1099,6 +1099,21 @@ static int apply_color_indexing_transform(WebPContext *s)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void update_canvas_size(AVCodecContext *avctx, int w, int h)
|
||||||
|
{
|
||||||
|
WebPContext *s = avctx->priv_data;
|
||||||
|
if (s->width && s->width != w) {
|
||||||
|
av_log(avctx, AV_LOG_WARNING, "Width mismatch. %d != %d\n",
|
||||||
|
s->width, w);
|
||||||
|
}
|
||||||
|
s->width = w;
|
||||||
|
if (s->height && s->height != h) {
|
||||||
|
av_log(avctx, AV_LOG_WARNING, "Height mismatch. %d != %d\n",
|
||||||
|
s->height, h);
|
||||||
|
}
|
||||||
|
s->height = h;
|
||||||
|
}
|
||||||
|
|
||||||
static int vp8_lossless_decode_frame(AVCodecContext *avctx, AVFrame *p,
|
static int vp8_lossless_decode_frame(AVCodecContext *avctx, AVFrame *p,
|
||||||
int *got_frame, uint8_t *data_start,
|
int *got_frame, uint8_t *data_start,
|
||||||
unsigned int data_size, int is_alpha_chunk)
|
unsigned int data_size, int is_alpha_chunk)
|
||||||
@ -1123,16 +1138,8 @@ static int vp8_lossless_decode_frame(AVCodecContext *avctx, AVFrame *p,
|
|||||||
|
|
||||||
w = get_bits(&s->gb, 14) + 1;
|
w = get_bits(&s->gb, 14) + 1;
|
||||||
h = get_bits(&s->gb, 14) + 1;
|
h = get_bits(&s->gb, 14) + 1;
|
||||||
if (s->width && s->width != w) {
|
|
||||||
av_log(avctx, AV_LOG_WARNING, "Width mismatch. %d != %d\n",
|
update_canvas_size(avctx, w, h);
|
||||||
s->width, w);
|
|
||||||
}
|
|
||||||
s->width = w;
|
|
||||||
if (s->height && s->height != h) {
|
|
||||||
av_log(avctx, AV_LOG_WARNING, "Height mismatch. %d != %d\n",
|
|
||||||
s->width, w);
|
|
||||||
}
|
|
||||||
s->height = h;
|
|
||||||
|
|
||||||
ret = ff_set_dimensions(avctx, s->width, s->height);
|
ret = ff_set_dimensions(avctx, s->width, s->height);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
Reference in New Issue
Block a user