Mercurial > libavcodec.hg
comparison motion_est.c @ 960:dd421045b4ce libavcodec
b frame segfault fix
author | michaelni |
---|---|
date | Mon, 06 Jan 2003 01:20:37 +0000 |
parents | 13aec7e50c52 |
children | b2cf2a1d9a51 |
comparison
equal
deleted
inserted
replaced
959:3ec070eef24a | 960:dd421045b4ce |
---|---|
1307 | 1307 |
1308 max= FFMAX(s->me.direct_basis_mv[i][0], s->me.direct_basis_mv[i][0] - s->me.co_located_mv[i][0])>>shift; | 1308 max= FFMAX(s->me.direct_basis_mv[i][0], s->me.direct_basis_mv[i][0] - s->me.co_located_mv[i][0])>>shift; |
1309 min= FFMIN(s->me.direct_basis_mv[i][0], s->me.direct_basis_mv[i][0] - s->me.co_located_mv[i][0])>>shift; | 1309 min= FFMIN(s->me.direct_basis_mv[i][0], s->me.direct_basis_mv[i][0] - s->me.co_located_mv[i][0])>>shift; |
1310 max+= (2*mb_x + (i& 1))*8 - 1; // +-1 is for the simpler rounding | 1310 max+= (2*mb_x + (i& 1))*8 - 1; // +-1 is for the simpler rounding |
1311 min+= (2*mb_x + (i& 1))*8 + 1; | 1311 min+= (2*mb_x + (i& 1))*8 + 1; |
1312 if(max >= s->width) xmax= s->width - max - 1; | 1312 xmax= FFMIN(xmax, s->width - max); |
1313 if(min < -16 ) xmin= - 32 - min; | 1313 xmin= FFMAX(xmin, - 16 - min); |
1314 | 1314 |
1315 max= FFMAX(s->me.direct_basis_mv[i][1], s->me.direct_basis_mv[i][1] - s->me.co_located_mv[i][1])>>shift; | 1315 max= FFMAX(s->me.direct_basis_mv[i][1], s->me.direct_basis_mv[i][1] - s->me.co_located_mv[i][1])>>shift; |
1316 min= FFMIN(s->me.direct_basis_mv[i][1], s->me.direct_basis_mv[i][1] - s->me.co_located_mv[i][1])>>shift; | 1316 min= FFMIN(s->me.direct_basis_mv[i][1], s->me.direct_basis_mv[i][1] - s->me.co_located_mv[i][1])>>shift; |
1317 max+= (2*mb_y + (i>>1))*8 - 1; // +-1 is for the simpler rounding | 1317 max+= (2*mb_y + (i>>1))*8 - 1; // +-1 is for the simpler rounding |
1318 min+= (2*mb_y + (i>>1))*8 + 1; | 1318 min+= (2*mb_y + (i>>1))*8 + 1; |
1319 if(max >= s->height) ymax= s->height - max - 1; | 1319 ymax= FFMIN(ymax, s->height - max); |
1320 if(min < -16 ) ymin= - 32 - min; | 1320 ymin= FFMAX(ymin, - 16 - min); |
1321 | 1321 |
1322 if(s->mv_type == MV_TYPE_16X16) break; | 1322 if(s->mv_type == MV_TYPE_16X16) break; |
1323 } | 1323 } |
1324 | 1324 |
1325 assert(xmax <= 15 && ymax <= 15 && xmin >= -16 && ymin >= -16); | 1325 assert(xmax <= 15 && ymax <= 15 && xmin >= -16 && ymin >= -16); |