From owner-png-list@ccrc.wustl.edu Fri Dec 1 23:42:01 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id XAA02146; Fri, 1 Dec 2000 23:42:00 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id XAA23101; Fri, 1 Dec 2000 23:41:56 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma023078; Fri, 1 Dec 00 23:41:32 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id XAA15123; Fri, 1 Dec 2000 23:44:05 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id XAA13682; Fri, 1 Dec 2000 23:40:00 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from mail.rdc1.md.home.com (ha1.rdc1.md.home.com [24.2.2.66]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id XAA13678 for ; Fri, 1 Dec 2000 23:39:59 -0600 (CST) Received: from cc170083-a.abdn1.md.home.com ([24.7.161.22]) by mail.rdc1.md.home.com (InterMail vM.4.01.03.00 201-229-121) with SMTP id <20001202053959.XWSG10139.mail.rdc1.md.home.com@cc170083-a.abdn1.md.home.com> for ; Fri, 1 Dec 2000 21:39:59 -0800 Message-Id: <3.0.6.32.20001202003852.01975840@netmail.home.com> X-Sender: glennrp@netmail.home.com X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.6 (32) Date: Sat, 02 Dec 2000 00:38:52 -0500 To: png-list@ccrc.wustl.edu From: Glenn Randers-Pehrson Subject: libpng-1.0.9beta4 Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List I've posted libpng-1.0.9beta4 to http://libpng.sourceforge.net/ and to ftp://swrinde.nde.swri.edu/pub/png-group/src/ It fixes the buffer overflow problem with png_chunk_warning() and png_chunk_error() that was discovered by kwlee. Glenn -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Mon Dec 11 18:53:40 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id SAA15960; Mon, 11 Dec 2000 18:53:39 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id SAA14677; Mon, 11 Dec 2000 18:53:33 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma014666; Mon, 11 Dec 00 18:52:42 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id SAA16267; Mon, 11 Dec 2000 18:55:29 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id SAA04140; Mon, 11 Dec 2000 18:50:39 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from DF-INET-1.dogfoodinternet.com (df-inet1.exchange.microsoft.com [131.107.8.8]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id SAA04134 for ; Mon, 11 Dec 2000 18:50:38 -0600 (CST) Received: from df-virus2.platinum.corp.microsoft.com ([172.30.236.33]) by DF-INET-1.dogfoodinternet.com with Microsoft SMTPSVC(5.0.2195.1600); Mon, 11 Dec 2000 15:21:32 -0800 Received: from 172.30.236.11 by df-virus2.platinum.corp.microsoft.com (InterScan E-Mail VirusWall NT); Mon, 11 Dec 2000 15:22:14 -0800 (Pacific Standard Time) Received: from DF-SCRAPPY.platinum.corp.microsoft.com ([172.30.236.100]) by yuri.dns.microsoft.com with Microsoft SMTPSVC(5.0.2195.2532); Mon, 11 Dec 2000 15:22:13 -0800 X-MimeOLE: Produced By Microsoft Exchange V6.0.4604.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Subject: application which can read ICC profiles embedded in PNG correctly Date: Mon, 11 Dec 2000 15:22:14 -0800 Message-ID: <766EFCAA12CB514CAC64D8C440F5A50E0305C419@DF-SCRAPPY.platinum.corp.microsoft.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: application which can read ICC profiles embedded in PNG correctly Thread-Index: AcBEfO+ZiXeMyRM3QduIubDDWfKIaAfTBZkQ From: "Michael Stokes" To: "PNG List" X-OriginalArrivalTime: 11 Dec 2000 23:22:13.0824 (UTC) FILETIME=[319BBC00:01C063C9] Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by ccrc.wustl.edu id SAA04135 Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Please point me to example applications... Thanks, Michael Stokes, Microsoft -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Tue Dec 12 00:09:20 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id AAA25134; Tue, 12 Dec 2000 00:09:20 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id AAA03481; Tue, 12 Dec 2000 00:09:14 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma003448; Tue, 12 Dec 00 00:08:20 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id AAA23515; Tue, 12 Dec 2000 00:11:08 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id AAA12503; Tue, 12 Dec 2000 00:07:24 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from smtp-relay-2.Adobe.COM (smtp-relay-2.adobe.com [192.150.11.2]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id AAA12498 for ; Tue, 12 Dec 2000 00:07:22 -0600 (CST) Received: from inner-relay-1.Adobe.COM (inner-relay-1.corp.adobe.com [153.32.1.51]) by smtp-relay-2.Adobe.COM (8.8.6) with ESMTP id WAA07258 for ; Mon, 11 Dec 2000 22:10:56 -0800 (PST) Received: from seattle.sea.Adobe.COM by inner-relay-1.Adobe.COM (8.8.5) with ESMTP id WAA22066; Mon, 11 Dec 2000 22:06:31 -0800 (PST) Received: by seattle.sea.Adobe.COM (8.7.5) with ESMTP id WAA29034; Mon, 11 Dec 2000 22:07:19 -0800 (PST) Mime-Version: 1.0 X-Sender: rgordon@seattle.corp.adobe.com Message-Id: In-Reply-To: <766EFCAA12CB514CAC64D8C440F5A50E0305C419@DF-SCRAPPY.platinum.corp.microso ft.com> References: <766EFCAA12CB514CAC64D8C440F5A50E0305C419@DF-SCRAPPY.platinum.corp.microso ft.com> Date: Mon, 11 Dec 2000 21:51:17 -0800 To: PNG List From: Rick Gordon Subject: Re: application which can read ICC profiles embedded in PNG correctly Content-Type: text/plain; charset="us-ascii" ; format="flowed" Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Hopefully PhotoShop 6 managed to get it correct this time, but I haven't tested it yet. >Please point me to example applications... >Thanks, >Michael Stokes, Microsoft > -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Tue Dec 12 07:47:52 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id HAA08226; Tue, 12 Dec 2000 07:47:52 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id HAA24664; Tue, 12 Dec 2000 07:47:45 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma024596; Tue, 12 Dec 00 07:47:31 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id HAA01992; Tue, 12 Dec 2000 07:50:18 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id HAA22801; Tue, 12 Dec 2000 07:46:02 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from nwcst282.netaddress.usa.net (nwcst282.netaddress.usa.net [204.68.23.27]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with SMTP id HAA22797 for ; Tue, 12 Dec 2000 07:46:01 -0600 (CST) Received: (qmail 9331 invoked by uid 60001); 12 Dec 2000 13:46:01 -0000 Message-ID: <20001212134601.9330.qmail@nwcst282.netaddress.usa.net> Received: from 204.68.23.27 by nwcst282 for [208.60.73.114] via web-mailer(34FM.0700.4B.01) on Tue Dec 12 13:46:01 GMT 2000 Date: 12 Dec 00 08:46:01 EST From: Wolfram Bettermann To: png-list@ccrc.wustl.edu Subject: I/o from memory instead from file using libpng CC: Wolfram.Bettermann@usa.net X-Mailer: USANET web-mailer (34FM.0700.4B.01) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by ccrc.wustl.edu id HAA22798 Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Hi, have anybody tried to implement their own I/O functions to read a the PNG image from memory instead of a file? In our case, we need to pass the stream of PNG data directly to libpng and get it decoded instead of reading it from file (using FIL* fp) (thousands of requests per day for a webserver serving a png file). I have read the document "A description on how to use and modify libpng", and in section V it is mentioned to write your own replacement I/O functions (void user_read_data (...)) and the using png_set_read_fn. Does anyone already has put the effort on writing code for that? I am confused. Thanks for any input. Wolfram ____________________________________________________________________ Get free email and a permanent address at http://www.netaddress.com/?N=1 -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Tue Dec 12 10:08:33 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id KAA13795; Tue, 12 Dec 2000 10:08:33 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id KAA19671; Tue, 12 Dec 2000 10:08:27 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma019656; Tue, 12 Dec 00 10:08:11 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id KAA07802; Tue, 12 Dec 2000 10:10:59 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id KAA26212; Tue, 12 Dec 2000 10:07:30 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from marine.sonic.net (marine.sonic.net [208.201.224.37]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with SMTP id KAA26208 for ; Tue, 12 Dec 2000 10:07:29 -0600 (CST) Received: (qmail 5184 invoked from network); 12 Dec 2000 16:07:14 -0000 Received: from ultra.sonic.net (208.201.224.22) by marine.sonic.net with SMTP; 12 Dec 2000 16:07:14 -0000 Received: from sonic.net (bolt [208.201.224.36]) by ultra.sonic.net (8.11.0/8.8.5) with ESMTP id eBCG76q11018; Tue, 12 Dec 2000 08:07:06 -0800 X-envelope-info: Received: (from roelofs@localhost) by sonic.net (8.11.0/8.7.3) id eBCG6hs29071; Tue, 12 Dec 2000 08:06:43 -0800 Date: Tue, 12 Dec 2000 08:06:43 -0800 Message-Id: <200012121606.eBCG6hs29071@sonic.net> From: Greg Roelofs To: png-list@ccrc.wustl.edu Subject: Re: application which can read ICC profiles embedded in PNG correctly Cc: warwick@trolltech.com Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Michael Stokes, Microsoft, wrote: > Subject: application which can read ICC profiles embedded in PNG correctly > Please point me to example applications... I'm about 99% certain that both MNGeye and eMNGma can do so (via libmng and lcms), and the two plugins probably can do so if they're compiled with a recent enough version of libmng. Unfortunately, the one for Linux was last compiled on 5 July (Pacific time), and it barfs with all sorts of JPEG errors on both of the color-correction pages in the MNGsuite (though it does appear to be compiled with lcms). Warwick, any chance you'll be able to compile and upload an updated version sometime soon? I don't have a Qt/libmng/lcms development tree set up, so I can't do it myself, unfortunately. Greg -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Tue Dec 12 10:11:13 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id KAA13842; Tue, 12 Dec 2000 10:09:52 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id KAA19974; Tue, 12 Dec 2000 10:09:46 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma019652; Tue, 12 Dec 00 10:08:08 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id KAA07788; Tue, 12 Dec 2000 10:10:55 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id KAA26193; Tue, 12 Dec 2000 10:07:02 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from mail01.san.yahoo.com (mail01.san.yahoo.com [209.132.1.35] (may be forged)) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id KAA26189 for ; Tue, 12 Dec 2000 10:07:01 -0600 (CST) Received: by mail01.san.yahoo.com (5.1.053) id 39FF3D1201F45975 for png-list@ccrc.wustl.edu; Tue, 12 Dec 2000 07:59:02 -0800 Message-ID: <39FF3D1500016019@mail01.san.yahoo.com> Date: Tue, 12 Dec 2000 08:58:47 -0700 In-Reply-To: <20001212134601.9330.qmail@nwcst282.netaddress.usa.net> From: "Willem van Schaik" Subject: RE: I/o from memory instead from file using libpng To: "PNG List" MIME-Version: 1.0 Importance: Normal Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by ccrc.wustl.edu id KAA26190 Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Funny that you mention, because I'm just working on that. I wrote the code, but didn't manage to test it yet. So, give me a week and I can share with you how to do it. The basic is indeed to use the png_set_read_fn. I used that already in the past for other purposes and that's what I'm using now. Willem -- Original Message -- >Hi, > >have anybody tried to implement their own I/O functions to read a >the PNG image from memory instead of a file? > >In our case, we need to pass the stream of PNG data directly to libpng and >get it decoded instead of reading it from file (using FIL* fp) (thousands >of requests per day for a webserver serving a png file). > >I have read the document "A description on how to use and modify libpng", >and >in section V it is mentioned to write your own replacement I/O >functions (void user_read_data (...)) and the using png_set_read_fn. >Does anyone already has put the effort on writing code for that? >I am confused. > >Thanks for any input. > >Wolfram > >____________________________________________________________________ >Get free email and a permanent address at http://www.netaddress.com/?N=1 > >-- >Send the message body "help" to png-list-request@ccrc.wustl.edu > v a n S c h a i k ------------------------------------------------------------------------ Willem van Schaik willem@schaik.com -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Tue Dec 12 10:25:59 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id KAA14470; Tue, 12 Dec 2000 10:25:58 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id KAA22554; Tue, 12 Dec 2000 10:25:51 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma022248; Tue, 12 Dec 00 10:24:34 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id KAA08422; Tue, 12 Dec 2000 10:27:23 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id KAA26656; Tue, 12 Dec 2000 10:23:54 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from njord.bart.nl (njord.bart.nl [194.158.170.15]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id KAA26652 for ; Tue, 12 Dec 2000 10:23:53 -0600 (CST) Received: from gerard32 (cable049.202.eneco.bart.nl [195.38.202.49]) by njord.bart.nl (8.10.1/8.10.1) with ESMTP id eBCGNoi24558 for ; Tue, 12 Dec 2000 17:23:51 +0100 (CET) From: "Gerard Juyn" Organization: Triple-T To: PNG List Date: Tue, 12 Dec 2000 17:20:55 -0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: application which can read ICC profiles embedded in PNG correctly Message-ID: <3A365E77.26368.67224F6@localhost> In-reply-to: <200012121606.eBCG6hs29071@sonic.net> X-mailer: Pegasus Mail for Win32 (v3.12c) Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List > I'm about 99% certain that both MNGeye and eMNGma can do so (via libmng > and lcms), eMNGma yes. MNGeye no (it doesn't use libmng yet...) > and the two plugins probably can do so if they're compiled > with a recent enough version of libmng. Jasons plugin has lcms support. Gerard -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Wed Dec 13 21:59:33 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id VAA01144; Wed, 13 Dec 2000 21:59:33 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id VAA22895; Wed, 13 Dec 2000 21:59:26 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma022871; Wed, 13 Dec 00 21:59:04 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id WAA15435; Wed, 13 Dec 2000 22:01:55 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id VAA19322; Wed, 13 Dec 2000 21:57:43 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from mail01.san.yahoo.com (mail01.san.yahoo.com [209.132.1.35]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id VAA19318 for ; Wed, 13 Dec 2000 21:57:42 -0600 (CST) Received: from volans (129.37.154.26) by mail01.san.yahoo.com (5.1.053) id 39FF3D1201FD4265; Wed, 13 Dec 2000 19:51:33 -0800 Message-Id: <3.0.3.32.20001213205522.006b2a84@mail.schaik.com> X-Sender: willemschaik@mail.schaik.com X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.3 (32) Date: Wed, 13 Dec 2000 20:55:22 -0700 To: PNG List From: Willem van Schaik Subject: Re: I/o from memory instead from file using libpng Cc: willem@schaik.com In-Reply-To: <20001212134601.9330.qmail@nwcst282.netaddress.usa.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Hi Wolfram, Didn't study your code yet in complete, but I think that at least some optimization is possible with your user_read_data routine: void user_read_data (png_structp png_ptr, png_bytep data, png_uint_32 length) { BYTE* curr_io_ptr; int i; curr_io_ptr = png_ptr->io_ptr; for (i=0; i < g_offset; i++) curr_io_ptr++; memcpy ((void*) data, (void*) (curr_io_ptr), length); g_offset += length; return; } The loop is not necessary, as in: void user_read_data (png_structp png_ptr, png_bytep data, png_uint_32 length) { BYTE* curr_io_ptr; curr_io_ptr = png_ptr->io_ptr + (g_offset * sizeof (BYTE)); memcpy ((void*) data, (void*) (curr_io_ptr), length); g_offset += length; return; } Or even with elimination of the temporary pointer: void user_read_data (png_structp png_ptr, png_bytep data, png_uint_32 length) { memcpy ((void*) data, (void*) (png_ptr->io_ptr + (g_offset * sizeof (BYTE))), length); g_offset += length; return; } The construction of "* sizeof (BYTE)" is probably even not necessary, but is a IMHO a bit more elegant than just writing "png_ptr->io_ptr + g_offset". Oh yes, didn't test this on proper behaviour, but I'm pretty sure that it is correct code. Latest news: I did test it :-) and it only needs one more type-cast: void user_read_data (png_structp png_ptr, png_bytep data, png_uint_32 length) { memcpy ((void*) data, (void*) ((char *)png_ptr->io_ptr + (g_offset * sizeof (BYTE))), length); g_offset += length; return; } OK, that's it so far, Willem -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Wed Dec 13 22:37:19 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id WAA01666; Wed, 13 Dec 2000 22:37:18 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id WAA24690; Wed, 13 Dec 2000 22:37:12 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma024543; Wed, 13 Dec 00 22:36:56 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id WAA16218; Wed, 13 Dec 2000 22:39:47 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id WAA20187; Wed, 13 Dec 2000 22:36:15 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from mail01.san.yahoo.com (mail01.san.yahoo.com [209.132.1.35]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id WAA20183 for ; Wed, 13 Dec 2000 22:36:13 -0600 (CST) Received: from volans (129.37.160.110) by mail01.san.yahoo.com (5.1.053) id 39FF3D1201FD6261 for png-list@ccrc.wustl.edu; Wed, 13 Dec 2000 20:30:05 -0800 Message-Id: <3.0.3.32.20001213213027.006b0288@mail.schaik.com> X-Sender: willemschaik@mail.schaik.com X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.3 (32) Date: Wed, 13 Dec 2000 21:30:27 -0700 To: PNG List From: Willem van Schaik Subject: Re: I/o from memory instead from file using libpng In-Reply-To: <3.0.3.32.20001213205522.006b2a84@mail.schaik.com> References: <20001212134601.9330.qmail@nwcst282.netaddress.usa.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Sorry folks, a small misdirection of my email. This was meant to be off-line. Willem At 20:55 13-12-00 -0700, you wrote: >Hi Wolfram, > >Didn't study your code yet in complete, but I think that at least some >optimization is possible with your user_read_data routine: > [...] > >Willem > -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Fri Dec 15 04:47:05 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id EAA04287; Fri, 15 Dec 2000 04:47:04 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id EAA01758; Fri, 15 Dec 2000 04:46:58 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma001748; Fri, 15 Dec 00 04:46:44 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id EAA05985; Fri, 15 Dec 2000 04:49:36 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id EAA12508; Fri, 15 Dec 2000 04:36:04 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from mail.metadyne.uk.com ([195.149.27.8]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id EAA12502 for ; Fri, 15 Dec 2000 04:35:36 -0600 (CST) Received: from metadyne.uk.com (matrix.metadyne.uk.com [192.168.1.7]) by mail.metadyne.uk.com (Switch-2.0.1/Switch-2.0.1) with ESMTP id eBFAalw25515 for ; Fri, 15 Dec 2000 10:36:47 GMT Message-ID: <3A39F3F9.1DA3F146@metadyne.uk.com> Date: Fri, 15 Dec 2000 10:35:37 +0000 From: Craig Aranjo Organization: Metadyne Ltd. X-Mailer: Mozilla 4.73 [en] (X11; I; SunOS 5.7 sun4u) X-Accept-Language: en MIME-Version: 1.0 To: png-list@ccrc.wustl.edu Subject: 'average' filter Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Hi I am having trouble with constructing the 'average' filter in PNG and it is currently giving me spurious results! The code below (java) is to the exact PNG specification (unless i am missing a minor point). -- private byte[] averageFilter( byte[] pixelRow ) { byte[] average = new byte[ pixelRow.length ]; int bpp = bytesPerPixel; for( int i=0; i <= bpp; i++) { average[i] = pixelRow[i]; } for (int i=bpp+1; i < pixelRow.length; i++) { average[i] = (byte)((pixelRow[i] - Math.floor( ( (pixelRow[i-bpp] & 0xff) + (priorRow[i] & 0xff) )/2))%256); } System.arraycopy(pixelRow, 0, priorRow, 0, priorRow.length); return average; } -- The pixelrow contains the filter value (3) and the unfiltered bytes. The image itself is a simple colour image and the first bytes in PixelRow look something like: [3, 67, -110, 36, 67, -110, 36, 67, .... ]. On the first pass, PriorRow contains zero values. Any help would be greatly appreciated. Craig -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Fri Dec 15 12:59:00 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id MAA15107; Fri, 15 Dec 2000 12:58:59 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id MAA01962; Fri, 15 Dec 2000 12:58:53 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma001822; Fri, 15 Dec 00 12:57:46 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id NAA22177; Fri, 15 Dec 2000 13:00:39 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id MAA18901; Fri, 15 Dec 2000 12:52:16 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from rock.pickem.com (ATHM-209-218-xxx-14.Home.net [209.218.79.14] (may be forged)) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id MAA18897 for ; Fri, 15 Dec 2000 12:52:15 -0600 (CST) Received: from CHRIS (40bc2b8a.dsl.flashcom.net [64.188.43.138]) by rock.pickem.com (8.8.8+Sun/8.8.8) with ESMTP id KAA06185 for ; Fri, 15 Dec 2000 10:52:14 -0800 (PST) Date: Fri, 15 Dec 2000 10:55:03 -0800 (Pacific Standard Time) From: Chris Nokleberg To: PNG List Subject: Re: 'average' filter In-Reply-To: <3A39F3F9.1DA3F146@metadyne.uk.com> Message-ID: X-X-Sender: cjn@rock.pickem.com MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List I think your calculation can be simplified. Instead of this: average[i] = (byte)( (pixelRow[i] - Math.floor( ( (pixelRow[i-bpp] & 0xff) + (priorRow[i] & 0xff) ) / 2) ) % 256 ); try this: average[i] = (byte)(pixelRow[i] - ( (pixelRow[i-bpp] & 0xff) + (priorRow[i] & 0xff) ) / 2 ); You don't need the Math.floor because the division already truncates, and the modulo 256 is done for you (in a sense) when you convert back from an integer to a byte. It works for decompression, at least :) See www.sixlegs.com. One thing to remember when working with bytes in java is that they are signed, -128 to 127. --Chris On Fri, 15 Dec 2000, Craig Aranjo wrote: > > Hi > > I am having trouble with constructing the 'average' filter in PNG and it > > is currently giving me spurious results! The code below (java) is to the > > exact PNG specification (unless i am missing a minor point). > > -- > > private byte[] averageFilter( byte[] pixelRow ) { > > byte[] average = new byte[ pixelRow.length ]; > int bpp = bytesPerPixel; > > for( int i=0; i <= bpp; i++) { > > average[i] = pixelRow[i]; > } > > for (int i=bpp+1; i < pixelRow.length; i++) { > > average[i] = (byte)((pixelRow[i] - Math.floor( > ( (pixelRow[i-bpp] & 0xff) + (priorRow[i] & 0xff) > )/2))%256); > } > > System.arraycopy(pixelRow, 0, priorRow, 0, priorRow.length); > > return average; > } > > -- > > The pixelrow contains the filter value (3) and the unfiltered bytes. The > image itself is a simple colour image and the first bytes in PixelRow > look something like: [3, 67, -110, 36, 67, -110, 36, 67, .... ]. On the > first pass, PriorRow contains zero values. > > Any help would be greatly appreciated. > > Craig > > > > > -- > Send the message body "help" to png-list-request@ccrc.wustl.edu > -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Fri Dec 15 13:32:13 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id NAA16084; Fri, 15 Dec 2000 13:32:12 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id NAA09495; Fri, 15 Dec 2000 13:32:01 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma008539; Fri, 15 Dec 00 13:29:41 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id NAA23553; Fri, 15 Dec 2000 13:32:35 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id NAA20033; Fri, 15 Dec 2000 13:28:55 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from yonge.cs.toronto.edu (yonge.cs.toronto.edu [128.100.1.8]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with SMTP id NAA20029 for ; Fri, 15 Dec 2000 13:28:54 -0600 (CST) Received: from jane.cs.toronto.edu ([128.100.2.31]) by yonge.cs.toronto.edu with SMTP id <33975-796>; Fri, 15 Dec 2000 14:28:43 -0500 Received: from qew.cs.toronto.edu by jane.cs.toronto.edu id <453153-4963>; Fri, 15 Dec 2000 14:28:38 -0500 Date: Fri, 15 Dec 2000 14:28:32 -0500 From: Cosmin Truta X-Sender: cosmin@qew.cs To: PNG List Subject: Re: 'average' filter In-Reply-To: <3A39F3F9.1DA3F146@metadyne.uk.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List The minor point that you are missing is that 'byte' is signed in Java, while the pixel values are unsigned. The average between 140 and 110 is 125, but, according to your code, 140 will be interpreted as -116, and the computed average will incorrectly become -3, as the average between -116 and 110. This -3 will further become 253 in the output file. Cosmin On Fri, 15 Dec 2000, Craig Aranjo wrote: > > Hi > > I am having trouble with constructing the 'average' filter in PNG and it > > is currently giving me spurious results! The code below (java) is to the > > exact PNG specification (unless i am missing a minor point). > > -- > > ivate byte[] averageFilter( byte[] pixelRow ) { > > byte[] average = new byte[ pixelRow.length ]; > int bpp = bytesPerPixel; > > for( int i=0; i <= bpp; i++) { > > average[i] = pixelRow[i]; > } > > for (int i=bpp+1; i < pixelRow.length; i++) { > > average[i] = (byte)((pixelRow[i] - Math.floor( > ( (pixelRow[i-bpp] & 0xff) + (priorRow[i] & 0xff) > )/2))%256); > } > > System.arraycopy(pixelRow, 0, priorRow, 0, priorRow.length); > > return average; > } > > -- > > The pixelrow contains the filter value (3) and the unfiltered bytes. The > image itself is a simple colour image and the first bytes in PixelRow > look something like: [3, 67, -110, 36, 67, -110, 36, 67, .... ]. On the > first pass, PriorRow contains zero values. > > Any help would be greatly appreciated. > > Craig > > > > > -- > Send the message body "help" to png-list-request@ccrc.wustl.edu > -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Sat Dec 16 06:31:06 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id GAA02426; Sat, 16 Dec 2000 06:31:06 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id GAA11796; Sat, 16 Dec 2000 06:31:00 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma011786; Sat, 16 Dec 00 06:30:43 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id GAA14848; Sat, 16 Dec 2000 06:33:36 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id GAA06517; Sat, 16 Dec 2000 06:29:54 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from mail.rdc1.md.home.com (ha1.rdc1.md.home.com [24.2.2.66]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id GAA06502; Sat, 16 Dec 2000 06:29:15 -0600 (CST) Received: from cc170083-a.abdn1.md.home.com ([24.7.161.22]) by mail.rdc1.md.home.com (InterMail vM.4.01.03.00 201-229-121) with SMTP id <20001216122914.FNEG10139.mail.rdc1.md.home.com@cc170083-a.abdn1.md.home.com>; Sat, 16 Dec 2000 04:29:14 -0800 Message-Id: <3.0.6.32.20001216072803.00b4f500@netmail.home.com> X-Sender: glennrp@netmail.home.com X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.6 (32) Date: Sat, 16 Dec 2000 07:28:03 -0500 To: png-announce@ccrc.wustl.edu From: Glenn Randers-Pehrson (by way of Glenn Randers-Pehrson ) Subject: Fwd: CFD: MNG-0.99-2001211 to MNG-1.0 Cc: png-list@ccrc.wustl.edu, pnp-list@ccrc.wustl.edu Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List png-list, pnp-list, and png-announce, FYI: The mng-list is considering elevating MNG to 1.0 status. We expect to begin voting before the end of December. Call for discussion MNG-0.99-20001211 to MNG-1.0 ftp://swrinde.nde.swri.edu/pub/mng/documents/ mng-0.99-20001211-pdg.html Glenn Randers-Pehrson This begins a formal two-week discussion period on elevating MNG-0.99-20001211 to MNG-1.0 status. Voting will occur after the two-week period beginning with the receipt of this message by the mng-list processor has elapsed. Once this has been approved, no further backward-incompatible changes will be allowed, except to correct technical errors. It will still be possible to define new chunks and new values for existing chunks, following the usual discussion-and-vote procedure. Editorial changes to the specification will still be allowed. Glenn -- Send the message body "help" to mng-list-request@ccrc.wustl.edu -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Mon Dec 18 04:28:22 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id EAA05213; Mon, 18 Dec 2000 04:28:21 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id EAA11328; Mon, 18 Dec 2000 04:28:15 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma011320; Mon, 18 Dec 00 04:27:24 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id EAA13552; Mon, 18 Dec 2000 04:30:20 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id EAA17063; Mon, 18 Dec 2000 04:26:22 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from mail.metadyne.uk.com ([195.149.27.8]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id EAA17057 for ; Mon, 18 Dec 2000 04:26:17 -0600 (CST) Received: from metadyne.uk.com (matrix.metadyne.uk.com [192.168.1.7]) by mail.metadyne.uk.com (Switch-2.0.1/Switch-2.0.1) with ESMTP id eBIARkw23914 for ; Mon, 18 Dec 2000 10:27:48 GMT Message-ID: <3A3DE65C.8AC0E461@metadyne.uk.com> Date: Mon, 18 Dec 2000 10:26:36 +0000 From: Craig Aranjo Organization: Metadyne Ltd. X-Mailer: Mozilla 4.73 [en] (X11; I; SunOS 5.7 sun4u) X-Accept-Language: en MIME-Version: 1.0 To: PNG List Subject: [Fwd: RE: 'average' filter] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Thanks guys. I now have it working. I'm including it here for reference. -- private byte[] averageFilter( byte[] pixelRow ) { int bytesPerRow = pixelRow.length; byte[] average = new byte[bytesPerRow]; average[0]=pixelRow[0]; // contains the filter reference for (int i = 1; i < bytesPerRow; i++) { int leftByte = (i <= bytesPerPixel) ? 0: (pixelRow[i - bytesPerPixel] &0xff) ; average[i] = (byte)((pixelRow[i] - (byte)((leftByte + (priorRow[i] &0xff)) >> 1))); } System.arraycopy(pixelRow, 0, priorRow, 0, priorRow.length); return average; } -- -------- Original Message -------- Subject: RE: 'average' filter Date: Fri, 15 Dec 2000 12:15:05 -0000 From: "Oliver, Tony (Tony)** CTR **" To: "'Craig Aranjo'" Craig, I think this should work for you... private byte[] averageFilter (byte[] pixelRow) { int bytesPerRow = pixelRow.length; byte[] average = new byte[bytesPerRow]; for (int byteNo = 0; byteNo < bytesPerRow; byteNo++) { // special case for the components of the leftmost pixel: // use zero-value components for its notional left-neighbour; // for all other pixels, extract the component from the // same place in the previous (leftward) pixel: int valueInPreviousPixel = (byteNo < bytesPerPixel)? 0: pixelRow[byteNo - bytesPerPixel]; // since we used an 'int' for the left-neighbour value, // the addition, below, accumulates properly as a 9-bit result // (without truncation to byte value); that result is then // halved by shifting back to an 8-bit value (this also performs // the floor() operation); we then cast it back to byte-size // (this also performs the modulo-256 arithmetic) and then // finally subtract from the target component: average[byteNo] = pixelRow[byteNo] - (byte) ((valueInPreviousPixel + priorRow[byteNo]) >> 1); } return average; } My Java's a bit rusty, so please correct any C++-isms that don't work in Java! The general algorithm should be right, though. If it works, please feel free to post it to the PNG-List (I haven't yet done this as I haven't tested it!). Regards, Tony Oliver Global Wireless Systems Research Lucent Technologies * Bell Labs Innovations * olivert@lucent.com *+44 17 93 897 259 (voice) *+44 17 93 897 246 (fax) *+44 777 150 1889 (mobile) ---------- From: Craig Aranjo [SMTP:craig@metadyne.uk.com] Sent: 15 December 2000 10:36 To: png-list@ccrc.wustl.edu Subject: 'average' filter Hi I am having trouble with constructing the 'average' filter in PNG and it is currently giving me spurious results! The code below (java) is to the exact PNG specification (unless i am missing a minor point). -- private byte[] averageFilter( byte[] pixelRow ) { byte[] average = new byte[ pixelRow.length ]; int bpp = bytesPerPixel; for( int i=0; i <= bpp; i++) { average[i] = pixelRow[i]; } for (int i=bpp+1; i < pixelRow.length; i++) { average[i] = (byte)((pixelRow[i] - Math.floor( ( (pixelRow[i-bpp] & 0xff) + (priorRow[i] & 0xff) )/2))%256); } System.arraycopy(pixelRow, 0, priorRow, 0, priorRow.length); return average; } -- The pixelrow contains the filter value (3) and the unfiltered bytes. The image itself is a simple colour image and the first bytes in PixelRow look something like: [3, 67, -110, 36, 67, -110, 36, 67, .... ]. On the first pass, PriorRow contains zero values. Any help would be greatly appreciated. Craig -- Send the message body "help" to png-list-request@ccrc.wustl.edu -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Sun Dec 24 14:33:44 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id OAA19382; Sun, 24 Dec 2000 14:33:44 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id OAA07348; Sun, 24 Dec 2000 14:33:38 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma007325; Sun, 24 Dec 00 14:33:21 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id OAA28151; Sun, 24 Dec 2000 14:36:24 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id OAA28183; Sun, 24 Dec 2000 14:32:27 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from web5409.mail.yahoo.com (web5409.mail.yahoo.com [216.115.106.201]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with SMTP id OAA28178 for ; Sun, 24 Dec 2000 14:32:26 -0600 (CST) Message-ID: <20001224203222.2824.qmail@web5409.mail.yahoo.com> Received: from [64.24.144.17] by web5409.mail.yahoo.com; Sun, 24 Dec 2000 12:32:22 PST Date: Sun, 24 Dec 2000 12:32:22 -0800 (PST) From: Art Subject: PNG file processing... To: PNG List MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List I am looking for an alogrithm that will allow me to join multiple PNG files (all of the same size and dimensions) into a grid pattern to make one large PNG file. The files: A11, A12, A13, A14, A21, A22, A23, A24, A31, A32, A33 and A34. Each file is a segment of the larger image. There should be a simple algorithmic way to read in each file and append the data to create the main image. I'm not that familiar with the PNG encoding scheme but does anyone know via C or C++ code how I would process these files. Thanks -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Sun Dec 24 16:27:35 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id QAA19821; Sun, 24 Dec 2000 16:27:35 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id QAA10121; Sun, 24 Dec 2000 16:27:30 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma010117; Sun, 24 Dec 00 16:26:52 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id QAA29280; Sun, 24 Dec 2000 16:29:54 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id QAA00148; Sun, 24 Dec 2000 16:25:55 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from mail01.san.yahoo.com (mail01.san.yahoo.com [209.132.1.35]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id QAA00143 for ; Sun, 24 Dec 2000 16:25:54 -0600 (CST) Received: from volans (24.67.95.111) by mail01.san.yahoo.com (5.1.053) id 39FF3D12024B0F0A for png-list@ccrc.wustl.edu; Sun, 24 Dec 2000 14:19:39 -0800 Message-Id: <3.0.3.32.20001224152513.006c0a90@mail.schaik.com> X-Sender: willemschaik@mail.schaik.com X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.3 (32) Date: Sun, 24 Dec 2000 15:25:13 -0700 To: PNG List From: Willem van Schaik Subject: Re: PNG file processing... In-Reply-To: <20001224203222.2824.qmail@web5409.mail.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List At 12:32 24-12-00 -0800, you wrote: >I am looking for an alogrithm that will allow me to join multiple PNG >files (all of the same size and dimensions) into a grid pattern to make >one large PNG file. The files: >A11, A12, A13, A14, A21, A22, A23, A24, A31, A32, A33 and A34. > One way to do this is to convert the images to ppm-format, do the stiching with PBMplus tools (pnmmake/pbmmake, pnmcut, pnmpaste) and then convert the result back to PNG. I have done this often enough myself and it only involves writing some shell-script (or batch file). If you need this often, the other option is ofcourse to write a dedicated program for this. When you take for example PngMinus in the libpng-contrib directory as a starting point, this is a relatively simple task (couple of hours of programming). Willem -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Sun Dec 24 17:12:47 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id RAA20017; Sun, 24 Dec 2000 17:12:47 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id RAA10769; Sun, 24 Dec 2000 17:12:42 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma010761; Sun, 24 Dec 00 17:12:10 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id RAA29668; Sun, 24 Dec 2000 17:15:12 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id RAA00895; Sun, 24 Dec 2000 17:11:29 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from marine.sonic.net (marine.sonic.net [208.201.224.37]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with SMTP id RAA00891 for ; Sun, 24 Dec 2000 17:11:28 -0600 (CST) Received: (qmail 14419 invoked from network); 24 Dec 2000 23:11:27 -0000 Received: from ultra.sonic.net (208.201.224.22) by marine.sonic.net with SMTP; 24 Dec 2000 23:11:27 -0000 Received: from sonic.net (bolt [208.201.224.36]) by ultra.sonic.net (8.11.0/8.8.5) with ESMTP id eBON8dr13844 for ; Sun, 24 Dec 2000 15:08:42 -0800 X-envelope-info: Received: (from roelofs@localhost) by sonic.net (8.11.0/8.7.3) id eBONBHY05899 for png-list@ccrc.wustl.edu; Sun, 24 Dec 2000 15:11:17 -0800 Date: Sun, 24 Dec 2000 15:11:17 -0800 Message-Id: <200012242311.eBONBHY05899@sonic.net> From: Greg Roelofs To: png-list@ccrc.wustl.edu Subject: Re: PNG file processing... Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List >>I am looking for an alogrithm that will allow me to join multiple PNG >>files (all of the same size and dimensions) into a grid pattern to make >>one large PNG file. The files: >>A11, A12, A13, A14, A21, A22, A23, A24, A31, A32, A33 and A34. > One way to do this is to convert the images to ppm-format, do the stiching > with PBMplus tools (pnmmake/pbmmake, pnmcut, pnmpaste) and then convert the > result back to PNG. I have done this often enough myself and it only > involves writing some shell-script (or batch file). Actually, it would just be pnmcat (and pngtopnm/pnmtopng, of course): pnmcat -lr A11.ppm A12.ppm A13.ppm A14.ppm > A1.ppm pnmcat -lr A21.ppm A22.ppm A23.ppm A24.ppm > A2.ppm pnmcat -lr A31.ppm A32.ppm A33.ppm A34.ppm > A3.ppm pnmcat -tb A1.ppm A2.ppm A3.ppm | pnmtopng > A.png ...assuming the notation indicates (row,column) rather than (x,y). Otherwise reverse the -lr and -tb options. But it sounded like the original poster was under the mistaken impression that PNG files could be merged without decompression and recompression; that's not even possible for vertical stacks, since you can't readjust the Adler-32 checksum without uncompressing. (You might be able to wing it and use a special-purpose version of zlib to tell you what the checksum *should* have been, and then write that into the last IDAT chunk as the final step. But it would never work for horizontal arrangements anyway.) Greg -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Sun Dec 24 21:47:11 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id VAA21023; Sun, 24 Dec 2000 21:47:10 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id VAA15642; Sun, 24 Dec 2000 21:47:05 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma015631; Sun, 24 Dec 00 21:46:16 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id VAA02005; Sun, 24 Dec 2000 21:49:20 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id VAA05120; Sun, 24 Dec 2000 21:45:16 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from web5407.mail.yahoo.com (web5407.mail.yahoo.com [216.115.106.199]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with SMTP id VAA05116 for ; Sun, 24 Dec 2000 21:45:15 -0600 (CST) Message-ID: <20001225034515.17202.qmail@web5407.mail.yahoo.com> Received: from [172.138.79.160] by web5407.mail.yahoo.com; Sun, 24 Dec 2000 19:45:15 PST Date: Sun, 24 Dec 2000 19:45:15 -0800 (PST) From: Art Subject: Re: PNG file processing... To: PNG List MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List I was going down your path till I tried to find a dos executable that I could download from the web of pnmcat. I see everything from linux to amiga available but no exe that will run on a dos or ms windows os. Is this hidden somewhere special? Thanks, --- Greg Roelofs wrote: > >>I am looking for an alogrithm that will allow me to join multiple > PNG > >>files (all of the same size and dimensions) into a grid pattern to > make > >>one large PNG file. The files: > >>A11, A12, A13, A14, A21, A22, A23, A24, A31, A32, A33 and A34. > > > One way to do this is to convert the images to ppm-format, do the > stiching > > with PBMplus tools (pnmmake/pbmmake, pnmcut, pnmpaste) and then > convert the > > result back to PNG. I have done this often enough myself and it > only > > involves writing some shell-script (or batch file). > > Actually, it would just be pnmcat (and pngtopnm/pnmtopng, of course): > > pnmcat -lr A11.ppm A12.ppm A13.ppm A14.ppm > A1.ppm > pnmcat -lr A21.ppm A22.ppm A23.ppm A24.ppm > A2.ppm > pnmcat -lr A31.ppm A32.ppm A33.ppm A34.ppm > A3.ppm > pnmcat -tb A1.ppm A2.ppm A3.ppm | pnmtopng > A.png > > ...assuming the notation indicates (row,column) rather than (x,y). > Otherwise reverse the -lr and -tb options. > > But it sounded like the original poster was under the mistaken > impression > that PNG files could be merged without decompression and > recompression; > that's not even possible for vertical stacks, since you can't > readjust the > Adler-32 checksum without uncompressing. (You might be able to wing > it and > use a special-purpose version of zlib to tell you what the checksum > *should* > have been, and then write that into the last IDAT chunk as the final > step. > But it would never work for horizontal arrangements anyway.) > > Greg > > -- > Send the message body "help" to png-list-request@ccrc.wustl.edu > . > p" to png-list-request@ccrc.wustl.edu > . > -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Sun Dec 24 23:12:25 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id XAA21391; Sun, 24 Dec 2000 23:12:25 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id XAA16929; Sun, 24 Dec 2000 23:12:20 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma016925; Sun, 24 Dec 00 23:12:03 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id XAA02743; Sun, 24 Dec 2000 23:15:06 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id XAA06426; Sun, 24 Dec 2000 23:11:17 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from mail01.san.yahoo.com (mail01.san.yahoo.com [209.132.1.35]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id XAA06422 for ; Sun, 24 Dec 2000 23:11:17 -0600 (CST) Received: from volans (24.67.95.111) by mail01.san.yahoo.com (5.1.053) id 39FF3D12024BC81F for png-list@ccrc.wustl.edu; Sun, 24 Dec 2000 21:05:07 -0800 Message-Id: <3.0.3.32.20001224220913.006bf9c8@mail.schaik.com> X-Sender: willemschaik@mail.schaik.com X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.3 (32) Date: Sun, 24 Dec 2000 22:09:13 -0700 To: PNG List From: Willem van Schaik Subject: Re: PNG file processing... In-Reply-To: <20001225034515.17202.qmail@web5407.mail.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List I sent Art a dos binary. Willem At 19:45 24-12-00 -0800, you wrote: >I was going down your path till I tried to find a dos executable that I >could download from the web of pnmcat. I see everything from linux to >amiga available but no exe that will run on a dos or ms windows os. Is >this hidden somewhere special? > >Thanks, >--- Greg Roelofs wrote: >> >>I am looking for an alogrithm that will allow me to join multiple >> PNG >> >>files (all of the same size and dimensions) into a grid pattern to >> make >> >>one large PNG file. The files: >> >>A11, A12, A13, A14, A21, A22, A23, A24, A31, A32, A33 and A34. >> >> > One way to do this is to convert the images to ppm-format, do the >> stiching >> > with PBMplus tools (pnmmake/pbmmake, pnmcut, pnmpaste) and then >> convert the >> > result back to PNG. I have done this often enough myself and it >> only >> > involves writing some shell-script (or batch file). >> >> Actually, it would just be pnmcat (and pngtopnm/pnmtopng, of course): >> >> pnmcat -lr A11.ppm A12.ppm A13.ppm A14.ppm > A1.ppm >> pnmcat -lr A21.ppm A22.ppm A23.ppm A24.ppm > A2.ppm >> pnmcat -lr A31.ppm A32.ppm A33.ppm A34.ppm > A3.ppm >> pnmcat -tb A1.ppm A2.ppm A3.ppm | pnmtopng > A.png >> >> ...assuming the notation indicates (row,column) rather than (x,y). >> Otherwise reverse the -lr and -tb options. >> >> But it sounded like the original poster was under the mistaken >> impression >> that PNG files could be merged without decompression and >> recompression; >> that's not even possible for vertical stacks, since you can't >> readjust the >> Adler-32 checksum without uncompressing. (You might be able to wing >> it and >> use a special-purpose version of zlib to tell you what the checksum >> *should* >> have been, and then write that into the last IDAT chunk as the final >> step. >> But it would never work for horizontal arrangements anyway.) >> >> Greg >> >> -- >> Send the message body "help" to png-list-request@ccrc.wustl.edu >> . >> p" to png-list-request@ccrc.wustl.edu >> . >> > > >-- >Send the message body "help" to png-list-request@ccrc.wustl.edu > -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Sun Dec 24 23:56:39 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id XAA21631; Sun, 24 Dec 2000 23:56:38 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id XAA17861; Sun, 24 Dec 2000 23:56:32 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma017841; Sun, 24 Dec 00 23:56:28 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id XAA03187; Sun, 24 Dec 2000 23:59:31 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id XAA07129; Sun, 24 Dec 2000 23:55:41 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from marine.sonic.net (marine.sonic.net [208.201.224.37]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with SMTP id XAA07122 for ; Sun, 24 Dec 2000 23:55:40 -0600 (CST) Received: (qmail 28274 invoked from network); 25 Dec 2000 05:55:39 -0000 Received: from sub.sonic.net (208.201.224.8) by marine.sonic.net with SMTP; 25 Dec 2000 05:55:39 -0000 Received: from sonic.net (bolt [208.201.224.36]) by sub.sonic.net (8.11.0/8.8.5) with ESMTP id eBP5te117238; Sun, 24 Dec 2000 21:55:40 -0800 X-envelope-info: Received: (from roelofs@localhost) by sonic.net (8.11.0/8.7.3) id eBP5tWZ21191; Sun, 24 Dec 2000 21:55:32 -0800 Date: Sun, 24 Dec 2000 21:55:32 -0800 Message-Id: <200012250555.eBP5tWZ21191@sonic.net> From: Greg Roelofs To: png-list@ccrc.wustl.edu Subject: Christmas toy: pngcrush Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List I've finally finished the first beta of a long-promised utility, pngquant. It quantizes and dithers 32-bit RGBA PNGs down to 8-bit RGBA-palette PNGs, usually with a significant reduction in file size. There will be a home page for it here within a day or two: http://www.libpng.org/pub/png/apps/pngquant.html ...but for now you can simply go look in http://www.libpng.org/pub/png/src/ and download the source code to version 0.7. I hope to fix up a couple of the shortcomings mentioned in the README within a week or so and make 1.0 available at that time, but insofar as it's taken me 3 years to get this far, who knows... Greg P.S. Please send any responses to png-list, not png-announce. -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Mon Dec 25 00:26:51 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id AAA21877; Mon, 25 Dec 2000 00:26:50 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id AAA18657; Mon, 25 Dec 2000 00:26:44 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma018641; Mon, 25 Dec 00 00:26:35 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id AAA03500; Mon, 25 Dec 2000 00:29:38 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id AAA07585; Mon, 25 Dec 2000 00:25:52 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from marine.sonic.net (marine.sonic.net [208.201.224.37]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with SMTP id AAA07577 for ; Mon, 25 Dec 2000 00:25:51 -0600 (CST) Received: (qmail 29366 invoked from network); 25 Dec 2000 06:25:51 -0000 Received: from prop.sonic.net (208.201.224.193) by marine.sonic.net with SMTP; 25 Dec 2000 06:25:51 -0000 Received: from sonic.net (bolt [208.201.224.36]) by prop.sonic.net (8.11.0/8.8.5) with ESMTP id eBP6PqS11498; Sun, 24 Dec 2000 22:25:52 -0800 X-envelope-info: Received: (from roelofs@localhost) by sonic.net (8.11.0/8.7.3) id eBP6Pio21590; Sun, 24 Dec 2000 22:25:44 -0800 Date: Sun, 24 Dec 2000 22:25:44 -0800 Message-Id: <200012250625.eBP6Pio21590@sonic.net> From: Greg Roelofs To: png-list@ccrc.wustl.edu Subject: oops, Christmas correction: pngquant Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Sorry, addled brain cells: the subject line of the previous announcement should have said "pngquant," not "pngcrush." On the bright side, an initial version of the web page is now AVAilable: http://www.libpng.org/pub/png/apps/pngquant.html Also, the sources are available in tar.gz format as well as .zip. Greg -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Wed Dec 27 01:37:31 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id BAA04671; Wed, 27 Dec 2000 01:37:30 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id BAA22196; Wed, 27 Dec 2000 01:37:25 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma022165; Wed, 27 Dec 00 01:37:21 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id BAA03771; Wed, 27 Dec 2000 01:40:28 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id BAA25761; Wed, 27 Dec 2000 01:35:56 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from marine.sonic.net (marine.sonic.net [208.201.224.37]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with SMTP id BAA25757 for ; Wed, 27 Dec 2000 01:35:54 -0600 (CST) Received: (qmail 10913 invoked from network); 27 Dec 2000 07:35:54 -0000 Received: from sub.sonic.net (208.201.224.8) by marine.sonic.net with SMTP; 27 Dec 2000 07:35:54 -0000 Received: from sonic.net (bolt [208.201.224.36]) by sub.sonic.net (8.11.0/8.8.5) with ESMTP id eBR7ZtH26161; Tue, 26 Dec 2000 23:35:55 -0800 X-envelope-info: Received: (from roelofs@localhost) by sonic.net (8.11.0/8.7.3) id eBR7ZjX26704; Tue, 26 Dec 2000 23:35:45 -0800 Date: Tue, 26 Dec 2000 23:35:45 -0800 Message-Id: <200012270735.eBR7ZjX26704@sonic.net> From: Greg Roelofs To: png-list@ccrc.wustl.edu Subject: Re: Christmas toy: pngquant Cc: jairey@PCPANDL.com Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List I've just uploaded version 0.75, which not only fixes a scaling bug Glenn noticed (oops), but also removes some unnecessary restrictions on incoming PNG types (also thanks to Glenn) and adds tRNS optimization (me). I changed the default dithering method to Floyd-Steinberg and modified the naming scheme for the output files to allow for easier comparisons of the results of the two dithering methods. http://www.libpng.org/pub/png/apps/pngquant.html Next step, hopefully by this weekend sometime, is multifile support. I'll probably add some precompiled binaries at that time. (Yell if you really, really, *really* have to have a Linux/glibc binary right now.) Greg P.S. I didn't upload this version to swrinde yet; I'm hoping I'll get the multifile version done fast enough that 0.9 or 1.0 or whatever can supersede it. Multifile support is trivial, just slightly tedious (memory leaks and all). -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Thu Dec 28 00:32:44 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id AAA15885; Thu, 28 Dec 2000 00:32:44 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id AAA18534; Thu, 28 Dec 2000 00:32:37 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma018507; Thu, 28 Dec 00 00:32:18 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id AAA01076; Thu, 28 Dec 2000 00:35:26 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id AAA19817; Thu, 28 Dec 2000 00:31:16 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from marine.sonic.net (marine.sonic.net [208.201.224.37]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with SMTP id AAA19813 for ; Thu, 28 Dec 2000 00:31:15 -0600 (CST) Received: (qmail 31837 invoked from network); 28 Dec 2000 06:31:15 -0000 Received: from ultra.sonic.net (208.201.224.22) by marine.sonic.net with SMTP; 28 Dec 2000 06:31:15 -0000 Received: from sonic.net (bolt [208.201.224.36]) by ultra.sonic.net (8.11.0/8.8.5) with ESMTP id eBS6SDZ01266 for ; Wed, 27 Dec 2000 22:28:14 -0800 X-envelope-info: Received: (from roelofs@localhost) by sonic.net (8.11.0/8.7.3) id eBS6V6c31337 for png-list@ccrc.wustl.edu; Wed, 27 Dec 2000 22:31:06 -0800 Date: Wed, 27 Dec 2000 22:31:06 -0800 Message-Id: <200012280631.eBS6V6c31337@sonic.net> From: Greg Roelofs To: png-list@ccrc.wustl.edu Subject: pngquant 0.90 Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Two releases later, it does tRNS optimization and handles multiple files: http://www.libpng.org/pub/png/apps/pngquant.html I didn't have time to test-compile it under Windows, but I'll try to do so tomorrow. Once that's worked out and at least a couple of other people give it a try, I'll call it 1.0 and leave it alone for a whlie. Greg P.S. Various defaults have changed; see the CHANGELOG for details. -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Thu Dec 28 10:51:55 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id KAA20993; Thu, 28 Dec 2000 10:51:54 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id KAA20967; Thu, 28 Dec 2000 10:51:48 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma020901; Thu, 28 Dec 00 10:51:15 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id KAA12102; Thu, 28 Dec 2000 10:54:23 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id KAA28043; Thu, 28 Dec 2000 10:50:23 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from mail.rdc1.md.home.com (ha1.rdc1.md.home.com [24.2.2.66]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id KAA27956; Thu, 28 Dec 2000 10:45:22 -0600 (CST) Received: from cc170083-a.abdn1.md.home.com ([24.7.161.22]) by mail.rdc1.md.home.com (InterMail vM.4.01.03.00 201-229-121) with SMTP id <20001228164522.GKNV10139.mail.rdc1.md.home.com@cc170083-a.abdn1.md.home.com>; Thu, 28 Dec 2000 08:45:22 -0800 Message-Id: <3.0.6.32.20001228114408.010dbb90@netmail.home.com> X-Sender: glennrp@netmail.home.com X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.6 (32) Date: Thu, 28 Dec 2000 11:44:08 -0500 To: mng-list@ccrc.wustl.edu From: Glenn Randers-Pehrson Subject: CFV: MNG profile bits 6-9 20001223 Cc: png-list@ccrc.wustl.edu, png-implement@ccrc.wustl.edu Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Call for Vote MNG profile bits 6-9 20001223 ftp://swrinde.nde.swri.edu/pub/mng/documents/proposals/ mng-0.995a-20001223-pdg.html Glenn Randers-Pehrson This message begins a two-week voting period on the proposal to reserve bit 6 and to reverse the meaning of bits 7, 8, and 9 in the MNG simplicity profile, as indicated in the referenced document. Voting will occur concurrently with the vote to elevate MNG-0.995 to MNG-1.0 status. If this proposal is approved, the changes will be incorporated in MNG-1.0. *This* CFV relates only to the profile bits. Approval of MNG proposals requires at least five affirmative votes. There must be at least twice as many affirmative votes as negative votes. Eligible voters are those persons who have posted a message to mng-list, mpng-list, png-list, or png-implement at least 180 days prior to the close of this voting period. Votes cast by anyone who has not posted a message to one of those lists at least 180 days prior to the close of this two-week voting period will be recorded but will not be officially counted. ABSTAIN votes may be cast, preferably with an explanation such as "don't care", "too busy", or "undecided", but will not be counted. Individuals can cast more than one vote if they change their mind; only their final vote received within the voting period will be counted. "NO" votes should be accompanied by your rationale for voting "NO". Votes must be posted to mng-list@ccrc.wustl.edu. Please include your vote in the subject line of your message, e.g., "VOTE on MNG profile bits 6-9 20001223: YES" The voting period closes exactly two weeks after the receipt of this message by the mng-list list processor. Glenn -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Thu Dec 28 10:57:12 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id KAA21090; Thu, 28 Dec 2000 10:57:12 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id KAA21660; Thu, 28 Dec 2000 10:57:06 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma021575; Thu, 28 Dec 00 10:56:45 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id KAA12238; Thu, 28 Dec 2000 10:59:54 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id KAA28226; Thu, 28 Dec 2000 10:56:00 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from mail.rdc1.md.home.com (ha1.rdc1.md.home.com [24.2.2.66]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id KAA28066; Thu, 28 Dec 2000 10:51:46 -0600 (CST) Received: from cc170083-a.abdn1.md.home.com ([24.7.161.22]) by mail.rdc1.md.home.com (InterMail vM.4.01.03.00 201-229-121) with SMTP id <20001228165146.GQCI10139.mail.rdc1.md.home.com@cc170083-a.abdn1.md.home.com>; Thu, 28 Dec 2000 08:51:46 -0800 Message-Id: <3.0.6.32.20001228115033.010db790@netmail.home.com> X-Sender: glennrp@netmail.home.com X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.6 (32) Date: Thu, 28 Dec 2000 11:50:33 -0500 To: mng-list@ccrc.wustl.edu From: Glenn Randers-Pehrson Subject: CFV: MNG-1.0 20001224 Cc: png-list@ccrc.wustl.edu, png-implement@ccrc.wustl.edu Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Call for Vote MNG-1.0 20001224 ftp://swrinde.nde.swri.edu/pub/mng/documents/ mng-0.995-20001224-pdg.html Glenn Randers-Pehrson This message begins a two-week voting period on the proposal to elevate MNG-0.995 to version 1.0 status. Voting will occur concurrently with the vote to change the meaning of simplicity profile bits 6-9. If that proposal is approved, the changes will be incorporated in MNG-1.0. *This* CFV relates to elevating MNG to 1.0 status, regardless of the outcome of that proposal. There will not be separate votes on JNG, MNG-LC, or MNG-VLC; those will be elevated as well if this proposal is approved. Approval of MNG proposals requires at least five affirmative votes. There must be at least twice as many affirmative votes as negative votes. Eligible voters are those persons who have posted a message to mng-list, mpng-list, png-list, or png-implement at least 180 days prior to the close of this voting period. Votes cast by anyone who has not posted a message to one of those lists at least 180 days prior to the close of this two-week voting period will be recorded but will not be officially counted. ABSTAIN votes may be cast, preferably with an explanation such as "don't care", "too busy", or "undecided", but will not be counted. Individuals can cast more than one vote if they change their mind; only their final vote received within the voting period will be counted. "NO" votes should be accompanied by your rationale for voting "NO". Votes must be posted to mng-list@ccrc.wustl.edu. Please include your vote in the subject line of your message, e.g., "VOTE on MNG-1.0 20001224: YES" The voting period closes exactly two weeks after the receipt of this message by the mng-list list processor. Glenn -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Thu Dec 28 12:29:39 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id MAA22354; Thu, 28 Dec 2000 12:29:38 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id MAA00028; Thu, 28 Dec 2000 12:29:32 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma029951; Thu, 28 Dec 00 12:28:55 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id MAA14758; Thu, 28 Dec 2000 12:32:04 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id MAA29885; Thu, 28 Dec 2000 12:27:59 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from snark.thyrsus.com (snark.tuxedo.org [207.106.50.26]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with ESMTP id MAA29881; Thu, 28 Dec 2000 12:27:56 -0600 (CST) Received: (from esr@localhost) by snark.thyrsus.com (8.11.0/8.11.0) id eBSIRJ002305; Thu, 28 Dec 2000 13:27:19 -0500 Date: Thu, 28 Dec 2000 13:27:19 -0500 From: "Eric S. Raymond" To: PNG Implementation List Cc: mng-list@ccrc.wustl.edu, png-list@ccrc.wustl.edu Subject: Re: CFV: MNG profile bits 6-9 20001223 Message-ID: <20001228132719.A2294@thyrsus.com> References: <3.0.6.32.20001228114408.010dbb90@netmail.home.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3.0.6.32.20001228114408.010dbb90@netmail.home.com>; from glennrp@home.com on Thu, Dec 28, 2000 at 11:44:08AM -0500 Organization: Eric Conspiracy Secret Labs X-Eric-Conspiracy: There is no conspiracy Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List Glenn Randers-Pehrson : > Call for Vote > MNG profile bits 6-9 20001223 > ftp://swrinde.nde.swri.edu/pub/mng/documents/proposals/ > mng-0.995a-20001223-pdg.html > Glenn Randers-Pehrson > > This message begins a two-week voting period on the proposal to reserve > bit 6 and to reverse the meaning of bits 7, 8, and 9 in the MNG simplicity > profile, as indicated in the referenced document. > > Voting will occur concurrently with the vote to elevate MNG-0.995 to > MNG-1.0 status. If this proposal is approved, the changes will be > incorporated in MNG-1.0. *This* CFV relates only to the profile bits. > > Approval of MNG proposals requires at least five affirmative votes. There > must be at least twice as many affirmative votes as negative votes. ABSTAIN. I don't see a functional improvement here, so I don't see a lot of point in breaking backward compatibility. On the other hand there's probably not a lot of backward compatibility to break, and I'm not intrinsically opposed to this proposal, so I'll leave it up to people who really care about the matter. -- Eric S. Raymond Before a standing army can rule, the people must be disarmed, as they are in almost every kingdom in Europe. The supreme power in America cannot enforce unjust laws by the sword, because the people are armed, and constitute a force superior to any band of regular troops. -- Noah Webster -- Send the message body "help" to png-list-request@ccrc.wustl.edu From owner-png-list@ccrc.wustl.edu Sun Dec 31 14:50:35 2000 Received: from jerryg.ccf.swri.edu (jerryg.ccf.swri.edu [129.162.252.30]) by swrinde.nde.swri.edu (8.9.3/8.9.3) with ESMTP id OAA21968; Sun, 31 Dec 2000 14:50:34 -0600 (CST) Received: (from uucp@localhost) by jerryg.ccf.swri.edu (8.9.3/8.9.3) id OAA18346; Sun, 31 Dec 2000 14:50:29 -0600 (CST) Received: from nodnsquery(129.162.1.33) by jerryg.ccf.swri.edu via smap (V4.0) id xma018304; Sun, 31 Dec 00 14:49:26 -0600 Received: from ccrc.wustl.edu (dns.ccrc.wustl.edu [128.252.169.100]) by mailhub.ccf.swri.edu (8.9.3/8.9.3) with ESMTP id OAA20787; Sun, 31 Dec 2000 14:52:38 -0600 (CST) Received: (from majordom@localhost) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) id OAA00679; Sun, 31 Dec 2000 14:44:30 -0600 (CST) X-Authentication-Warning: ccrc.wustl.edu: majordom set sender to owner-png-list@ccrc.wustl.edu using -f Received: from marine.sonic.net (marine.sonic.net [208.201.224.37]) by ccrc.wustl.edu (8.9.3+Sun/8.9.1) with SMTP id OAA00673 for ; Sun, 31 Dec 2000 14:44:29 -0600 (CST) Received: (qmail 19606 invoked from network); 31 Dec 2000 20:44:29 -0000 Received: from sub.sonic.net (208.201.224.8) by marine.sonic.net with SMTP; 31 Dec 2000 20:44:29 -0000 Received: from sonic.net (bolt [208.201.224.36]) by sub.sonic.net (8.11.0/8.8.5) with ESMTP id eBVKiTF16419 for ; Sun, 31 Dec 2000 12:44:29 -0800 X-envelope-info: Received: (from roelofs@localhost) by sonic.net (8.11.0/8.7.3) id eBVKiIY31191 for png-list@ccrc.wustl.edu; Sun, 31 Dec 2000 12:44:18 -0800 Date: Sun, 31 Dec 2000 12:44:18 -0800 Message-Id: <200012312044.eBVKiIY31191@sonic.net> From: Greg Roelofs To: png-list@ccrc.wustl.edu Subject: ACDSee bug? Sender: owner-png-list@ccrc.wustl.edu Precedence: bulk Reply-To: PNG List I just (well, two weeks ago) received a bug report indicating that (1) ACDSee is now capable of writing PNGs, not just reading them, and (2) ACDSee 3.0 or 3.1 writes PNGs without an IEND chunk. Do any Windows users have experience with this app? I'm interested in confirmation of the IEND bug (preferably with an exact version number, like, say, 3.1 (SR-1), which is the latest release) and any info on when write-support was first added (i.e., what version). http://www.acdsystems.com/english/products/acdsee/acdsee310.htm (As an aside, I'm curious how others see their web pages. For me, with NN 4.7x under Linux, the top two page-heights of every page are almost blank--I have to scroll down to the third page to see any "real" content, including the company's own logo/header. I find it difficult to believe that anyone would attempt to do business with a site this poorly designed...) Greg -- Send the message body "help" to png-list-request@ccrc.wustl.edu