fix valgrind complaint - indeed corner case.
SVN revision: 49414
This commit is contained in:
parent
eb4b780754
commit
3a5502362e
|
@ -8,7 +8,7 @@
|
||||||
for (y = ystart; y <= yend; y++)
|
for (y = ystart; y <= yend; y++)
|
||||||
{
|
{
|
||||||
int x, w, ww;
|
int x, w, ww;
|
||||||
FPc u, v, ud, vd, dv;
|
FPc u, v, ud, vd, dv, ue, ve;
|
||||||
DATA32 *d, *s;
|
DATA32 *d, *s;
|
||||||
#ifdef COLMUL
|
#ifdef COLMUL
|
||||||
FPc cv, cd, cc; // col
|
FPc cv, cd, cc; // col
|
||||||
|
@ -39,9 +39,19 @@
|
||||||
|
|
||||||
ww = w;
|
ww = w;
|
||||||
u = span->u[0] << FPI;
|
u = span->u[0] << FPI;
|
||||||
|
if (u < 0) u = 0;
|
||||||
|
else if (u >= swp) u = swp - 1;
|
||||||
v = span->v[0] << FPI;
|
v = span->v[0] << FPI;
|
||||||
ud = ((span->u[1] << FPI) - u) / w;
|
if (v < 0) v = 0;
|
||||||
vd = ((span->v[1] << FPI) - v) / w;
|
else if (v >= shp) v = shp - 1;
|
||||||
|
ue = span->u[1] << FPI;
|
||||||
|
if (ue < 0) ue = 0;
|
||||||
|
else if (ue >= swp) ue = swp - 1;
|
||||||
|
ve = span->v[1] << FPI;
|
||||||
|
if (ve < 0) ve = 0;
|
||||||
|
else if (ve >= shp) ve = shp - 1;
|
||||||
|
ud = (ue - u) / w;
|
||||||
|
vd = (ve - v) / w;
|
||||||
tl = (long long)ud * (w << FP);
|
tl = (long long)ud * (w << FP);
|
||||||
tl = tl / dv;
|
tl = tl / dv;
|
||||||
ud = tl;
|
ud = tl;
|
||||||
|
@ -113,7 +123,7 @@
|
||||||
for (y = ystart; y <= yend; y++)
|
for (y = ystart; y <= yend; y++)
|
||||||
{
|
{
|
||||||
int x, w, ww;
|
int x, w, ww;
|
||||||
FPc u, v, ud, vd;
|
FPc u, v, ud, vd, ue, ve;
|
||||||
DATA32 *d, *s;
|
DATA32 *d, *s;
|
||||||
#ifdef COLMUL
|
#ifdef COLMUL
|
||||||
FPc cv, cd, cc; // col
|
FPc cv, cd, cc; // col
|
||||||
|
@ -135,12 +145,19 @@
|
||||||
if (w <= 0) continue;
|
if (w <= 0) continue;
|
||||||
ww = w;
|
ww = w;
|
||||||
u = span->u[0] << FPI;
|
u = span->u[0] << FPI;
|
||||||
|
if (u < 0) u = 0;
|
||||||
|
else if (u >= swp) u = swp - 1;
|
||||||
v = span->v[0] << FPI;
|
v = span->v[0] << FPI;
|
||||||
ud = ((span->u[1] << FPI) - u) / w;
|
if (v < 0) v = 0;
|
||||||
vd = ((span->v[1] << FPI) - v) / w;
|
else if (v >= shp) v = shp - 1;
|
||||||
if (ud < 0) u -= 1;
|
ue = span->u[1] << FPI;
|
||||||
if (vd < 0) v -= 1;
|
if (ue < 0) ue = 0;
|
||||||
|
else if (ue >= swp) ue = swp - 1;
|
||||||
|
ve = span->v[1] << FPI;
|
||||||
|
if (ve < 0) ve = 0;
|
||||||
|
else if (ve >= shp) ve = shp - 1;
|
||||||
|
ud = (ue - u) / w;
|
||||||
|
vd = (ve - v) / w;
|
||||||
if (direct)
|
if (direct)
|
||||||
d = dst->image.data + (y * dst->cache_entry.w) + x;
|
d = dst->image.data + (y * dst->cache_entry.w) + x;
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue