[FFmpeg-cvslog] g2meet: allow size changes within original sizes
Vittorio Giovara
git at videolan.org
Wed Jul 23 10:51:12 CEST 2014
ffmpeg | branch: release/2.2 | Vittorio Giovara <vittorio.giovara at gmail.com> | Tue Jul 15 15:22:11 2014 -0400| [68fd80ee1ca22c39b6ef4e6641b5b2e0d4d89a14] | committer: Vittorio Giovara
g2meet: allow size changes within original sizes
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=68fd80ee1ca22c39b6ef4e6641b5b2e0d4d89a14
---
libavcodec/g2meet.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c
index 89fafef..e1e7177 100644
--- a/libavcodec/g2meet.c
+++ b/libavcodec/g2meet.c
@@ -87,6 +87,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;
@@ -698,8 +699,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);
@@ -860,6 +861,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;
}
More information about the ffmpeg-cvslog
mailing list