diff options
-rw-r--r-- | src/post/goom/filters.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/post/goom/filters.c b/src/post/goom/filters.c index 3aa096e8a..47f2637ad 100644 --- a/src/post/goom/filters.c +++ b/src/post/goom/filters.c @@ -427,14 +427,13 @@ static void c_zoom (Pixel *expix1, Pixel *expix2, unsigned int prevX, unsigned i brutSmypos = brutS[myPos2]; py = brutSmypos + (((brutD[myPos2] - brutSmypos) * buffratio) >> BUFFPOINTNB); - pos = ((px >> PERTEDEC) + prevX * (py >> PERTEDEC)); - /* coef en modulo 15 */ - coeffs = precalCoef[px & PERTEMASK][py & PERTEMASK]; - - if ((py >= (signed int)ay) || (px >= (signed int)ax)) { + if ((py >= ay) || (px >= ax)) { pos = coeffs = 0; + } else { + pos = ((px >> PERTEDEC) + prevX * (py >> PERTEDEC)); + /* coef en modulo 15 */ + coeffs = precalCoef[px & PERTEMASK][py & PERTEMASK]; } - getPixelRGB_ (expix1, pos, &col1); getPixelRGB_ (expix1, pos + 1, &col2); getPixelRGB_ (expix1, pos + bufwidth, &col3); |