[SCM] libav/experimental: g2meet: allow size changes within original sizes

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Aug 10 16:03:51 UTC 2014


The following commit has been merged in the experimental branch:
commit 14b4e64eabc84c5a5e57c8ccc56bbeb95380823b
Author: Vittorio Giovara <vittorio.giovara at gmail.com>
Date:   Tue Jul 15 15:22:11 2014 -0400

    g2meet: allow size changes within original sizes

diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c
index 456045d..c405f38 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;
 
@@ -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;
 }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list