[SCM] libav/experimental: Correct x/ymin to avoid segfault due to out of picture reads.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:45:26 UTC 2013


The following commit has been merged in the experimental branch:
commit 9a3eaeebad8bd0b62d76680d5895a4bdeb228ae4
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Fri May 8 15:14:36 2009 +0000

    Correct x/ymin to avoid segfault due to out of picture reads.
    
    Originally committed as revision 18771 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/snow.c b/libavcodec/snow.c
index 995c1a2..5a1a668 100644
--- a/libavcodec/snow.c
+++ b/libavcodec/snow.c
@@ -1807,10 +1807,10 @@ static int encode_q_branch(SnowContext *s, int level, int x, int y){
     c->mb_penalty_factor = get_penalty_factor(s->lambda, s->lambda2, c->avctx->mb_cmp);
     c->current_mv_penalty= c->mv_penalty[s->m.f_code=1] + MAX_MV;
 
-    c->xmin = - x*block_w - 16+2;
-    c->ymin = - y*block_w - 16+2;
-    c->xmax = - (x+1)*block_w + (w<<(LOG2_MB_SIZE - s->block_max_depth)) + 16-2;
-    c->ymax = - (y+1)*block_w + (h<<(LOG2_MB_SIZE - s->block_max_depth)) + 16-2;
+    c->xmin = - x*block_w - 16+3;
+    c->ymin = - y*block_w - 16+3;
+    c->xmax = - (x+1)*block_w + (w<<(LOG2_MB_SIZE - s->block_max_depth)) + 16-3;
+    c->ymax = - (y+1)*block_w + (h<<(LOG2_MB_SIZE - s->block_max_depth)) + 16-3;
 
     if(P_LEFT[0]     > (c->xmax<<shift)) P_LEFT[0]    = (c->xmax<<shift);
     if(P_LEFT[1]     > (c->ymax<<shift)) P_LEFT[1]    = (c->ymax<<shift);
diff --git a/tests/ffmpeg.regression.ref b/tests/ffmpeg.regression.ref
index 2a3f082..313f87f 100644
--- a/tests/ffmpeg.regression.ref
+++ b/tests/ffmpeg.regression.ref
@@ -146,8 +146,8 @@ stddev:    0.00 PSNR:999.99 bytes:  7603200/  7603200
 137018 ./tests/data/a-snow.avi
 3a00e0016a28f4b759c2e9df8cd3db02 *./tests/data/snow.vsynth.out.yuv
 stddev:   22.73 PSNR: 20.99 bytes:  7603200/  7603200
-c7397d2ceb420f7564dcc785948bff84 *./tests/data/a-snow53.avi
-3520692 ./tests/data/a-snow53.avi
+48fdd2eb0b44c867c1652c13bde246da *./tests/data/a-snow53.avi
+3520700 ./tests/data/a-snow53.avi
 799d3db687f6cdd7a837ec156efc171f *./tests/data/snowll.vsynth.out.yuv
 stddev:    0.00 PSNR:999.99 bytes:  7603200/  7603200
 9bfab037b2779eef4b95773788bbe369 *./tests/data/a-dv.dv

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list