Return-Path: <tiff-bounces@lists.osgeo.org>
Received: from mailgate216.isp.belgacom.be ([195.238.22.48])
          by mailfep001.skynet.be
          (InterMail vM.8.04.03.28.4 201-2389-100-182-103-20180124)
          with ESMTP
          id <20210504165953.JVQH7158.mailfep001.skynet.be@mailgate216.isp.belgacom.be>
          for <chris.lindelaan@skynet.be>; Tue, 4 May 2021 18:59:53 +0200
Received-SPF: None (mx201.skynet.be: no sender authenticity
  information available from domain of
  tiff-bounces@lists.osgeo.org) identity=pra;
  client-ip=140.211.15.3; receiver=mx201.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="tiff-bounces@lists.osgeo.org";
  x-conformance=sidf_compatible
Received-SPF: Pass (mx201.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=mx201.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 (mx201.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=mx201.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: mx201.skynet.be; dkim=none (message not signed) header.i=none; 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; dmarc=fail (p=none dis=none) d=wta.att.ne.jp
IronPort-SDR: 2/w5SuHrU6ILSoYYzCKn4AWhmqqU8t8PQqwRknu+Q7hcDUXmnfCYkJigmxbbgoedh0YDdTKmes
 s9gq4fuu9MbYOSlfLtl9FHEINBPpR0wfoVNhu6CPMm7evB0XXZSrrJuQpdetVwOH33rcC3WRB1
 jZQzNWmregL7Flf0MeU/0PHR6ORMM4wWxqmAzN4cJCOpAaTHug95/VMUaY6MaWHFK7lWWaifz8
 XRXd9duXXlxrYYRiU+PSF13TSVVxlB068EbhrmuHKc4DM1EezTfW2tM9qISoF8Fmx0g/gqo5NS
 sWlwstuzAamFtB/vlALgHZTI
X-IPAS-Result: =?us-ascii?q?A0EmFgAofJFgewMP04xagQmBWYIiARgBRw8OWAElAwc5i?=
 =?us-ascii?q?GOEZYcqAQEBBoFBikSFazkei2oXAQECAQEBAQEJHQsKAgQBAQECBIEPAYU4H?=
 =?us-ascii?q?wYBBDUFDQIDAQEBAQMCAwEBAQEBAQQBAQECAQECAwICAQECEAEBgQIGfkIEY?=
 =?us-ascii?q?gZbBDUBgRElDAIxDYI4BQIDGA5tgQgBAQEBAQEBAQEBAQEBAQEBAQEBFgINU?=
 =?us-ascii?q?mgCAgIBATcMCh4OAgEBAgYCCjYEBAgDASMBFDQFgm2CVAEMBSABBQqpPoE0g?=
 =?us-ascii?q?QGCEAIEhEYCgTmBPgYjgReOI32BDnobgyI+gmABBIUIgk0EhAFbghkDjFkHk?=
 =?us-ascii?q?RdYnEGDGoFEiDWMDIcuIqUjoTCYCoFsIIFcgQU7gmlNAQIBAg0CAQEBAwECA?=
 =?us-ascii?q?QICAQECAgEBAQGXIIVYMwEwOAIGCgEBAwlWJhMLAYoIgWwBAQ?=
IronPort-PHdr: A9a23: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
 os=
IronPort-HdrOrdr: A9a23:SwP4DKM2Lvf2rsBcT+P155DYdL4zR+YMi2QD/UZ3VBBTb4ikjM
 iohvsWzlvZjzwWVXEml7m7Sdm9aFnb8oN45pRUAKe6UGDdyRqVBaxr8IeK+VzdMgHk7ehHz+
 NcdcFFea7NJHdgi8KS2njaL/8Bx529/LmslY7lvhJQZCRrcbwlzgt9E2+gYzFLbSxHH4d8NJ
 f03Ls9mxOEeW4LKv28HGRtZZm/m/TvlIj6JSQbDAQs8wmEgVqTmcHHOj2ZxApbbzRU3bw5+3
 PEmACR3NTYj9ie6jvxk1De9I5XntyJ8Ko8OOWphtIOIjvhziaEDb4AZ5S6pzw+rOyi71wn+e
 O82ysIBMh453PPcmzdm3KEsGSNv1gTwkXvzlKVmhLY0L7EbQgnAMlMj58xSGq/12McurhHoc
 B29lPcnJZaCi7AkD/wjuK4MS1Cpw6bunYzlO4IkhVkO7c2Wft0pYwb+EtTVL8YBTn994wrVM
 FyZfusgMp+QBe/Z3DdumFphOOhRW4yGBDueDl6hvCo
X-IronPort-Anti-Spam-Filtered: true
X-MGA-submission: =?us-ascii?q?MDGsaAzFFoiUSXLqU5NSMwVyUDYsI47K+Zt0ve?=
 =?us-ascii?q?aQbf7NZe8WFqvzue7x1Yb/tVjhSciMjVYCQy6h9yfVXs+HK++SS2EFR4?=
 =?us-ascii?q?oQL7rQRDQRJDVj9+R8P5xdiXnWv8WWaNFlCro=3D?=
Received: from osgeo6.osgeo.osuosl.org (HELO lists.osgeo.org) ([140.211.15.3])
  by mx201.skynet.be with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2021 18:59:50 +0200
Received: from osgeo6.osgeo.osuosl.org (localhost [127.0.0.1])
	by lists.osgeo.org (Postfix) with ESMTP id 23D1E61346AF;
	Tue,  4 May 2021 09:59:45 -0700 (PDT)
X-Greylist: delayed 402 seconds by postgrey-1.35 at osgeo6;
 Mon, 03 May 2021 15:57:11 PDT
Received: from cmta504.att.ne.jp (mta504.att.ne.jp [210.134.90.97])
 by lists.osgeo.org (Postfix) with ESMTP id 4577361346AE
 for <tiff@lists.osgeo.org>; Mon,  3 May 2021 15:57:11 -0700 (PDT)
Received: from vmsa506.att.ne.jp by cmsa506.att.ne.jp with ESMTP
 id <20210503225028056.NXCA.77403.cmsa506.att.ne.jp@msa506.att.ne.jp>
 for <tiff@lists.osgeo.org>; Tue, 4 May 2021 07:50:28 +0900
Received: from msrg5061.rgserv.att.ne.jp by vmsa506.att.ne.jp with ESMTP
 id <20210503225028048.DAOR.55647.vmsa506.att.ne.jp@msa506.att.ne.jp>
 for <tiff@lists.osgeo.org>; Tue, 4 May 2021 07:50:28 +0900
Received: from myhost (61.201.37.138) by msrg5061.rgserv.att.ne.jp
 (9.0.018.07.06)
 id 605C1ADC0028A27C for tiff@lists.osgeo.org; Tue, 4 May 2021 07:50:28 +0900
Date: Tue, 4 May 2021 07:50:28 +0900 (added by
 postmaster@msrg5061.rgserv.att.ne.jp)
Message-ID: <2021.05.04.0748.29595@afu.wta.att.ne.jp>
From: Akira Urushibata <afu@wta.att.ne.jp>
To: "Tiff Listtiff"@lists.osgeo.org>
In-Reply: alpine.GSO.2.20.2105031514320.19110@scrappy.simplesystems.org>
X-Mailman-Approved-At: Tue, 04 May 2021 09:59:44 -0700
Subject: Re: [Tiff] SIMD optimizations
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>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: tiff-bounces@lists.osgeo.org
Sender: "Tiff" <tiff-bounces@lists.osgeo.org>

Bob Friesenhahn wrote:

> A list member posted repeatedly that he had private/proprietary CCITT
> Group 4 fax support which was much faster than what is in libtiff.
> Given this, one must assume that libtiff's implementation can be
> faster.

I work on Netpbm and I have written the code for CCITT Group 3 fax
in the programs g3topbm and pbmtog3.

Netpbm is one bit per pixel for bilevel black and white images.  This
is called PBM format.  The Group 3 fax to pbm encoder pbmtog3 works on
the bits directly in byte chunks (=8 pixels at a time), so in a way it
is like SIMD.

For Group 4 I have the algorithm in my head, but have never had the
time to write down the code.  For high efficiency the knack is to
measure spans of white or black, determine the inflexion points (white
- black borders) and work on them instead of testing one pixel at a
time.


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