summaryrefslogtreecommitdiffstats
path: root/upstream/opensuse-tumbleweed/man5/pfm.5
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/opensuse-tumbleweed/man5/pfm.5
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/opensuse-tumbleweed/man5/pfm.5')
-rw-r--r--upstream/opensuse-tumbleweed/man5/pfm.596
1 files changed, 96 insertions, 0 deletions
diff --git a/upstream/opensuse-tumbleweed/man5/pfm.5 b/upstream/opensuse-tumbleweed/man5/pfm.5
new file mode 100644
index 00000000..c8266a9d
--- /dev/null
+++ b/upstream/opensuse-tumbleweed/man5/pfm.5
@@ -0,0 +1,96 @@
+\
+.\" This man page was generated by the Netpbm tool 'makeman' from HTML source.
+.\" Do not hand-hack it! If you have bug fixes or improvements, please find
+.\" the corresponding HTML page on the Netpbm website, generate a patch
+.\" against that, and send it to the Netpbm maintainer.
+.TH "PFM Format Description" 5 "19 April 2012" "netpbm documentation"
+
+
+.SH NAME
+
+PFM - PFM graphic image file format
+
+.SH DESCRIPTION
+.PP
+This document describes the PFM graphic image file format as understood by
+the Netpbm converters
+.BR "\fBpamtopfm\fP" (1)\c
+\& and
+.BR "\fBpfmtopam\fP" (1)\c
+\&.
+.PP
+There are multiple similar formats known as PFM in the world, none
+of them authoritatively documented. The format described here is one
+that Bryan Henderson deduced from a program he found somewhere that
+dealt with a "PFM" format.
+.PP
+The PFM format is inspired by the Netpbm formats, and you will see
+lots of similarity. It is not, however, an official Netpbm format.
+Its goal is not consistent with those of Netpbm formats.
+
+.SH The format
+.PP
+A PFM image is a stream of bytes. The stream consists of a header
+followed immediately by a raster. These two components are described
+below. There are no delimiters before or after the sections as
+described.
+
+.SS PFM header
+.PP
+The PFM header is 3 consecutive "lines" of ASCII text.
+After each line is a white space character. That character is
+typically a newline character, hence the term "line," but
+doesn't have to be.
+.PP
+\fBpamtopfm\fP uses a newline in the PFM it generates.
+
+.B Identifier Line
+.PP
+The identifier line contains the characters "PF" or
+"Pf". PF means it's a color PFM. Pf means it's a grayscale
+PFM.
+
+.B Dimensions Line
+.PP
+The dimensions line contains two positive decimal integers,
+separated by a blank. The first is the width of the image; the second
+is the height. Both are in pixels.
+
+.B Scale Factor / Endianness
+.PP
+The Scale Factor / Endianness line is a queer line that jams
+endianness information into an otherwise sane description of a scale.
+The line consists of a nonzero decimal number, not necessarily an
+integer. If the number is negative, that means the PFM raster is
+little endian. Otherwise, it is big endian. The absolute value of
+the number is the scale factor for the image.
+.PP
+The scale factor tells the units of the samples in the raster. You
+use somehow it along with some separately understood unit information
+to turn a sample value into something meaningful, such as watts per
+square meter.
+
+
+.SS PFM raster
+.PP
+The raster is a sequence of pixels, packed one after another, with no
+delimiters of any kind. They are grouped by row, with the pixels in each
+row ordered left to right and the rows ordered bottom to top.
+.PP
+Each pixel consists of 1 or 3 samples, packed one after another,
+with no delimiters of any kind. 1 sample for a grayscale PFM and 3 for a
+color PFM (see the Identifier Line of the PFM header).
+.PP
+Each sample consists of 4 consecutive bytes. The bytes represent a
+32 bit string, in either big endian or little endian format, as determined
+by the Scale Factor / Endianness line of the PFM header. That string is
+an IEEE 32 bit floating point number code. Since that's the same format
+that most CPUs and compiler use, you can usually just make a program use
+the bytes directly as a floating point number, after taking care of the
+endianness variation.
+.SH DOCUMENT SOURCE
+This manual page was generated by the Netpbm tool 'makeman' from HTML
+source. The master documentation is at
+.IP
+.B http://netpbm.sourceforge.net/doc/pfm.html
+.PP \ No newline at end of file