mirror of
https://github.com/librempeg/librempeg
synced 2024-11-23 11:39:47 +00:00
Correct x/ymin to avoid segfault due to out of picture reads.
Originally committed as revision 18771 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
5f9ae1983d
commit
9a3eaeebad
@ -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);
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user