Return-Path: <tiff-bounces@lists.osgeo.org>
Received: from mailgate110.isp.belgacom.be ([195.238.20.42])
          by mailfep024.skynet.be
          (InterMail vM.8.04.03.28.4 201-2389-100-182-103-20180124)
          with ESMTP
          id <20210504173438.RZTV4566.mailfep024.skynet.be@mailgate110.isp.belgacom.be>
          for <chris.lindelaan@skynet.be>; Tue, 4 May 2021 19:34:38 +0200
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: tJ9r6A41W0UN8BUi8PPsiN/yfmE+NxeNw1gH6EyT2YKkcE5f6rBozNI9W03SqNt/Jy7T7UwqGn
 INUF576IPyjIRA7iKQvLCPxxSHh2gbvQ+6YvZb1X8ZqsKxd+jjs0m5hcDEomDPHMU+LeyEA7lz
 hNOFPhfha12bJ71rS3NBbAci4XzSt3RcVYjgKzSXmNH2w28ohY0N/PTNaZZZV2HsM/Wu4sWr7+
 qLqorF1RcZD2KF9YtEw4CUjoSuXGiO4LoIfEMijKoDkOWaZlxFUzTDTiRVPgQ4u6qo17CEC9pZ
 msXpqRphVOitFoUcVVHdVOoH
X-IPAS-Result: =?us-ascii?q?A0EeCTNRhZFgewMP04xagQmBGoI5KAEYAVYOWAElAwc5j?=
 =?us-ascii?q?UiIcQOCfYEMhhIpfwGFJIosDIEgLhkBAQIBAQEBAQcBAR0LDAQBAQECBIEQg?=
 =?us-ascii?q?zlTCYEjHwYBBDQTAgECAQEBAQMCAwEBAQEBAQQBAQECAQECAwICAQECEAEBg?=
 =?us-ascii?q?QIGfgMBPgRiBlsENQEtgQ4IAQEwDYI4BQIDGA4PXk0DOAEBAQEBAQEBAQEBA?=
 =?us-ascii?q?QEBAQEBAQEBAQEBAQEBAQENAg1SH0gBAQEDAQEBDygGAQUKDBIMAgECAQIGA?=
 =?us-ascii?q?QEFBQsNHgQECAMBGgUEAQwBBQEcEwYCAQEBHYJPAYJUAQMJJgQBCpxQgQQ9i?=
 =?us-ascii?q?zCBFwUBF4EBggUGBQIBA4I5EoF8ChkoDWaBOAIBBhKBKIQmhxyCHoFAgQ56G?=
 =?us-ascii?q?yeCez6BUYEPAQSBQy84hSsEg0InGFuCGQNTAQGdIpxQPwkBBgJQgS9oEgEYi?=
 =?us-ascii?q?XmMDIccBQgFIpQ9FJBSoTCXYQIKBwYQI4FIIQKBWk0jUDFtJBiBD00BAgECD?=
 =?us-ascii?q?QIBAQEDAQIBAgIBAQICAQEBAQICAQIBjzgBB4JEhRSFSkEBMDgCBgoBAQMJi?=
 =?us-ascii?q?yOBbAEB?=
IronPort-PHdr: A9a23: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
 cOQt9KyavPi8wpAzIT9v7Jhn5g=
IronPort-HdrOrdr: A9a23:aqoHvqAwoucLOg3lHejzsseALOonbusQ8zAX/mp2TgFYddHdss
 iokugS2xOcskdqZFgLn9ecNK6cBU7G/Zlu7oULeZukVg/quGynRbsSmrfK6TvmBiH466phxb
 5tGpIOfuHYIHpbqYLB4Ae+G8s929XvysyVrMrX0nsFd3ANV4hN9Bx+ERzeL0sefngOObMXD5
 yZj/A3wwaIWXNSVcijA2lAYu6rnayxqLvCYQQaQz8q7RDmt0Lb1JfeEwKEmjcSOgk/sIsK1G
 jejkjB4L+/2svLuSP08m/I8tBthND6wMBCD8DksLlhFhzIihy0ILhnQaGIpjovoOqigWxa4O
 XkhzcFE4BN52jKfmezyCGdozXI9Do18XftxRu5rBLY0KvEbQsgB8BMiI5feBex0TtfgPhG3K
 hG332UuvNsZHuq9kmNhOTgbB1kmlG5pnAvi4co/hlieLATcbpA6bEYlXklZKsoJi785Yw9ed
 MeRP303upccl+RchnizxRS6eGrN05DfCuuflIPoYi83TRQgRlCvjIl7f1atXsN8689R4JJjt
 60TphApfVhSoszYbhmDOkMBfGrAnHAKCijDEuiZXrgEq8DNzbhib7SpI806uajZYASwPIJ96
 jpYRd3s2g9fk6rM8mSxdlw9AzXSmnVZ1XQ4/Abw5B4v7n1Q/7VPTaYSFYo+vHQ3Mk3M4nhV/
 y+OI1bDpbYTVfTJQ==
X-IronPort-Anti-Spam-Filtered: true
X-MGA-submission: =?us-ascii?q?MDGvxKhm4cMzQdq6s3fXWXr5KLGBMXXqA3ydnj?=
 =?us-ascii?q?WqLEVT+8+hzWjk7wgT9yvj6SxDbzY8WoDgwEwe52aNjoIRmMFjksxa/F?=
 =?us-ascii?q?RDqKszvJhNfvIckjeILUTtVpC1mmy00qUE1bY=3D?=
Received: from osgeo6.osgeo.osuosl.org (HELO lists.osgeo.org) ([140.211.15.3])
  by mx101.skynet.be with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2021 19:34:37 +0200
Received: from osgeo6.osgeo.osuosl.org (localhost [127.0.0.1])
	by lists.osgeo.org (Postfix) with ESMTP id CDDE1610AA7C;
	Tue,  4 May 2021 10:34:13 -0700 (PDT)
Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com
 [209.85.128.45])
 by lists.osgeo.org (Postfix) with ESMTPS id 8A6D3610AA63
 for <tiff@lists.osgeo.org>; Tue,  4 May 2021 10:34:12 -0700 (PDT)
Received: by mail-wm1-f45.google.com with SMTP id i128so3986499wma.5
 for <tiff@lists.osgeo.org>; Tue, 04 May 2021 10:34:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=reply-to:subject:to:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-transfer-encoding:content-language;
 bh=rd5nooizSssylMImCgJN/4v2mOPqMxNbNP0w4ofdc2Y=;
 b=RO6XYMIzZbH1P++A5p8LaB9t69ZPAkCVYy7mJBvmGaQpF/L0rKiHsQNsxvBcMNmjOR
 nt/ttapDrlYnGBL7fS3T49nUX+9zqCVvtajupzGGOcahf9vpjfLq0l/Yg3w4MvXbgk4K
 aRevMdLqicJ/+jNSKztG75RPGgICnhEkvoumdmTObXGEgiGesUj7vDkQCK6YUxGFuE3k
 YvOiu7TqckZMaxvNs24FfXv1C+vo+vyN2d8R8dqwAX62Pa3Sh6t1gYRgVAeUU51z7yHd
 8xDYKaSh77Y7s01DFRGtcs/Pag31+0iyHzThfqjDKd+7SowQlcbnnc0CtyzuLawf/C6z
 onYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:reply-to:subject:to:references:from:message-id
 :date:user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=rd5nooizSssylMImCgJN/4v2mOPqMxNbNP0w4ofdc2Y=;
 b=norHLD5ijfjc0J4CONt+4A7hETS/alAUKA5E6apHChRcOwXLvBB+7Kztzey35g+B0T
 GqflrlNiTHW/KYVTCSWKyb4TUf1FQ1Oco7yW7ON6kviTFYI5hLPdIJW7pB0cpbVx9i9E
 zXKBi3i8usuK/KyuWO7FvY0wdXkjSSyJMK8W6EOjW9DjUJ4zsK+23ZTm3bNAqSNK7ono
 sFDMnFC2x/Tctv45rJBWNDBrrw8Ezhw8bXFQH5t0mLRfhyZdLZtpkhgXXewm0Y1gGKhC
 krGAORQO0iM2Y4Hx3z705/vjWkueJ66erXZYAZXc59Fv7mGzEaJz6toGjJHTm+YrexeK
 A0RQ==
X-Gm-Message-State: AOAM530nUvznbMujI+FTGyLoaobdFHKFDWEbWKzx6MccFWenjQnXBAAS
 PWyaPjdPx1M9mYO2YtNT+VWK8AVQKyY=
X-Google-Smtp-Source: ABdhPJzchzsxt41UN7Fda02PlFZXBsLB+VojJ+isqtrKHu17xd7F2iQVzXP0K4bpgV/RKEIybIlenA==
X-Received: by 2002:a7b:c1d2:: with SMTP id a18mr5335754wmj.121.1620149650778; 
 Tue, 04 May 2021 10:34:10 -0700 (PDT)
Received: from [192.168.1.196] (host-92-22-246-52.as13285.net. [92.22.246.52])
 by smtp.gmail.com with ESMTPSA id
 r36sm3406219wmp.18.2021.05.04.10.34.09 for <tiff@lists.osgeo.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 May 2021 10:34:10 -0700 (PDT)
To: tiff@lists.osgeo.org
References: <2021.05.04.0748.29595@afu.wta.att.ne.jp>
From: Steve Underwood <coppice12@gmail.com>
Message-ID: <55f40245-4bd8-92a3-1cd8-03969250043c@gmail.com>
Date: Tue, 4 May 2021 18:34:09 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.8.1
MIME-Version: 1.0
In-Reply-To: <2021.05.04.0748.29595@afu.wta.att.ne.jp>
Content-Language: en-US
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>
Reply-To: steveu@coppice.org
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Errors-To: tiff-bounces@lists.osgeo.org
Sender: "Tiff" <tiff-bounces@lists.osgeo.org>

On 03/05/2021 23:50, Akira Urushibata wrote:
> 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.

Group 4 encoding is just Group 3 2D encoding without the regular 
insertion of 1D lines among the 2D lines (i.e the error recovery has 
been removed, because G4 uses an error free communications channel). 
I've never seen a 2D encoder that truly works bit by bit. Its 
pointlessly inefficient.

A long time ago I submitted fixes for buffer overflows in libtiff's G3 
and G4 handling. I had some speedups for the buffer management, but I 
don't think I submitted those. At the time my priority was making 
libtiff robust, so it didn't crash on numerous slightly miscoded images 
(e.g. a fax received with uncorrected errors). I remember it was 
certainly possible to speed things up a bit with relatively simple tweaks.

Regards,

Steve


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