mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 09:36:41 -04:00
211 lines
3.7 KiB
C
211 lines
3.7 KiB
C
--- compface/compress.c.orig
|
|
+++ compface/compress.c
|
|
@@ -17,97 +17,105 @@
|
|
#include "compface.h"
|
|
|
|
int
|
|
-Same(char *f, int wid, int hei)
|
|
+Same(f, wid, hei)
|
|
+register char *f;
|
|
+register int wid, hei;
|
|
{
|
|
- char val, *row;
|
|
- int x;
|
|
+ register char val, *row;
|
|
+ register int x;
|
|
|
|
val = *f;
|
|
- while (hei--) {
|
|
+ while (hei--)
|
|
+ {
|
|
row = f;
|
|
x = wid;
|
|
- while (x--) {
|
|
- if (*(row++) != val) {
|
|
+ while (x--)
|
|
+ if (*(row++) != val)
|
|
return(0);
|
|
- }
|
|
- }
|
|
f += WIDTH;
|
|
}
|
|
- return(1);
|
|
+ return 1;
|
|
}
|
|
|
|
-
|
|
int
|
|
-AllBlack(char *f, int wid, int hei)
|
|
+AllBlack(f, wid, hei)
|
|
+char *f;
|
|
+int wid, hei;
|
|
{
|
|
- if (wid > 3) {
|
|
+ if (wid > 3)
|
|
+ {
|
|
wid /= 2;
|
|
hei /= 2;
|
|
- return(AllBlack(f, wid, hei) && AllBlack(f + wid, wid, hei) &&
|
|
+ return (AllBlack(f, wid, hei) && AllBlack(f + wid, wid, hei) &&
|
|
AllBlack(f + WIDTH * hei, wid, hei) &&
|
|
AllBlack(f + WIDTH * hei + wid, wid, hei));
|
|
- } else {
|
|
- return(*f || *(f + 1) || *(f + WIDTH) || *(f + WIDTH + 1));
|
|
}
|
|
+ else
|
|
+ return (*f || *(f + 1) || *(f + WIDTH) || *(f + WIDTH + 1));
|
|
}
|
|
|
|
-
|
|
int
|
|
-AllWhite(char *f, int wid, int hei)
|
|
+AllWhite(f, wid, hei)
|
|
+char *f;
|
|
+int wid, hei;
|
|
{
|
|
- return((*f == 0) && Same(f, wid, hei));
|
|
+ return ((*f == 0) && Same(f, wid, hei));
|
|
}
|
|
|
|
-
|
|
void
|
|
-PopGreys(char *f, int wid, int hei)
|
|
+PopGreys(f, wid, hei)
|
|
+char *f;
|
|
+int wid, hei;
|
|
{
|
|
- if (wid > 3) {
|
|
+ if (wid > 3)
|
|
+ {
|
|
wid /= 2;
|
|
hei /= 2;
|
|
PopGreys(f, wid, hei);
|
|
PopGreys(f + wid, wid, hei);
|
|
PopGreys(f + WIDTH * hei, wid, hei);
|
|
PopGreys(f + WIDTH * hei + wid, wid, hei);
|
|
- } else {
|
|
+ }
|
|
+ else
|
|
+ {
|
|
wid = BigPop(freqs);
|
|
- if (wid & 1) {
|
|
+ if (wid & 1)
|
|
*f = 1;
|
|
- }
|
|
- if (wid & 2) {
|
|
+ if (wid & 2)
|
|
*(f + 1) = 1;
|
|
- }
|
|
- if (wid & 4) {
|
|
+ if (wid & 4)
|
|
*(f + WIDTH) = 1;
|
|
- }
|
|
- if (wid & 8) {
|
|
+ if (wid & 8)
|
|
*(f + WIDTH + 1) = 1;
|
|
}
|
|
- }
|
|
}
|
|
|
|
-
|
|
void
|
|
-PushGreys(char *f, int wid, int hei)
|
|
+PushGreys(f, wid, hei)
|
|
+char *f;
|
|
+int wid, hei;
|
|
{
|
|
- if (wid > 3) {
|
|
+ if (wid > 3)
|
|
+ {
|
|
wid /= 2;
|
|
hei /= 2;
|
|
PushGreys(f, wid, hei);
|
|
PushGreys(f + wid, wid, hei);
|
|
PushGreys(f + WIDTH * hei, wid, hei);
|
|
PushGreys(f + WIDTH * hei + wid, wid, hei);
|
|
- } else {
|
|
- RevPush(freqs + *f + 2 * *(f + 1) +
|
|
- 4 * *(f + WIDTH) + 8 * *(f + WIDTH + 1));
|
|
}
|
|
+ else
|
|
+ RevPush(freqs + *f + 2 * *(f + 1) + 4 * *(f + WIDTH) +
|
|
+ 8 * *(f + WIDTH + 1));
|
|
}
|
|
|
|
-
|
|
void
|
|
-UnCompress(char *f, int wid, int hei, int lev)
|
|
+UnCompress(f, wid, hei, lev)
|
|
+register char *f;
|
|
+register int wid, hei, lev;
|
|
{
|
|
- switch (BigPop(&levels[lev][0])) {
|
|
+ switch (BigPop(&levels[lev][0]))
|
|
+ {
|
|
case WHITE :
|
|
return;
|
|
case BLACK :
|
|
@@ -125,15 +133,18 @@
|
|
}
|
|
}
|
|
|
|
-
|
|
void
|
|
-Compress(char *f, int wid, int hei, int lev)
|
|
+Compress(f, wid, hei, lev)
|
|
+register char *f;
|
|
+register int wid, hei, lev;
|
|
{
|
|
- if (AllWhite(f, wid, hei)) {
|
|
+ if (AllWhite(f, wid, hei))
|
|
+ {
|
|
RevPush(&levels[lev][WHITE]);
|
|
return;
|
|
}
|
|
- if (AllBlack(f, wid, hei)) {
|
|
+ if (AllBlack(f, wid, hei))
|
|
+ {
|
|
RevPush(&levels[lev][BLACK]);
|
|
PushGreys(f, wid, hei);
|
|
return;
|
|
@@ -149,16 +160,16 @@
|
|
}
|
|
|
|
void
|
|
-UnCompAll(char *fbuf)
|
|
+UnCompAll(fbuf)
|
|
+char *fbuf;
|
|
{
|
|
- char *p;
|
|
+ register char *p;
|
|
|
|
BigClear();
|
|
BigRead(fbuf);
|
|
p = F;
|
|
- while (p < F + PIXELS) {
|
|
+ while (p < F + PIXELS)
|
|
*(p++) = 0;
|
|
- }
|
|
UnCompress(F, 16, 16, 0);
|
|
UnCompress(F + 16, 16, 16, 0);
|
|
UnCompress(F + 32, 16, 16, 0);
|
|
@@ -171,7 +182,8 @@
|
|
}
|
|
|
|
void
|
|
-CompAll(char *fbuf)
|
|
+CompAll(fbuf)
|
|
+char *fbuf;
|
|
{
|
|
Compress(F, 16, 16, 0);
|
|
Compress(F + 16, 16, 16, 0);
|
|
@@ -183,8 +195,7 @@
|
|
Compress(F + WIDTH * 32 + 16, 16, 16, 0);
|
|
Compress(F + WIDTH * 32 + 32, 16, 16, 0);
|
|
BigClear();
|
|
- while (NumProbs > 0) {
|
|
+ while (NumProbs > 0)
|
|
BigPush(ProbBuf[--NumProbs]);
|
|
- }
|
|
BigWrite(fbuf);
|
|
}
|