From: Leo Famulari <leo@famulari.name>
To: Arun Isaac <arunisaac@systemreboot.net>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 2/2] gnu: graphicsmagick: Build with 16 bit quantum depth.
Date: Wed, 8 Mar 2017 13:54:25 -0500 [thread overview]
Message-ID: <20170308185425.GA4625@jasmine> (raw)
In-Reply-To: <20170307172647.944-2-arunisaac@systemreboot.net>
On Tue, Mar 07, 2017 at 10:56:47PM +0530, Arun Isaac wrote:
> Octave requires graphicsmagick to be built with 16 bit quantum depth.
>
> * gnu/packages/imagemagick.scm (graphicsmagick)[arguments]: Add
> "--with-quantum-depth=16" to #:configure-flags.
In case anyone is wonder what this option does, here is documentation
from source file 'www/INSTALL-unix.rst':
--with-quantum-depth
This option allows the user to specify the number of bits to use per
pixel quantum (the size of the red, green, blue, and alpha pixel
components. When an image file with less depth is read, smaller
values are scaled up to this size for processing, and are scaled
down from this size when a file with lower depth is written. For
example, "--with-quantum-depth=8" builds GraphicsMagick using 8-bit
quantums. Most computer display adaptors use 8-bit
quantums. Currently supported arguments are 8, 16, or 32. The
default is 8. This option is the most important option in
determining the overall run-time performance of GraphicsMagick.
The number of bits in a quantum determines how many values it may
contain. Each quantum level supports 256 times as many values as
the previous level. The following table shows the range available
for various quantum sizes.
============ ===================== =================
QuantumDepth Valid Range (Decimal) Valid Range (Hex)
============ ===================== =================
8 0-255 00-FF
16 0-65535 0000-FFFF
32 0-4294967295 00000000-FFFFFFFF
============ ===================== =================
Larger pixel quantums cause GraphicsMagick to run more slowly and to
require more memory. For example, using sixteen-bit pixel quantums
causes GraphicsMagick to run 15% to 50% slower (and take twice as
much memory) than when it is built to support eight-bit pixel
quantums. Regardless, the GraphicsMagick authors prefer to use
sixteen-bit pixel quantums since they support all common image
formats and assure that there is no loss of color precision.
The amount of virtual memory consumed by an image can be computed
by the equation (QuantumDepth*Rows*Columns*5)/8. This is an
important consideration when resources are limited, particularly
since processing an image may require several images to be in
memory at one time. The following table shows memory consumption
values for a 1024x768 image:
============ ==============
QuantumDepth Virtual Memory
============ ==============
8 3MB
16 8MB
32 15MB
============ ==============
GraphicsMagick performs all image processing computations using
floating point or non-lossy integer arithmetic, so results are very
accurate. Increasing the quantum storage size decreases the amount
of quantization noise (usually not visible at 8 bits) and helps
prevent countouring and posterization in the image.
Consider also using the --enable-quantum-library-names configure
option so that installed shared libraries include the quantum depth
as part of their names so that shared libraries using different
quantum depth options may co-exist in the same directory.
next prev parent reply other threads:[~2017-03-08 18:54 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-07 17:26 [PATCH 1/2] gnu: octave: Build with curl and graphicsmagick Arun Isaac
2017-03-07 17:26 ` [PATCH 2/2] gnu: graphicsmagick: Build with 16 bit quantum depth Arun Isaac
2017-03-08 18:54 ` Leo Famulari [this message]
2017-03-08 20:13 ` Arun Isaac
2017-03-07 20:04 ` [PATCH 1/2] gnu: octave: Build with curl and graphicsmagick ng0
-- strict thread matches above, loose matches on Subject: below --
2017-03-07 19:16 Arun Isaac
2017-03-07 19:16 ` [PATCH 2/2] gnu: graphicsmagick: Build with 16 bit quantum depth Arun Isaac
2017-03-08 20:11 [PATCH 1/2] gnu: octave: Build with curl and graphicsmagick Arun Isaac
2017-03-08 20:11 ` [PATCH 2/2] gnu: graphicsmagick: Build with 16 bit quantum depth Arun Isaac
2017-03-09 21:46 ` Leo Famulari
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170308185425.GA4625@jasmine \
--to=leo@famulari.name \
--cc=arunisaac@systemreboot.net \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).