for(i=1;i<8;i++) { block[block_permute_op(i)] += ac_val[i + 8];
if(s->mb_y==0 || s->qscale == s->qscale_table[xy] || n==2 || n==3){  for(i=1;i<8;i++) { block[block_permute_op(i)] += ac_val[i + 8]; } }else{  for(i=1;i<8;i++) { block[block_permute_op(i)] += ROUNDED_DIV(ac_val[i + 8]*s->qscale_table[xy], s->qscale); }
void mpeg4_pred_ac(MpegEncContext * s, INT16 *block, int n,                   int dir){    int i;    INT16 *ac_val, *ac_val1;    /* find prediction */    ac_val = s->ac_val[0][0] + s->block_index[n] * 16;    ac_val1 = ac_val;    if (s->ac_pred) {        if (dir == 0) {            /* left prediction */            ac_val -= 16;            for(i=1;i<8;i++) {                block[block_permute_op(i*8)] += ac_val[i];            }        } else {            /* top prediction */            ac_val -= 16 * s->block_wrap[n];            for(i=1;i<8;i++) {                block[block_permute_op(i)] += ac_val[i + 8];            }        }    }    /* left copy */    for(i=1;i<8;i++)        ac_val1[i] = block[block_permute_op(i * 8)];    /* top copy */    for(i=1;i<8;i++)        ac_val1[8 + i] = block[block_permute_op(i)];}