Mercurial > libavcodec.hg
comparison motion_est.c @ 1764:5f42b809bc04 libavcodec
4mv + b frame encoding segfault fix
author | michael |
---|---|
date | Wed, 28 Jan 2004 00:36:58 +0000 |
parents | 67949dc3117b |
children | 95612d423fde |
comparison
equal
deleted
inserted
replaced
1763:951403db901f | 1764:5f42b809bc04 |
---|---|
1575 // s->me.direct_basis_mv[1][i][0]= s->me.co_located_mv[i][0]*(time_pb - time_pp)/time_pp + ((i &1)<<(shift+3); | 1575 // s->me.direct_basis_mv[1][i][0]= s->me.co_located_mv[i][0]*(time_pb - time_pp)/time_pp + ((i &1)<<(shift+3); |
1576 // s->me.direct_basis_mv[1][i][1]= s->me.co_located_mv[i][1]*(time_pb - time_pp)/time_pp + ((i>>1)<<(shift+3); | 1576 // s->me.direct_basis_mv[1][i][1]= s->me.co_located_mv[i][1]*(time_pb - time_pp)/time_pp + ((i>>1)<<(shift+3); |
1577 | 1577 |
1578 max= FFMAX(s->me.direct_basis_mv[i][0], s->me.direct_basis_mv[i][0] - s->me.co_located_mv[i][0])>>shift; | 1578 max= FFMAX(s->me.direct_basis_mv[i][0], s->me.direct_basis_mv[i][0] - s->me.co_located_mv[i][0])>>shift; |
1579 min= FFMIN(s->me.direct_basis_mv[i][0], s->me.direct_basis_mv[i][0] - s->me.co_located_mv[i][0])>>shift; | 1579 min= FFMIN(s->me.direct_basis_mv[i][0], s->me.direct_basis_mv[i][0] - s->me.co_located_mv[i][0])>>shift; |
1580 max+= (2*mb_x + (i& 1))*8 + 1; // +-1 is for the simpler rounding | 1580 max+= 16*mb_x + 1; // +-1 is for the simpler rounding |
1581 min+= (2*mb_x + (i& 1))*8 - 1; | 1581 min+= 16*mb_x - 1; |
1582 xmax= FFMIN(xmax, s->width - max); | 1582 xmax= FFMIN(xmax, s->width - max); |
1583 xmin= FFMAX(xmin, - 16 - min); | 1583 xmin= FFMAX(xmin, - 16 - min); |
1584 | 1584 |
1585 max= FFMAX(s->me.direct_basis_mv[i][1], s->me.direct_basis_mv[i][1] - s->me.co_located_mv[i][1])>>shift; | 1585 max= FFMAX(s->me.direct_basis_mv[i][1], s->me.direct_basis_mv[i][1] - s->me.co_located_mv[i][1])>>shift; |
1586 min= FFMIN(s->me.direct_basis_mv[i][1], s->me.direct_basis_mv[i][1] - s->me.co_located_mv[i][1])>>shift; | 1586 min= FFMIN(s->me.direct_basis_mv[i][1], s->me.direct_basis_mv[i][1] - s->me.co_located_mv[i][1])>>shift; |
1587 max+= (2*mb_y + (i>>1))*8 + 1; // +-1 is for the simpler rounding | 1587 max+= 16*mb_y + 1; // +-1 is for the simpler rounding |
1588 min+= (2*mb_y + (i>>1))*8 - 1; | 1588 min+= 16*mb_y - 1; |
1589 ymax= FFMIN(ymax, s->height - max); | 1589 ymax= FFMIN(ymax, s->height - max); |
1590 ymin= FFMAX(ymin, - 16 - min); | 1590 ymin= FFMAX(ymin, - 16 - min); |
1591 | 1591 |
1592 if(s->mv_type == MV_TYPE_16X16) break; | 1592 if(s->mv_type == MV_TYPE_16X16) break; |
1593 } | 1593 } |