GraphicsMagick: Add more documentation regarding HEIF/HVEC support.

GraphicsMagick Commits <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.538.1642263801.1607.graphicsmagick-commit@lists.sourceforge.net>
changeset 7895f5a8b9c5 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=7895f5a8b9c5
summary: Add more documentation regarding HEIF/HVEC support.

diffstat:

 ChangeLog                              |   7 +++++++
 README.txt                             |  34 ++++++++++++++++++++++++++--------
 VisualMagick/installer/inc/version.isx |   4 ++--
 magick/version.h                       |   4 ++--
 www/Changelog.html                     |   6 ++++++
 www/README.html                        |  27 +++++++++++++++++++++------
 www/formats.html                       |   9 +++++++++
 www/formats.rst                        |   5 +++++
 8 files changed, 78 insertions(+), 18 deletions(-)

diffs (200 lines):

diff -r 1aece932bb29 -r 7895f5a8b9c5 ChangeLog
--- a/ChangeLog	Fri Jan 14 18:08:18 2022 -0600
+++ b/ChangeLog	Sat Jan 15 10:23:05 2022 -0600
@@ -1,3 +1,10 @@
+2022-01-15  Bob Friesenhahn  <[email protected]>
+
+        * www/formats.rst: Add HEIF to the list of supported formats.
+
+        * README.txt: Expand the text regarding support for HEIF/HVEC
+        support.
+
 2022-01-14  Bob Friesenhahn  <[email protected]>
 
         * coders/heif.c: HEIF reader written by Tobias Mark.  From
diff -r 1aece932bb29 -r 7895f5a8b9c5 README.txt
--- a/README.txt	Fri Jan 14 18:08:18 2022 -0600
+++ b/README.txt	Sat Jan 15 10:23:05 2022 -0600
@@ -362,24 +362,42 @@
 
 * GraphicsMagick requires the Zstandard (Zstd) library from
 
-     https://facebook.github.io/zstd/
+    https://facebook.github.io/zstd/
 
-     or
+      or
 
-     https://github.com/facebook/zstd/releases
+    https://github.com/facebook/zstd/releases
 
   to read or write Zstd compressed TIFF images.  In the future it is
   likely that other purposes will be found for Zstd.
 
 * GraphicsMagick may require the deflate library to link with libtiff.
 
-    Libtiff may optionally depend on the libdeflate library (from
-    https://github.com/ebiggers/libdeflate).  Linking with this
-    library may be necessary for builds where libtiff depends on
-    libdeflate.
+  Libtiff may optionally depend on the libdeflate library (from
+  https://github.com/ebiggers/libdeflate).  Linking with this library
+  may be necessary for builds where libtiff depends on libdeflate.
 
 * GraphicsMagick requires the heif library from
 
     https://github.com/strukturag/libheif
 
-    to read heif/heic files.
+    and the libde265 library from
+
+    https://github.com/strukturag/libde265
+
+  to read HEIF/h.265 files. Libheif makes use of libde265 for
+  h.265/HEVC decoding and libx265 for encoding.  GraphicsMagick does
+  not itself provide any h.265/HEVC algoriths and it does not
+  currently support encoding.
+
+  The HEVC codec is covered by a huge number of patents (the MPEG LA
+  HEVC patent list is 164 pages long!).  While GraphicsMagick is
+  unable to grant any patent usage rights to users or offer legal
+  advice, HEVC patents are normally paid for "per device" and so it is
+  possible and even likely that the user's modern "device" is already
+  covered.  For example, users of Windows 10, Apple's OS-X, or popular
+  video cards may already be entitled to use the HEVC codec since the
+  vendor has already paid for it.  Some countries do not support
+  software patents.  The user is responsible for assuring that some
+  entity has paid to allow use of any applicable HEVC patents on their
+  device, or that the patents do not apply in their country.
diff -r 1aece932bb29 -r 7895f5a8b9c5 VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Fri Jan 14 18:08:18 2022 -0600
+++ b/VisualMagick/installer/inc/version.isx	Sat Jan 15 10:23:05 2022 -0600
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020220114"
-#define public MagickPackageReleaseDate "snapshot-20220114"
+#define public MagickPackageVersionAddendum ".020220115"
+#define public MagickPackageReleaseDate "snapshot-20220115"
diff -r 1aece932bb29 -r 7895f5a8b9c5 magick/version.h
--- a/magick/version.h	Fri Jan 14 18:08:18 2022 -0600
+++ b/magick/version.h	Sat Jan 15 10:23:05 2022 -0600
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x262300
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 26,23,0
-#define MagickChangeDate   "20220114"
-#define MagickReleaseDate  "snapshot-20220114"
+#define MagickChangeDate   "20220115"
+#define MagickReleaseDate  "snapshot-20220115"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r 1aece932bb29 -r 7895f5a8b9c5 www/Changelog.html
--- a/www/Changelog.html	Fri Jan 14 18:08:18 2022 -0600
+++ b/www/Changelog.html	Sat Jan 15 10:23:05 2022 -0600
@@ -35,6 +35,12 @@
 <div class="document">
 
 
+<p>2022-01-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
+<blockquote>
+<p>* www/formats.rst: Add HEIF to the list of supported formats.</p>
+<p>* README.txt: Expand the text regarding support for HEIF/HVEC
+support.</p>
+</blockquote>
 <p>2022-01-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
 <blockquote>
 <p>* coders/heif.c: HEIF reader written by Tobias Mark.  From
diff -r 1aece932bb29 -r 7895f5a8b9c5 www/README.html
--- a/www/README.html	Fri Jan 14 18:08:18 2022 -0600
+++ b/www/README.html	Sat Jan 15 10:23:05 2022 -0600
@@ -390,25 +390,40 @@
 <li><p class="first">GraphicsMagick requires the Zstandard (Zstd) library from</p>
 <blockquote>
 <p><a class="reference external" href="https://facebook.github.io/zstd/">https://facebook.github.io/zstd/</a></p>
+<blockquote>
 <p>or</p>
+</blockquote>
 <p><a class="reference external" href="https://github.com/facebook/zstd/releases">https://github.com/facebook/zstd/releases</a></p>
 </blockquote>
 <p>to read or write Zstd compressed TIFF images.  In the future it is
 likely that other purposes will be found for Zstd.</p>
 </li>
 <li><p class="first">GraphicsMagick may require the deflate library to link with libtiff.</p>
-<blockquote>
 <p>Libtiff may optionally depend on the libdeflate library (from
-<a class="reference external" href="https://github.com/ebiggers/libdeflate">https://github.com/ebiggers/libdeflate</a>).  Linking with this
-library may be necessary for builds where libtiff depends on
-libdeflate.</p>
-</blockquote>
+<a class="reference external" href="https://github.com/ebiggers/libdeflate">https://github.com/ebiggers/libdeflate</a>).  Linking with this library
+may be necessary for builds where libtiff depends on libdeflate.</p>
 </li>
 <li><p class="first">GraphicsMagick requires the heif library from</p>
 <blockquote>
 <p><a class="reference external" href="https://github.com/strukturag/libheif">https://github.com/strukturag/libheif</a></p>
-<p>to read heif/heic files.</p>
+<p>and the libde265 library from</p>
+<p><a class="reference external" href="https://github.com/strukturag/libde265">https://github.com/strukturag/libde265</a></p>
 </blockquote>
+<p>to read HEIF/h.265 files. Libheif makes use of libde265 for
+h.265/HEVC decoding and libx265 for encoding.  GraphicsMagick does
+not itself provide any h.265/HEVC algoriths and it does not
+currently support encoding.</p>
+<p>The HEVC codec is covered by a huge number of patents (the MPEG LA
+HEVC patent list is 164 pages long!).  While GraphicsMagick is
+unable to grant any patent usage rights to users or offer legal
+advice, HEVC patents are normally paid for &quot;per device&quot; and so it is
+possible and even likely that the user's modern &quot;device&quot; is already
+covered.  For example, users of Windows 10, Apple's OS-X, or popular
+video cards may already be entitled to use the HEVC codec since the
+vendor has already paid for it.  Some countries do not support
+software patents.  The user is responsible for assuring that some
+entity has paid to allow use of any applicable HEVC patents on their
+device, or that the patents do not apply in their country.</p>
 </li>
 </ul>
 </div>
diff -r 1aece932bb29 -r 7895f5a8b9c5 www/formats.html
--- a/www/formats.html	Fri Jan 14 18:08:18 2022 -0600
+++ b/www/formats.html	Sat Jan 15 10:23:05 2022 -0600
@@ -261,6 +261,15 @@
 <td>Use -size, -depth, and -endian to specify the
 image width, height, depth, and byte order.</td>
 </tr>
+<tr><td><a class="reference external" href="https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format">HEIF</a></td>
+<td>R</td>
+<td>High Efficiency Image
+File Format (with
+h.265/HEVC encoding)</td>
+<td>HEIF is a container format supporting multiple
+codecs.  HEIF with h.265/HEVC encoding
+is supported via libheif and libde265.</td>
+</tr>
 <tr><td>HPGL</td>
 <td>R</td>
 <td>HP-GL plotter language</td>
diff -r 1aece932bb29 -r 7895f5a8b9c5 www/formats.rst
--- a/www/formats.rst	Fri Jan 14 18:08:18 2022 -0600
+++ b/www/formats.rst	Sat Jan 15 10:23:05 2022 -0600
@@ -31,6 +31,7 @@
 .. _Ghostscript : http://pages.cs.wisc.edu/~ghost/
 .. _GIF : http://www.fileformat.info/format/gif/egff.htm
 .. _`Hald CLUT` : http://www.quelsolaar.com/technology/clut.html
+.. _HEIF : https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format
 .. _JBIG : http://www.jpeg.org/
 .. _JNG : http://www.libmng.com/
 .. _JPEG : http://www.jpeg.org/
@@ -192,6 +193,10 @@
    | GRAYA        | RW   | Raw gray samples + alpha  | Use -size, -depth, and -endian to specify the    |
    |              |      |                           | image width, height, depth, and byte order.      |
    +--------------+------+---------------------------+--------------------------------------------------+
+   | HEIF_        | R    | High Efficiency Image     | HEIF is a container format supporting multiple   |
+   |              |      | File Format (with         | codecs.  HEIF with h.265/HEVC encoding           |
+   |              |      | h.265/HEVC encoding)      | is supported via libheif and libde265.           |
+   +--------------+------+---------------------------+--------------------------------------------------+
    | HPGL         | R    | HP-GL plotter language    | Requires hp2xx_ 3.2.0 or later                   |
    +--------------+------+---------------------------+--------------------------------------------------+
    |              |      | Hypertext Markup Language |                                                  |
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.