Return-Path: <tiff-bounces@lists.osgeo.org>
Received: from mailgate118.isp.belgacom.be ([195.238.20.50])
          by mailfep005.skynet.be
          (InterMail vM.8.04.03.28.4 201-2389-100-182-103-20180124)
          with ESMTP
          id <20201231031046.GTKU7193.mailfep005.skynet.be@mailgate118.isp.belgacom.be>
          for <chris.lindelaan@skynet.be>; Thu, 31 Dec 2020 04:10:46 +0100
Received-SPF: None (mx101.skynet.be: no sender authenticity
  information available from domain of
  tiff-bounces@lists.osgeo.org) identity=pra;
  client-ip=140.211.15.3; receiver=mx101.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="tiff-bounces@lists.osgeo.org";
  x-conformance=sidf_compatible
Received-SPF: Pass (mx101.skynet.be: domain of
  tiff-bounces@lists.osgeo.org designates 140.211.15.3 as
  permitted sender) identity=mailfrom; client-ip=140.211.15.3;
  receiver=mx101.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="tiff-bounces@lists.osgeo.org";
  x-conformance=sidf_compatible; x-record-type="v=spf1";
  x-record-text="v=spf1 mx a:mail.osgeo.org a:lists.osgeo.org
  a:mail.osgeo.osuosl.org a:tracsvn.osgeo.osuosl.org -all"
Received-SPF: Pass (mx101.skynet.be: domain of
  postmaster@lists.osgeo.org designates 140.211.15.3 as
  permitted sender) identity=helo; client-ip=140.211.15.3;
  receiver=mx101.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="postmaster@lists.osgeo.org";
  x-conformance=sidf_compatible; x-record-type="v=spf1";
  x-record-text="v=spf1 mx a:mail.osgeo.org a:lists.osgeo.org
  a:mail.osgeo.osuosl.org a:tracsvn.osgeo.osuosl.org -all"
Authentication-Results: mx101.skynet.be; spf=None smtp.pra=tiff-bounces@lists.osgeo.org; spf=Pass smtp.mailfrom=tiff-bounces@lists.osgeo.org; spf=Pass smtp.helo=postmaster@lists.osgeo.org; dkim=hardfail (body hash did not verify [final]) header.i=@gmail.com; dkim=hardfail (body hash did not verify [final]) header.i=@gmail.com; dmarc=fail (p=none dis=none) d=gmail.com
IronPort-SDR: 6mn5MW7YVGxEn6H62MWImtqZmPhZjDWStKfb2fYVeK+jm0S4RBxNJDwmxXpnLJUbibRjWnfabn
 IOyCo4wqyG4G+S6uwoGkpCQhC2J5IIzFPnKaHufn9/2gLu7Vu9ib2K5hSwNEklS78a1JHcd35S
 XMzNttQyw09980pby3Qx88+CBwa54aoBaewHXb8+qbVfqkMkwsqMdtB22elm5gY6bRWRPkWUtX
 pSMYviTprGb++aByN8HLKtbQolul5pkpHi+aq+2s/cLL16nzjHYKcOkDy+WRGinWpdSBuFZoiH
 2cUBtOkP5xaRVeMAqqKP1mQY
IronPort-PHdr: =?us-ascii?q?9a23=3A0dWB+hQvvTxz/6+wXMG/U1S789psv+yvbD5Q0Y?=
 =?us-ascii?q?Iujvd0So/mwa67ZRCPt8tkgFKBZ4jH8fUM07OQ7/m/HzZavd3c7jgrS99lb1?=
 =?us-ascii?q?c9k8IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUh?=
 =?us-ascii?q?rwOhBoKevrB4Xck9q41/yo+53Ufg5EmCexbal9IRmrrwjdrNcajZVtJ6o+yh?=
 =?us-ascii?q?bEo2ZDdvhLy29vOV+dhQv36N2q/J5k/SRQuvYh+NBFXK7nYak2TqFWASo/PW?=
 =?us-ascii?q?wt68LlqRfMTQ2U5nsBSWoWiQZHAxLE7B7hQJj8tDbxu/dn1ymbOc32Sq00WS?=
 =?us-ascii?q?in4qx2RhLklDsLOjgk+2zMlMd+kLxUrw6gpxxnwo7bfoeVNOZlfqjAed8WXH?=
 =?us-ascii?q?dNUtpNWyBEBI63cokBAPcbPetAoIb9qVkBoxuwCwevGu3h1ydIi33006En3e?=
 =?us-ascii?q?ktDR3J0xI7H98VtXTYsM/4Ob0OXeypzqTFyyjIYfNM2Tf67YjFagkvofWNXb?=
 =?us-ascii?q?JucMre11MvHB7fgFqKsIzlIi2a1vgQuGWc6OpgUeOvi3Amqw5vuDij3N8shZ?=
 =?us-ascii?q?PQhoII1F/E6T50wIkwJdKiSU57ZcSoH4dXtyGfLoZ7RN4pTG50tigg0LIGpY?=
 =?us-ascii?q?K7czYQyJQh3xPSaOKKfpSV7x/tVeudPSt1in14dL+8gxu+71Stx/D8WMSqzl?=
 =?us-ascii?q?tHrCVInNbPu34DyhDe5daKR/R980q8xTuCyQ/e5+dZKk43jarWM4Mtz7Esmp?=
 =?us-ascii?q?YJr0jPAzL6lF/rgKKWbEkp9PCk5/r7brjivJORNI95hhvjPqkvm8GzG+Q1Pw?=
 =?us-ascii?q?cIUmOG4+qzzqfj8lf8QLhSjv05jK3ZsJfCKMQfp665GBNV0p055xa4FDem38?=
 =?us-ascii?q?oXnX4dIFJCYhKHgJDlO1DIIP/mEfeym0mgnTh3y/zcILHtH4jBImLenLrhZ7?=
 =?us-ascii?q?pw5VZQyA8pwtBe45JUBKsBIPX2WkLpqNzYDxE5MwKtz+n8D9V9y4UeVn6RDa?=
 =?us-ascii?q?+CK67StV6I5vkzI+mXfoMVvy39K/c76P7pl3M5nkUdfaax0ZsNdH+4BuhmI1?=
 =?us-ascii?q?meYXf0ntgBEX0KvgslTODwjF2CUDhTaGusUKI4/D40EoSmAJzYRoCugL2B2j?=
 =?us-ascii?q?m0HoFMam9dFF/fWUrubJiODvcQdDqJcIgmlj0fSaPnTJQu2BbosxX1jL9uL+?=
 =?us-ascii?q?7R8ytfsor/1d9z/KrPlB88pgFyFNmXhmSETmVomTEURjE4mbpyuFFw0Uur1a?=
 =?us-ascii?q?ljn+ceEsdc6vQPVR01YoXBxe53AMynRwTaY92SQ0ynSNj1PDcqU9gRztYCbl?=
 =?us-ascii?q?woG8m+lguRmG2uAqQJjPqMH5M59eTbxXe2Is98z3PP0u4ml0UnRc1UcnGniK?=
 =?us-ascii?q?Asyg7IGoTpnkyVmrz/cK0d2DLKpnuCw2TLpkxBTQNrTY3BXGsDfQ3Rttv04Q?=
 =?us-ascii?q?XFVbD5EqktMAZK1ZufLLBXYMbil1RMSaTfP4H6anirii+fHxeU1PvYaIXCf2?=
 =?us-ascii?q?wHxjTSEkkYgUYY+nPQZiYkASL0hGbfEj1jDxrXalrx/PU2/HS/T1E1whvMd0?=
 =?us-ascii?q?R4yrep0hEQjP2YDfgU2+RX628atzxoEQPljJrtAN2aql8kJf0EOI5vzHRm8C?=
 =?us-ascii?q?f0qQV5I5W8Lqdk2AVCIRoi5hCm3kBtEYwFisgj9i50n0J5fLiV1FpRej/fx5?=
 =?us-ascii?q?30M63aJjq68EWgbqfX3hfV19PFsrxasqxh9Qy75lz6cyhq8yBi0txYlmWR/I?=
 =?us-ascii?q?7LCwxAS5//X1w68RN3vOPbZGwn6pvQxDhwNvu6qDjHid4gGOZ3zxu7ZN5QPe?=
 =?us-ascii?q?aFGF3pDscYCsOyevAt/jrhPBkPb6hY9PswH8WsNN2kxZCrJONslSimp0Yc/I?=
 =?us-ascii?q?BN8man9zh+F9TThJsE48CI1Be5Bimg2QTE0Ij9zJxoYA5LGWmU9DXGVK4KW4?=
 =?us-ascii?q?hIVJs2NFquf52Q++tTmZnJW1kG/VD7IENeyd2EZCS2VVHijBdI8Goag3Cnq3?=
 =?us-ascii?q?CFlwRWg1RL5vKn5j3+ntylUzQEP04RWld6gFHqJoXuyNQ9DUO0aBkxjBKe/R?=
 =?us-ascii?q?e92/FfgJxnInb3YURBIWvsaEtIaKSXsJqbOtdCxpEi1EcfWeCYPwCwSbrQgB?=
 =?us-ascii?q?gb7DvsAUBv3yoRfACt+bvLghZTukfEfHpenUOAe8Rq3jWB7/vuX/5w5TYsXR?=
 =?us-ascii?q?J4sRKHWV3iBeWq0fPx9d/NmP6wbke7TK9BdXTS9K2drTHkx3VJITa0rvLokI?=
 =?us-ascii?q?2kQAYb+yzC3vlnfwn3iyzbPpTq2ZSjFcU+WE9EJ0X4zcVTBN9P0e5SzJMZhy?=
 =?us-ascii?q?A73ZK5rEtazn/qaP8C9oOgNFA3ZDRbkp2L7BjEhlRsdH2z2Lj9VFGX5ttvSt?=
 =?us-ascii?q?iKJXJH2QwdxO8NNoLJ/rhtghN4xzjw9hDbWK0ozX8NjPo073gChPsV/RAg1T?=
 =?us-ascii?q?iZHuUSFFNUMyXtk0fA/5W/tqJRfGG1bf29zlB5h4WrC72T6gFVQ3axdpYuVS?=
 =?us-ascii?q?l38o1hPUjN3my72Y/lftDUWIFO5DGxui3r1rELesp1uv8DnyFdNGn6p3F3g/?=
 =?us-ascii?q?Zuixto0NXypIObfjw1pObxGQYNLyD8fcoV5jDrgOIWl8qV3oX6BNEpEy4TUs?=
 =?us-ascii?q?7yCbqyDTtHhrSoMg+PFDQhtnfeA7fHGhWD829pqHXAF53tPHaSaz1RlI0+FE?=
 =?us-ascii?q?TCehQetUQSWzM3xMRrPx22xMHnbEZy7ywQ4Vi9kBZX1+Z0LEKjDzXatF7wM3?=
 =?us-ascii?q?EvS4mZIQYQ5AwRr1zNP5m46eR+Vzpd4oXntBaEf3CaaQoNB2YUXEeJHHjnP6?=
 =?us-ascii?q?Ky/p/H6OeVAay5NfSdKa6Wp7lmXuyTjYmqzpMg+j+NMsuVOXw3E/w11A9JWm?=
 =?us-ascii?q?1/EMnCszEOUDAM0SXWYMOc4hCm9X4/tdixpcziQxmn/o6TE/1SPNForgixmr?=
 =?us-ascii?q?uGPvWMiTxRLTdDyohKwmTHxb9Z20Qd2GlidDioRLQJryLDRaPU0u9dCBIKIy?=
 =?us-ascii?q?N6L8sA46Mwlg9KJYbFh8n02K8wvfA0DV5BYB2pmsygacEQZWDoHFzCDUePcr?=
 =?us-ascii?q?+BIG6Dz8L2ZPa8QKdcguxVs1XwszGXAgfjNy+D3zXoW1ipNv0EkiyBPRJP8L?=
 =?us-ascii?q?KzcxBkDV2iBNLrYxG2Kpl22BU5xLQ1gjXBMmtPeTR5ellG+7OZ7CcQwu0qHW?=
 =?us-ascii?q?tH4zJpLPLRnSGf4qiQJsMZtPJqBmJ/kOcDuiYAxrBY7T9JSLlOoAWJ94c8hV?=
 =?us-ascii?q?agn6HPzyo+CEMIsTVago+X+09va+3f8dFbVHDI8QhF5HiMCxkMu9puC8H+3s?=
 =?us-ascii?q?IYgtnJmqXpLT5e8tXStcICDsnQIciDPTIvKx3sUDLTCQIES3asOwS9zwRBkf?=
 =?us-ascii?q?+cs3eSs54xp4PEnJsVVqQdU0c6G/RcDV5qXZQDLJpxQjI4gOuDlsdbgBj25B?=
 =?us-ascii?q?LVRchcotXGTqfLXa2pcm/Ay+AZIUBbian1JokSKIDhjklyMwEj2p/JCkzdQZ?=
 =?us-ascii?q?ZHr34EDEd8rUNT/Xx5VmB21Vjib1bn/H4dG7u+mQMwgQZlSeAs7yv3pVAsKV?=
 =?us-ascii?q?fN4iwqnwNi/LetySDUazP3IKqqCMtKCiT68kI2L5XwTh1daQypgVciMyzLSr?=
 =?us-ascii?q?UXiKFvPzMO6keUqd5EHvhSSrdBaRkbyKSMZvkm5l9brz2u2U5N4eacU8lYmQ?=
 =?us-ascii?q?AncIChozd74yw/MY5nHaXLP+IJy0gJ3vvIpSy50O0thgUTdQ4B92abeShAv0?=
 =?us-ascii?q?JtVPFuOyum8Klm7hGEkDZYUGwNTOYx5PVx+U46feOawGrs3qVCJUa4K+GEZ/?=
 =?us-ascii?q?rF4y6azJfOGw52jQsBjCwntfBu3N0mclaIWkxn17aXGxkTdILDJQxTc8tO5S?=
 =?us-ascii?q?3WdCeKv//KxME9NIG8G+b0CO6W4f9I2gT+RV9vRtlKtZdkfNHkykzTIMb5Ia?=
 =?us-ascii?q?RQzAV0vF2tP1aUCvlVPhiGw1Jl64myyoF62Y5FK3QTG2J4ZG+r57jZ4wUtnf?=
 =?us-ascii?q?yIUcweZnYBQpBCMWk5Vcr8nDRW9SclbnH/wqcCxQ6O4iWp7DjRAje5Zd1+Yv?=
 =?us-ascii?q?yZfjtoCcqq4nM46Ke7jhjQ6JqUdASYfZxy/9TI7+0dvZOODfhZGKJ8v0nrkI?=
 =?us-ascii?q?5dX3W2UmTLHI39N93qZoIrd9CxFmeiXwn1lWcuV8modoXITODAkUTySI1Tqo?=
 =?us-ascii?q?XewD0zKZr3CGQFAxkp7+QTrKsuYAQCZ9w8ehHlsEI5LaP3KVWc086yWCCqMj?=
 =?us-ascii?q?RbSL9Y1+rfBfQfxngpZ+6+jnw7QZw9ie6s7EkWQNcNlB6WzKS/fYBVSjb1XH?=
 =?us-ascii?q?tGdAjI4y0iim96MqA12Oh3hRrMtRNFaWKxeedkaXJJs5QHPX3OfC0kMmMjXB?=
 =?us-ascii?q?fciJqaulfqxLMD+SZB2dxZg6VJt333v5mXZzzJOuTjsZLOry8pdsQruYV1MJ?=
 =?us-ascii?q?f/OY2Br5zTmXrYVpaYvgCeUSG8HuZXgZAJfHoeGqAR3zh4f5dOsJEkiwJ5Ts?=
 =?us-ascii?q?okIr1TFKQg7qunbzZpF29azCMUUZ+BwC1Xguq43OiSnRORfZI+dR0c5cwe2p?=
 =?us-ascii?q?1HCncwO35Y//zGNc2ejWKPR2kVLR1G6BQVvFtGjYxheO35poDFH/oug3Zbpe?=
 =?us-ascii?q?x5VizTG9xm7Vz+HyuKgFb2Df+mjuqi0Bl6yPP3zsJdXwVwBE8bwPxZ3BhNSv?=
 =?us-ascii?q?k/O+wLs4jGvyXdP1v9p37owfC6KUN5zczPa0a+C5HKuG26VTcTsy5xJ8cH2D?=
 =?us-ascii?q?TUEpIclBB8YaAgqQBXIYyoTU354iQt24VjG7TrHdDu3VsuqmwKAju7C9cUQf?=
 =?us-ascii?q?8zq0rZAXc2BvLj4IWgIZhZRXVcvYGQu0sM2ls4KDa3kNJZO4lEsDsFXTwJpi?=
 =?us-ascii?q?6Ssdz0T9dMkcYkC54XPsw5vGzyFaQCP4Kexh9+8rW9z3bY/3Y7q1i3w3O0AL?=
 =?us-ascii?q?K/VOYf+HcRUgx7O36XoVIxCa0r6Wjf9RbKqU1z5OMdAaKAxQB4pDI3R8EcNn?=
 =?us-ascii?q?NyzXmgam9LYjxDuuReJr7SdpUDEf0zfgO0fRslGvMhmUuT8hMtxCqrU2lJrg?=
 =?us-ascii?q?JfvhvlcUw0WC0S2+i/nTwFttrhPiQVRpUOai8uPX6cd1Cr3BtPtRMaUHlEHo?=
 =?us-ascii?q?gDC48aqbUaxpdPuM3ZRkurbyYfU046Ow=3D=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0FYAQCkQO1fhwMP04xiHQEBAQEJARI?=
 =?us-ascii?q?BBQUBQIFPgXwoARcBZFgBHwMHNoQ/iQSIMIsliHaIEBcBAQIBAQEBAQkYAQo?=
 =?us-ascii?q?MBAEBAQGGOx8GAQQ0EwIBAgEBAQMCBQEBAQQBAQECAQECAwICAQECEAEBAQ4?=
 =?us-ascii?q?LCQgpLAZ+AwE+BGIGWwSBbAwCMQyCOAUCAx8BBm2BBwEBAQEBAQEBAQEBAQE?=
 =?us-ascii?q?BAQEBAQEBFQINVCApAQEeAQEBAgEBAQEPER0BBQoMEgsBAgEBAQECBgEBBQU?=
 =?us-ascii?q?EAQYDLAQEAgIDAR4BBAEMAQUBHAYTBR2DBAGCVAEDDiAFCqJegQQ9izICgRU?=
 =?us-ascii?q?FAReDBQaEVQoZKA1iA4E2AgEGEoEmhV+HSjWBTT+BETaCYz6CXQEEhHSCYAS?=
 =?us-ascii?q?DaxBbgWwrm1QNSpslLAeCeYEXBQuIA4s6hnQiolCfG5EphRMQI4FKI4FYMxo?=
 =?us-ascii?q?jUDGCOE0BAgECDQIBAQEDAQICAgEBAgIBAQKOHoElAQKCSYUUhWIjATI3AgY?=
 =?us-ascii?q?BCQEBAwmLZIFtAQE?=
X-IPAS-Result: =?us-ascii?q?A0FYAQCkQO1fhwMP04xiHQEBAQEJARIBBQUBQIFPgXwoA?=
 =?us-ascii?q?RcBZFgBHwMHNoQ/iQSIMIsliHaIEBcBAQIBAQEBAQkYAQoMBAEBAQGGOx8GA?=
 =?us-ascii?q?QQ0EwIBAgEBAQMCBQEBAQQBAQECAQECAwICAQECEAEBAQ4LCQgpLAZ+AwE+B?=
 =?us-ascii?q?GIGWwSBbAwCMQyCOAUCAx8BBm2BBwEBAQEBAQEBAQEBAQEBAQEBAQEBFQINV?=
 =?us-ascii?q?CApAQEeAQEBAgEBAQEPER0BBQoMEgsBAgEBAQECBgEBBQUEAQYDLAQEAgIDA?=
 =?us-ascii?q?R4BBAEMAQUBHAYTBR2DBAGCVAEDDiAFCqJegQQ9izICgRUFAReDBQaEVQoZK?=
 =?us-ascii?q?A1iA4E2AgEGEoEmhV+HSjWBTT+BETaCYz6CXQEEhHSCYASDaxBbgWwrm1QNS?=
 =?us-ascii?q?pslLAeCeYEXBQuIA4s6hnQiolCfG5EphRMQI4FKI4FYMxojUDGCOE0BAgECD?=
 =?us-ascii?q?QIBAQEDAQICAgEBAgIBAQKOHoElAQKCSYUUhWIjATI3AgYBCQEBAwmLZIFtA?=
 =?us-ascii?q?QE?=
X-MGA-submission: =?us-ascii?q?MDHKSslDI6W6vCcF6vCq8NPgD3Zqb/+CLMiOVk?=
 =?us-ascii?q?SRVQOPryb25RAvsBOF3EK4zgywppLE2hW6B0ZQA2Q4IHlUewVAQusdqf?=
 =?us-ascii?q?rAlJUrfjgDNZqDiI0pWJfbygXqvKU4lDmDPOk=3D?=
Received: from osgeo6.osgeo.osuosl.org (HELO lists.osgeo.org) ([140.211.15.3])
  by mx101.skynet.be with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 31 Dec 2020 04:10:43 +0100
Received: from osgeo6.osgeo.osuosl.org (localhost [127.0.0.1])
	by lists.osgeo.org (Postfix) with ESMTP id 256A06143EB5;
	Wed, 30 Dec 2020 19:10:34 -0800 (PST)
Received: from mail-io1-f54.google.com (mail-io1-f54.google.com
 [209.85.166.54])
 by lists.osgeo.org (Postfix) with ESMTPS id E7BBF614662C
 for <tiff@lists.osgeo.org>; Wed, 30 Dec 2020 19:10:31 -0800 (PST)
Received: by mail-io1-f54.google.com with SMTP id w18so16286705iot.0
 for <tiff@lists.osgeo.org>; Wed, 30 Dec 2020 19:10:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=lHnb+NJuVhpmdarhBJ3thXHLChzj5Rs3eiHYxbtV9v4=;
 b=tDmW1okCUuJ8H3UMRAuUUUh48OUVEvoLhO6af0Ox0yzEuVLRew9rpMFeJdhZ3U0PJx
 0PRyX5P/OFkmH2vVpennoe2/lO9ctoyppaSp9/t1lLPpewLHka6+r/BBRgOnHq1qeFjb
 alL68BklEKkiWpgvCYsrBcYo+FZubAZM18dEYQ1jmrsJ6cOZrhISdBqShPC87m6RTkDN
 fBvfQMrrZzl5QQFuqr7JpKHCcYj3b8+9fIBkQaHeBDWORO4uifXqLO1NnDKrlNgAv6Y+
 ja60I3oD9Y57pq1B1GI60BRIb89+6dxI6qg2gRwRljLbLxfEiX/y9kFHCG/VM5zlAwPe
 3zbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=lHnb+NJuVhpmdarhBJ3thXHLChzj5Rs3eiHYxbtV9v4=;
 b=IOk38vFiPtjVuzv+XyLZx5Lxs+CDAHgJtR2rOSiApjYba1bNRiQdRbscL+TNO/UmSB
 ep/w042rG4Fm1e7j5BzwSmqQxYqFWmLAo6txBUJ7BOZ+AZoVREUIqK9OtlY1ckLBAQFH
 nXlDD0bJUeXFvIEbpYHZZllzXbpnsFpFCjZCJDpfYZFuHoBpVHSp1HkpuQI749+KKw6t
 ien1FdFTx9ZJYtrBEBbDRQl8w/hY88T7d8Ud30G6EcYT5p+n11ueOuKAEjGMIruZdUJ+
 ATcBYu2dP1WCarn1MPz9ZAlhJXHgIwHrH5ULt9+je9Uum2vaauzKtTz04uXOFwR//faj
 W4AA==
X-Gm-Message-State: AOAM5303QQ4JDmhxquVLN67P8fHdgVNlnM44k3uNdtG7FC4jyz66JZZn
 Vz8+mqZtmDC5N6Bv2dMydkZR9NGS8WouC4eaKiMf/chd
X-Google-Smtp-Source: ABdhPJzIaPWezOZIXH8iv+Bq8VtlNpxedX15dZBSIkKPLMQHI/cwNOx2vK0dU89TCqLcfmqkTBZGNz5vo3T6ZTAT3vE=
X-Received: by 2002:a6b:5f0e:: with SMTP id t14mr45485226iob.80.1609384231303; 
 Wed, 30 Dec 2020 19:10:31 -0800 (PST)
MIME-Version: 1.0
References: <mailman.25.1609358402.3913.tiff@lists.osgeo.org>
 <20DAEBC0-D179-4C65-A807-B989425738F9@larrygritz.com>
 <alpine.GSO.2.20.2012301932030.20407@scrappy.simplesystems.org>
 <1701694F-50BA-44E0-86CC-10002DEF0831@larrygritz.com>
In-Reply-To: <1701694F-50BA-44E0-86CC-10002DEF0831@larrygritz.com>
From: Olivier Paquet <olivier.paquet@gmail.com>
Date: Wed, 30 Dec 2020 22:10:20 -0500
Message-ID: <CAAcuQeam72Js61VP+-PHDYQnKpL6Esrf23NuJ0qGsGdgOGz-1g@mail.gmail.com>
To: Larry Gritz <lg@larrygritz.com>
Subject: Re: [Tiff] Multithreading support?
X-BeenThere: tiff@lists.osgeo.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.osgeo.org>
List-Unsubscribe: <https://lists.osgeo.org/mailman/options/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=unsubscribe>
List-Post: <mailto:tiff@lists.osgeo.org>
List-Help: <mailto:tiff-request@lists.osgeo.org?subject=help>
List-Subscribe: <https://lists.osgeo.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=subscribe>
Cc: tiff@lists.osgeo.org
Content-Type: multipart/mixed; boundary="===============4809908943571275144=="
Errors-To: tiff-bounces@lists.osgeo.org
Sender: "Tiff" <tiff-bounces@lists.osgeo.org>

--===============4809908943571275144==
Content-Type: multipart/alternative; boundary="00000000000069fca405b7b9f772"

--00000000000069fca405b7b9f772
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Le mer. 30 d=C3=A9c. 2020 =C3=A0 21:38, Larry Gritz <lg@larrygritz.com> a =
=C3=A9crit :

> I think that the minimal step forward would be to expose a
> stateless/reentrant TIFF{Encode,Decode}{Strip,Tile}, which would be a
> simple way to access libtiff's implementations of the compression codecs
> (e.g. TIFFReadEncodedStrip would be equivalent to TIFFReadRawStrip follow=
ed
> immediately by TIFFDecodeStrip) -- that would allow apps to do all the
> thread policy stuff by using libtiff to serially perform the I/O and then
>

While that's a good idea in theory, I don't think it could be entirely
stateless. Some compression codecs have a significant setup time and we
need to reuse an initialized state several times to get good performance.
The general idea is still valid but the implementation will be more
difficult. I should probably give it a try at some point as I've also had
to write my own multithread support which also only handles a handful of
cases.

Olivier

--00000000000069fca405b7b9f772
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">Le=C2=A0mer. 30 d=C3=A9c. 2020 =C3=A0=
=C2=A021:38, Larry Gritz &lt;<a href=3D"mailto:lg@larrygritz.com">lg@larryg=
ritz.com</a>&gt; a =C3=A9crit=C2=A0:</div><blockquote class=3D"gmail_quote"=
 style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);p=
adding-left:1ex"><div style=3D"overflow-wrap: break-word;"><div><div>I thin=
k that the minimal step forward would be to expose a stateless/reentrant TI=
FF{Encode,Decode}{Strip,Tile}, which would be a simple way to access libtif=
f&#39;s implementations of the compression codecs (e.g. TIFFReadEncodedStri=
p would be equivalent to TIFFReadRawStrip followed immediately by TIFFDecod=
eStrip) -- that would allow apps to do all the thread policy stuff by using=
 libtiff to serially perform the I/O and then=C2=A0</div></div></div></bloc=
kquote><div><br></div><div>While that&#39;s a good idea in theory, I don&#3=
9;t think it could be entirely stateless. Some compression codecs have a si=
gnificant setup time and we need to reuse an initialized state several time=
s to=C2=A0get good performance. The general idea is still valid but the imp=
lementation will be more difficult. I should probably give it a try at some=
 point as I&#39;ve also had to write my own multithread support which also =
only handles a handful of cases.</div><div><br></div><div>Olivier</div></di=
v></div>

--00000000000069fca405b7b9f772--

--===============4809908943571275144==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Tiff mailing list
Tiff@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/tiff

--===============4809908943571275144==--
