6 // Quick low-quality conversion of 320 to 176:
\r
7 int PicuQuick(unsigned short *dest,unsigned short *src)
\r
9 unsigned short *end=NULL;
\r
11 src+=13; end=src+290;
\r
17 *dest++=*src; src+=2;
\r
18 *dest++=*src; src+=2;
\r
20 *dest++=*src; src+=2;
\r
21 *dest++=*src; src+=2;
\r
28 // Shrink the pixels in src/srcLen, to the screen line pointed to by dest/destLen
\r
29 int PicuShrink(unsigned short *dest,int destLen,unsigned short *src,int srcLen)
\r
31 unsigned short *end=NULL;
\r
32 int bias=0,pa=0,sub=0;
\r
39 pa=*src++; bias-=sub;
\r
40 if (bias<0) { pa+=*src++; pa>>=1; bias+=destLen; }
\r
41 *dest++=(unsigned short)pa;
\r
43 pa=*src++; bias-=sub;
\r
44 if (bias<0) { pa+=*src++; pa>>=1; bias+=destLen; }
\r
45 *dest++=(unsigned short)pa;
\r
52 int PicuMerge(unsigned short *dest,int destLen,unsigned short *src,int srcLen)
\r
54 unsigned short *end=NULL;
\r
55 int bias=0,pa=0,mask=PicuAnd,sub=0;
\r
62 pa=*src++; bias-=sub;
\r
63 if (bias<0) { pa+=*src++; pa>>=1; bias+=destLen; }
\r
64 pa&=mask; pa+=(*dest)&mask; pa>>=1;
\r
65 *dest++=(unsigned short)pa;
\r
67 pa=*src++; bias-=sub;
\r
68 if (bias<0) { pa+=*src++; pa>>=1; bias+=destLen; }
\r
69 pa&=mask; pa+=(*dest)&mask; pa>>=1;
\r
70 *dest++=(unsigned short)pa;
\r