aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer2014-07-16 03:40:13 +0200
committerMichael Niedermayer2014-07-16 03:40:51 +0200
commitf00bb086cb976a054a9c72df3a4fa7278a4f0dad (patch)
tree50922ab6b3f158856708f6ebcc15c04a9a28f8a1
parentfaafd1e4f1fcc2d618633eae4dc532050b2be988 (diff)
parent14b4e64eabc84c5a5e57c8ccc56bbeb95380823b (diff)
Merge commit '14b4e64eabc84c5a5e57c8ccc56bbeb95380823b'
* commit '14b4e64eabc84c5a5e57c8ccc56bbeb95380823b': g2meet: allow size changes within original sizes Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/g2meet.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c
index 60c48c382f..1004e1921e 100644
--- a/libavcodec/g2meet.c
+++ b/libavcodec/g2meet.c
@@ -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;
@@ -712,8 +713,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);
@@ -882,6 +883,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;
}