summaryrefslogtreecommitdiff
path: root/man/ppmtolss16.1
blob: 954e94bdd2b08fb92c08b20f723cf8c3d9b045d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
.TH "PPMTOLSS16" "1"
.SH "NAME"
ppmtolss16 \(em Convert a PPM to an LSS16 image
.SH "SYNOPSIS"
.PP
\fBppmtolss16\fR [        \fB	  \fI#rrggbb\fR=\fIi\fR 	\fP        \&...]  [< input.ppm]  [> output.rle]
.SH "DESCRIPTION"
.PP
This manual page documents briefly the \fBppmtolss16\fR command.

.PP
The \fBppmtolss16\fR program converts a "raw" PPM file with
max 16 colors to a simple RLE-based format:

.PP
\fBsimple RLE-based format\fR
.TS
tab();
l l.
unint32 0x1413f3dmagic (littleendian)
unint16 xsizelittleendian
unint15 ysizelittleendian
16 x unint8 r,g,bcolor map
.TE
.PP
Color map is in 6-bit format (each byte is 0..63)
.PP
Then, a sequence of nybbles:
.PP
N   ... if N is != previous pixel, one pixel of color N, otherwise
run sequence follows ...

.PP
M   ... if M > 0 then run length is M+1, otherwise run sequence is
encoded in two nybbles, littleendian, +17

.PP
The nybble sequences are on a per-row basis, runs may not extend across
rows and odd-nybble rows are zero-padded.

.PP
At the start of a row, the "previous pixel" is assumed to be zero.

.SH "OPTIONS"
.PP
A summary of options is included below.
.IP "\fB\fI#rrggbb\fR=\fIi\fR\fP" 10
Specify that the color #rrggbb (hex) should be assigned index
i (decimal).

.SH "BUG"
.PP
This program cannot handle comments in the header, nor "plain" ppm
format.

.SH "SEE ALSO"
.PP
\fBppmtolss16\fR(1)

.SH "AUTHOR"
.PP
This manual page was compiled by dann frazier <dannf@debian.org> for
the \fBDebian GNU/Linux\fP system (but may be used by others).  Most of the content
was written by H. Peter Anvin.