mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-14 00:58:38 +02:00
g2meet: allow size changes within original sizes
This commit is contained in:
parent
f9900822fc
commit
14b4e64eab
@ -90,6 +90,7 @@ typedef struct G2MContext {
|
|||||||
|
|
||||||
int compression;
|
int compression;
|
||||||
int width, height, bpp;
|
int width, height, bpp;
|
||||||
|
int orig_width, orig_height;
|
||||||
int tile_width, tile_height;
|
int tile_width, tile_height;
|
||||||
int tiles_x, tiles_y, tile_x, tile_y;
|
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->width = bytestream2_get_be32(&bc);
|
||||||
c->height = bytestream2_get_be32(&bc);
|
c->height = bytestream2_get_be32(&bc);
|
||||||
if (c->width < 16 || c->width > avctx->width ||
|
if (c->width < 16 || c->width > c->orig_width ||
|
||||||
c->height < 16 || c->height > avctx->height) {
|
c->height < 16 || c->height > c->orig_height) {
|
||||||
av_log(avctx, AV_LOG_ERROR,
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
"Invalid frame dimensions %dx%d\n",
|
"Invalid frame dimensions %dx%d\n",
|
||||||
c->width, c->height);
|
c->width, c->height);
|
||||||
@ -875,6 +876,10 @@ static av_cold int g2m_decode_init(AVCodecContext *avctx)
|
|||||||
|
|
||||||
avctx->pix_fmt = AV_PIX_FMT_RGB24;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user