Browse Source

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>
tags/n3.1.8
Michael Niedermayer 8 years ago
parent
commit
6f4e69d661
1 changed files with 17 additions and 10 deletions
  1. +17
    -10
      libavcodec/webp.c

+ 17
- 10
libavcodec/webp.c View File

@@ -1098,6 +1098,21 @@ static int apply_color_indexing_transform(WebPContext *s)
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,
int *got_frame, uint8_t *data_start,
unsigned int data_size, int is_alpha_chunk)
@@ -1122,16 +1137,8 @@ static int vp8_lossless_decode_frame(AVCodecContext *avctx, AVFrame *p,

w = 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",
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;

update_canvas_size(avctx, w, h);

ret = ff_set_dimensions(avctx, s->width, s->height);
if (ret < 0)


Loading…
Cancel
Save