--- ldecod/src/mb_access.c 2006-03-29 21:47:41.000000000 -0800 (JM10.2) +++ ldecod/src/mb_access.c 2006-04-30 18:04:04.295909752 -0700 @@ -185,19 +185,12 @@ if (pix->available || img->DeblockCall) { - pix->x = (xN + maxW) % maxW; - pix->y = (yN + maxH) % maxH; - get_mb_pos(pix->mb_addr, &(pix->pos_x), &(pix->pos_y)); - if (luma) - { - pix->pos_x += pix->x; - pix->pos_y += pix->y; - } - else - { - pix->pos_x = pix->pos_x/(16/img->mb_cr_size_x) + pix->x; - pix->pos_y = pix->pos_y/(16/img->mb_cr_size_y) + pix->y; - } + unsigned int mb_addr = pix->mb_addr; + unsigned int width = dec_picture->PicWidthInMbs; + pix->x = xN & (maxW-1); + pix->y = yN & (maxH-1); + pix->pos_x = (mb_addr % width) * maxW + pix->x; + pix->pos_y = (mb_addr / width) * maxH + pix->y; } } --- lencod/src/mb_access.c 2006-03-29 21:47:41.000000000 -0800 (JM10.2) +++ lencod/src/mb_access.c 2006-04-30 18:07:12.664273408 -0700 @@ -188,26 +188,12 @@ if (pix->available || img->DeblockCall) { - //pix->x = (xN + maxW) % maxW; - //pix->y = (yN + maxH) % maxH; - pix->x = (xN + maxW) & (maxW - 1); - pix->y = (yN + maxH) & (maxH - 1); - - - get_mb_pos(pix->mb_addr, &(pix->pos_x), &(pix->pos_y)); - - if (luma) - { - pix->pos_x += pix->x; - pix->pos_y += pix->y; - } - else - { - //pix->pos_x = pix->pos_x/(16/img->mb_cr_size_x) + pix->x; - //pix->pos_y = pix->pos_y/(16/img->mb_cr_size_y) + pix->y; - pix->pos_x = ((img->mb_cr_size_x * pix->pos_x) >> 4) + pix->x; - pix->pos_y = ((img->mb_cr_size_y * pix->pos_y) >> 4) + pix->y; - } + unsigned int mb_addr = pix->mb_addr; + unsigned int width = img->PicWidthInMbs; + pix->x = xN & (maxW-1); + pix->y = yN & (maxH-1); + pix->pos_x = (mb_addr % width) * maxW + pix->x; + pix->pos_y = (mb_addr / width) * maxH + pix->y; } }