Browse Source

g2meet: allow size changes within original sizes

tags/n2.4
Vittorio Giovara 11 years ago
parent
commit
14b4e64eab
1 changed files with 7 additions and 2 deletions
  1. +7
    -2
      libavcodec/g2meet.c

+ 7
- 2
libavcodec/g2meet.c View File

@@ -90,6 +90,7 @@ typedef struct G2MContext {

int compression;
int width, height, bpp;
int orig_width, orig_height;
int tile_width, tile_height;
int tiles_x, tiles_y, tile_x, tile_y;

@@ -710,8 +711,8 @@ static int g2m_decode_frame(AVCodecContext *avctx, void *data,
}
c->width = bytestream2_get_be32(&bc);
c->height = bytestream2_get_be32(&bc);
if (c->width < 16 || c->width > avctx->width ||
c->height < 16 || c->height > avctx->height) {
if (c->width < 16 || c->width > c->orig_width ||
c->height < 16 || c->height > c->orig_height) {
av_log(avctx, AV_LOG_ERROR,
"Invalid frame dimensions %dx%d\n",
c->width, c->height);
@@ -875,6 +876,10 @@ static av_cold int g2m_decode_init(AVCodecContext *avctx)

avctx->pix_fmt = AV_PIX_FMT_RGB24;

// store original sizes and check against those if resize happens
c->orig_width = avctx->width;
c->orig_height = avctx->height;

return 0;
}



Loading…
Cancel
Save