<div dir="ltr">Here is the patch that I applied to my local //third_party/tiff copy of libtiff. My local libtiff and gdal are both at upstream head. I'm using bazel for building, so I don't have any autoconf or cmake patches. In case folks want, here is what I have. Suggestions welcome if I did anything wrong or missing something.<div><br></div><div><a href="https://gist.github.com/schwehr/b4b30e1896b14aa3dea7d44e34265965">https://gist.github.com/schwehr/b4b30e1896b14aa3dea7d44e34265965</a></div><div><br></div><div>I have only tried it with gdalinfo and tiffinfo for the two test files in autotest and it seems to work!</div><div><br></div><div>-Kurt</div><div><br></div><div>Without:</div><div><br></div><div>gdalinfo ~/src/gdal/autotest/gcore/data/gtiff/byte_jxl_dng_1_7_52546.tif<br>ERROR 1: byte_jxl_dng_1_7_52546.tif: Cannot open TIFF file due to missing codec of code 52546.<br>gdalinfo failed - unable to open '/home/schwehr/src/gdal/autotest/gcore/data/gtiff/byte_jxl_dng_1_7_52546.tif'.</div><div><br></div><div>With:</div><div><br></div><div>gdalinfo  ~/src/gdal/autotest/gcore/data/gtiff/byte_jxl_deprecated_50002.tif</div><div><br></div><div>Driver: GTiff/GeoTIFF<br>Files: /usr/local/google/home/schwehr/src/gdal/autotest/gcore/data/gtiff/byte_jxl_deprecated_50002.tif<br>Size is 20, 20<br>Coordinate System is:<br>PROJCRS["NAD27 / UTM zone 11N",<br><br>[SNIP]<br><br>    ID["EPSG",26711]]<br>Data axis to CRS axis mapping: 1,2<br>Origin = (440720.000000000000000,3751320.000000000000000)<br>Pixel Size = (60.000000000000000,-60.000000000000000)<br>Metadata:<br>  AREA_OR_POINT=Area<br>Image Structure Metadata:<br>  COMPRESSION=JXL<br>  INTERLEAVE=BAND<br>  COMPRESSION_REVERSIBILITY=LOSSLESS<br>  JXL_EFFORT=5<br>Corner Coordinates:<br>Upper Left  (  440720.000, 3751320.000) (117d38'28.21"W, 33d54' 8.47"N)<br>Lower Left  (  440720.000, 3750120.000) (117d38'27.92"W, 33d53'29.51"N)<br>Upper Right (  441920.000, 3751320.000) (117d37'41.48"W, 33d54' 8.71"N)<br>Lower Right (  441920.000, 3750120.000) (117d37'41.20"W, 33d53'29.75"N)<br>Center      (  441320.000, 3750720.000) (117d38' 4.70"W, 33d53'49.11"N)<br>Band 1 Block=20x20 Type=Byte, ColorInterp=Gray</div><div><br></div><div>tiffinfo ~/src/gdal/autotest/gcore/data/gtiff/byte_jxl_deprecated_50002.tif<br>=== TIFF directory 0 ===<br>TIFF Directory at offset 0x8 (8)<br>  Image Width: 20 Image Length: 20<br>  Bits/Sample: 8<br>  Sample Format: unsigned integer<br>  Compression Scheme: JXL<br>  Photometric Interpretation: min-is-black<br>  Samples/Pixel: 1<br>  Rows/Strip: 20<br>  Planar Configuration: single image plane<br>  Tag 33550: 60.000000,60.000000,0.000000<br>  Tag 33922: 0.000000,0.000000,0.000000,440720.000000,3751320.000000,0.000000<br>  Tag 34735: 1,1,0,7,1024,0,1,1,1025,0,1,1,1026,34737,21,0,2049,34737,6,21,2054,0,1,9102,3072,0,1,26711,3076,0,1,9001<br>  Tag 34737: NAD27 / UTM zone 11N|NAD27|<br>  GDAL Metadata: <GDALMetadata><br>  <Item name="COMPRESSION_REVERSIBILITY" domain="IMAGE_STRUCTURE">LOSSLESS</Item><br>  <Item name="JXL_EFFORT" domain="IMAGE_STRUCTURE">5</Item><br></GDALMetadata><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Mon, Jan 6, 2025 at 3:42 PM Kurt Schwehr <<a href="mailto:schwehr@gmail.com">schwehr@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks Even!<div><br></div><div>The overtired me kept overlooking frmts/gtiff/tif_jxl.c.</div><div><br></div><div>I will give it a go.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 6, 2025 at 1:12 PM Even Rouault <<a href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Le 06/01/2025 à 22:03, Kurt Schwehr a écrit :<br>
> Sounds good to me too (not that I really have the background to say so).<br>
<br>
master PR: <a href="https://github.com/OSGeo/gdal/pull/11586" rel="noreferrer" target="_blank">https://github.com/OSGeo/gdal/pull/11586</a><br>
<br>
3.10 partial backport PR: <a href="https://github.com/OSGeo/gdal/pull/11587" rel="noreferrer" target="_blank">https://github.com/OSGeo/gdal/pull/11587</a><br>
<br>
><br>
> 1. Are there any plans to contribute JPEGXL in tiff to <br>
> <a href="https://gitlab.com/libtiff/libtiff" rel="noreferrer" target="_blank">https://gitlab.com/libtiff/libtiff</a>?<br>
My plan was that we would do this once <a href="https://github.com/libjxl/libjxl/" rel="noreferrer" target="_blank">https://github.com/libjxl/libjxl/</a> <br>
has reached a 1.0 milestone, but I'm not sure if/when they'll be at that <br>
point.<br>
> 2. And what would one need to do to patch libtiff to use JPEGXL?<br>
<br>
Copy frmts/gtiff/tif_jxl.c into libtiff sources, register it in <br>
tif_codec.c and add support for libjxl detection in libtiff autoconf & cmake<br>
<br>
Even<br>
<br>
-- <br>
<a href="http://www.spatialys.com" rel="noreferrer" target="_blank">http://www.spatialys.com</a><br>
My software is free, but my time generally not.<br>
Butcher of all kinds of standards, open or closed formats. At the end, this is just about bytes.<br>
<br>
</blockquote></div>
</blockquote></div>