+ omx = bmx; omy = bmy; + if(omx-i_me_range > mv_x_min && omx+i_me_range < mv_x_max && + omy-i_me_range > mv_y_max && omy+i_me_range < mv_y_max) { + for( i = 0; i < i_me_range/4; i++) + { + for( j = 0; j < i_me_range/4; j++) + { + COST_MV_X4(4*i,4*j,4*i,-4*j,-4*i,4*j,-4*i,-4*j); + } + } + } + else { + for( i = 0; i < i_me_range/4; i++) + { + if(omx-4*i > mv_x_min) { + for( j = 0; j < i_me_range; j++) { + if(omy-4*j > mv_y_min) + COST_MV(omx-4*i,omy-4*j); + if(omy+4*j < mv_y_max) + COST_MV(omx-4*i,omy+4*j); + } + } + if(omx+4*i < mv_x_max) { + for( j = 0; j < i_me_range; j++) { + if(omy-4*j > mv_y_min) + COST_MV(omx+4*i,omy-4*j); + if(omy+4*j < mv_y_max) + COST_MV(omx+4*i,omy+4*j); + } + } + } + } + + if( bmx != omx && bmy != omy && CHECK_MVRANGE(bmx,bmy)) + DIA2_ITER(bmx,bmy); + if( bmx != omx && bmy != omy) + DIA1_ITER(bmx,bmy); + if( bmx != omx && bmy != omy) + DIA1_ITER(bmx,bmy);