- if (s->ac_pred) {
- if (s->h263_aic_dir)
- pred = a;
- else
- pred = c;
- } else if (a != 1024 && c != 1024)
- pred = (a + c) >> 1;
- else if (a != 1024)
- pred = a;
- else
- pred = c;
-
-
- /* we assume pred is positive */
- pred = (pred) / scale;
-
- /* prepare address for prediction update */
- *dc_val_ptr = &dc_val[(x) + (y) * wrap];
-
- return pred;
-}
-
-void h263_pred_ac(MpegEncContext * s, INT16 *block, int n)
-{
- int x, y, wrap, i;
- INT16 *ac_val, *ac_val1;
-
- /* find prediction */
- if (n < 4) {
- x = 2 * s->mb_x + 1 + (n & 1);
- y = 2 * s->mb_y + 1 + ((n & 2) >> 1);
- wrap = s->mb_width * 2 + 2;
- ac_val = s->ac_val[0][0];
- } else {
- x = s->mb_x + 1;
- y = s->mb_y + 1;
- wrap = s->mb_width + 2;
- ac_val = s->ac_val[n - 4 + 1][0];
- }
- ac_val += ((y) * wrap + (x)) * 16;
- ac_val1 = ac_val;
-