PPMTOLSS16(1)
π PPMTOLSS16(1) β the glow-up edition β¨
okay bestie, sit DOWN, because ppmtolss16 is one of those tiny little commands that's lowkey doing the most important work in the room. it's a General Commands Manual situation, and it is giving "quiet baddie who actually runs the whole group project." π«Ά
πΈ NAME πΈ
ppmtolss16 β convert a PPM to an LSS16 image. that's it. that's the whole job. no cap. π
β¨ SYNOPSIS β¨
ppmtolss16 [ #rrggbb=i ...] [< input.ppm] [>
output.rle]
like, you feed it a .ppm on stdin, you catch a .rle on stdout, and in the middle you can boss it around with as many #rrggbb=i declarations as your heart desires. iconic behavior honestly. π
π¦ DESCRIPTION π¦
okay so this manual page documents, briefly, the ppmtolss16 command. brief but slay.
the ppmtolss16 program converts a "raw" PPM file with max 16 colors into a simple RLE-based format. and when i say simple, i mean it lays everything out like this:
unint32 0x1413f3dβ magic (littleendian)unint16 xsizeβ littleendianunint15 ysizeβ littleendian16 x unint8 r,g,bβ color map
that's the simple RLE-based format, laid bare, no filter, no concealer. π
the color map is in 6-bit format β meaning each byte is 0..63. yes, really. sixty-four little steps of each channel. precious.
then comes a sequence of nybbles, and this is the part where you gotta pay attention because it's giving "rules of the game":
N... ifNis != previous pixel, that's one pixel of colorN. otherwise, a run sequence follows ...M... ifM> 0 then the run length isM+1, otherwise the run sequence is encoded in two nybbles, littleendian,+17
and here's the fine print that will absolutely humble you if you forget it: the nybble sequences are on a per-row basis. runs may not extend across rows, and odd-nybble rows are zero-padded. periodt. π
also, at the start of a row, the "previous pixel" is assumed to be zero. so every row starts fresh, like a little baby row with no baggage. adorable. π
π OPTIONS π
a summary of options is included below. yes, it's a short list. quality over quantity, bestie.
#rrggbb=iβ specify that the color#rrggbb(hex) should be assigned indexi(decimal). that's your whole color-assignment power move right there. use it wisely. π
π BUG π
this program cannot handle comments in the header, nor "plain" ppm format. so like, don't bring your annotated header to this party, and don't bring your plain-format PPM either. it's a raw-PPM-only establishment. no exceptions, no notes. π
π SEE ALSO π
(yes, it references itself. main character energy fr fr. β¨)
π AUTHOR π
this manual page was compiled by dann frazier <dannf@debian.org> for the Debian GNU/Linux system (but may be used by others). most of the content was written by H. Peter Anvin. absolute legends, both of them. π«Ά
and that's the whole page, bestie β PPMTOLSS16(1), General Commands Manual, top to bottom, every last nybble accounted for. go forth and convert. π
π¦ where this page comes from
- alpine 3.22: syslinux-doc 6.04_pre1-r16 Β· GPL-2.0-or-later
- alpine 3.23: syslinux-doc 6.04_pre1-r19 Β· GPL-2.0-or-later
- alpine 3.24: syslinux-doc 6.04_pre1-r19 Β· GPL-2.0-or-later
- arch rolling: syslinux 6.04.pre3.r3.g05ac953c-5 Β· GPL-2.0-or-later
- debian bookworm: syslinux-utils 3:6.04~git20190206.bf6db5b4+dfsg1-3+b1 Β· GPL-2.0-or-later
- debian trixie: syslinux-utils 3:6.04~git20190206.bf6db5b4+dfsg1-3.1 Β· GPL-2.0-or-later
- fedora 43: syslinux-perl 6.04-0.33.fc43 Β· GPL-2.0-or-later
- fedora 44: syslinux-perl 6.04-0.35.fc44 Β· GPL-2.0-or-later
- fedora 44: syslinux-perl 6.04-0.37.fc44 Β· GPL-2.0-or-later
- nixpkgs unstable: syslinux 6.04-pre2-unstable-2019-02-07
- opensuse-leap 16.0: syslinux 4.04-160000.3.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: syslinux-x86_64 4.04-160000.3.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: syslinux-x86_64 4.04-160000.3.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: syslinux-x86_64 4.04-160000.3.1 Β· GPL-2.0-or-later
- ubuntu jammy: syslinux-utils 3:6.04~git20190206.bf6db5b4+dfsg1-3ubuntu1 Β· GPL-2.0-or-later
- ubuntu noble: syslinux-utils 3:6.04~git20190206.bf6db5b4+dfsg1-3ubuntu3 Β· GPL-2.0-or-later
- ubuntu questing: syslinux-utils 3:6.04~git20190206.bf6db5b4+dfsg1-3.1ubuntu1
- ubuntu resolute: syslinux-utils 3:6.04~git20190206.bf6db5b4+dfsg1-3.2ubuntu1 Β· GPL-2.0-or-later
- ubuntu stonking: syslinux-utils 3:6.04~git20190206.bf6db5b4+dfsg1-3.2ubuntu1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms