int stride, int comp, int bits)
{
int x = 0;
- int Ra, Rb, Rc, Rd;
+ int Ra = R(last, 0), Rb, Rc = last2, Rd;
int D0, D1, D2;
while (x < w) {
int err, pred, sign;
/* compute gradients */
- Ra = x ? R(cur, x - stride) : R(last, x);
Rb = R(last, x);
- Rc = x ? R(last, x - stride) : last2;
Rd = (x >= w - stride) ? R(last, x) : R(last, x + stride);
D0 = Rd - Rb;
D1 = Rb - Rc;
Ra = av_clip(pred + err * state->twonear, 0, state->maxval);
else
Ra = av_clip(pred - err * state->twonear, 0, state->maxval);
- W(cur, x, Ra);
} else
- W(cur, x, R(in, x));
+ Ra = R(in, x);
+ W(cur, x, Ra);
if (err < 0)
err += state->range;
Ra = av_clip(pred + err * state->twonear, 0, state->maxval);
else
Ra = av_clip(pred - err * state->twonear, 0, state->maxval);
- W(cur, x, Ra);
} else
- W(cur, x, R(in, x));
+ Ra = R(in, x);
+ W(cur, x, Ra);
ls_encode_regular(state, pb, context, err);
}
+ Rc = Rb;
x += stride;
}
}