Re: incompatible versions of compface

John Mackin (
Thu, 9 May 91 22:15:25 +1000

From: Alan Skea <>
Date: Thu, 9 May 91 15:53:49 +1000

Oh dear, something very bad seems to have happened somewhere.
Sometime between versions 1.4.9 and 1.5.1, some change to
compface/uncompface has made it produce different output. [...]
I should think that it is _very_important_ that everyone be running
a compatible versions of compface. A patch to restore the old
encoding is critical (I should think most faces in existence were
built using a version <= 1.4.9). Sorry I don't have the time to go
further with this - hopefully someone else does and can provide a
quick patch.

Arrgh. I knew the situation was bad, but I didn't know it was this bad.
I don't have time to look at this now either, but I will have to. It
won't be for a few days though as I am presently too ill to go in to
work. The situation, so that everyone knows (Rich already knows) is
this: there are definite problems with post-1.4 compression and
decompression. My understanding of the code is by no means complete,
so I cannot, at this time, give a fix. I am liasing with jaa, but he
is very busy too now and has little time to look at it; what I was
hoping was that I could work out what was wrong and then discuss the
fix with him. He is in no doubt that Victor's version of gen.c is
not correct.

I will try to work out something about what is going on, and talk
to jaa and see if we can come up with a fix between us. (Of course,
if anyone on the list thinks they understand jaa's code and can fix it,
that would be terrific.) I agree that all versions of compface must
work identically and that the old behaviour must be restored as a
matter of urgency.

As a final remark, maybe the version of faces should be somehow
encoded into the compressed face - this seems like a bad idea at
this stage so maybe we should just be careful that the encoding
never changes.

I lobbied strongly for the inclusion of a "magic string" at the
beginning of a compressed face when jaa was developing the algorithm
back in 1989. This would have given a bit of bullet-proofing, as Mark
(most reasonably) wants, and more importantly the ability to support
multiple compression algorithms, should one be discovered that is
better than jaa's on average for faces (in my view, a tad unlikely,
but we should never underestimate human ingenuity) or if we wanted to
provide a different algorithm for compression of line drawings as opposed
to halftone images, which the current algorithm typically doesn't work
so well on.

Unfortunately, I lost that argument, so no magic/version number got
included. I think we are stuck with compface format now. All we need
is to keep compface format working... Sigh.