Files
veejay/sandbox/veejay-current/libgoom/DOCODE.TXT
Niels Elburg 90197d342b move stuff
git-svn-id: svn://code.dyne.org/veejay/trunk@1132 eb8d1916-c9e9-0310-b8de-cf0c9472ead5
2008-11-01 03:31:40 +00:00

56 lines
1.1 KiB
Plaintext

Les différentes données..
-----
typedef struct {
int32 * buf;
int32 width;
int32 height;
int32 size;
int32 * realstart;
} Surface;
-----
>> taille du buffer de zoom
guint32 mmx_zoom_size;
-----
>> les buffers bruts contiennent les px et py de chaque point
>> => brutS[0] = px0, brutS[1] = py0, brutS[2] = px1, [...]
signed int *brutS = 0, *freebrutS = 0; // source
signed int *brutD = 0, *freebrutD = 0; // dest
signed int *brutT = 0, *freebrutT = 0; // temp (en cours de génération)
>> pointeur vers p1
guint32 *expix1 = 0;
>> pointeur vers p2
guint32 *expix2 = 0;
>> largeur d'une ligne = prevX
guint32 zoom_width;
>> largeur et hauteur des differents buffers.
int prevX=0,prevY=0;
-----
>> buffratio est un fixpoint : 16,16
>> valeur normalement comprise entre 0 et 1,
>> soit 0<=buffratio<=BUFFPOINTMASK
int buffratio = 0;
#define BUFFPOINTNB 16
#define BUFFPOINTMASK 0xffff
#define BUFFINCR 0xff
-----
#define sqrtperte 16
>> faire : a % sqrtperte <=> a & pertemask
#define PERTEMASK 0xf
>> faire : a / sqrtperte <=> a >> PERTEDEC
#define PERTEDEC 4
-----
int precalCoef[16][16];