URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Details |
Compare with Previous |
View Log
Line No. |
Rev |
Author |
Line |
1 |
297 |
jeremybenn |
typedef struct _geom_elem {
|
2 |
|
|
double coeffs[6];
|
3 |
|
|
} pGeomDefRec, *pGeomDefPtr;
|
4 |
|
|
typedef struct _mpgeombanddef {
|
5 |
|
|
int yOut;
|
6 |
|
|
int in_width;
|
7 |
|
|
} mpGeometryBandRec, *mpGeometryBandPtr;
|
8 |
|
|
typedef void *pointer;
|
9 |
|
|
typedef unsigned char CARD8;
|
10 |
|
|
typedef CARD8 BytePixel;
|
11 |
|
|
void BiGL_B (OUTP,srcimg,width,sline,pedpvt,pvtband) pointer OUTP;
|
12 |
|
|
pointer *srcimg;
|
13 |
|
|
register int width;
|
14 |
|
|
int sline;
|
15 |
|
|
pGeomDefPtr pedpvt; mpGeometryBandPtr pvtband;
|
16 |
|
|
{
|
17 |
|
|
register float s, t, st;
|
18 |
|
|
register int isrcline,isrcpix;
|
19 |
|
|
register int srcwidth = pvtband->in_width - 1;
|
20 |
|
|
register BytePixel val;
|
21 |
|
|
register BytePixel *ptrIn, *ptrJn;
|
22 |
|
|
register double a = pedpvt->coeffs[0];
|
23 |
|
|
register double c = pedpvt->coeffs[2];
|
24 |
|
|
register double srcpix = a * ((double)(0.0000)) + pedpvt->coeffs[1] * (pvtband->yOut + ((double)(0.0000)) ) + pedpvt->coeffs[4];
|
25 |
|
|
register double srcline = c * ((double)(0.0000)) + pedpvt->coeffs[3] * (pvtband->yOut + ((double)(0.0000)) ) + pedpvt->coeffs[5];
|
26 |
|
|
if ( (isrcpix >= 0) && (isrcpix < srcwidth) )
|
27 |
|
|
val = ptrIn[isrcpix] * ((float)1. - s - t + st) + ptrIn[isrcpix+1] * (s - st) + ptrJn[isrcpix] * (t - st) + ptrJn[isrcpix+1] * (st) + (float)0.5 ;
|
28 |
|
|
}
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.