imager.git
9 years agoadd an unshipped test for checking sub-module versions are updated
Tony Cook [Tue, 14 Aug 2012 09:31:19 +0000 (19:31 +1000)]
add an unshipped test for checking sub-module versions are updated

9 years agoeliminate another unused impng.c variable
Tony Cook [Tue, 14 Aug 2012 09:30:33 +0000 (19:30 +1000)]
eliminate another unused impng.c variable

9 years agoallow building GIF/imgif.c on C89 compilers
Tony Cook [Mon, 13 Aug 2012 04:23:17 +0000 (14:23 +1000)]
allow building GIF/imgif.c on C89 compilers

9 years agofix a static vs extern function mismatch
Tony Cook [Sat, 11 Aug 2012 03:38:15 +0000 (13:38 +1000)]
fix a static vs extern function mismatch

9 years agoeliminate various unused variable warnings
Tony Cook [Mon, 13 Aug 2012 00:37:19 +0000 (10:37 +1000)]
eliminate various unused variable warnings

9 years agoremove various dangerous functions from the XS interface
Tony Cook [Mon, 6 Aug 2012 13:36:33 +0000 (23:36 +1000)]
remove various dangerous functions from the XS interface

They're either not needed or called automatically as needed

9 years agoinclude stdlib.h in the mandelbrot.c dynfilt for rand()
Tony Cook [Mon, 6 Aug 2012 13:37:39 +0000 (23:37 +1000)]
include stdlib.h in the mandelbrot.c dynfilt for rand()

9 years agoi_init_tt() has only been used internally to font.c, make it static
Tony Cook [Mon, 6 Aug 2012 01:45:38 +0000 (11:45 +1000)]
i_init_tt() has only been used internally to font.c, make it static

9 years agoallow JPEG/imexif.c to build on C89 compilers
Tony Cook [Sat, 28 Jul 2012 08:08:43 +0000 (18:08 +1000)]
allow JPEG/imexif.c to build on C89 compilers

9 years agoadd a recipe to the cookbook
Tony Cook [Fri, 13 Jul 2012 09:53:44 +0000 (19:53 +1000)]
add a recipe to the cookbook

it's been a while, and the intuition was interesting

9 years agochange notes for giflib 4.2 support
Tony Cook [Thu, 12 Jul 2012 14:24:09 +0000 (00:24 +1000)]
change notes for giflib 4.2 support

9 years agosupport giflib 4.2
Tony Cook [Thu, 12 Jul 2012 14:23:53 +0000 (00:23 +1000)]
support giflib 4.2

4.2 eliminated the GIF_LIB_VERSION macro.

9 years ago0.91 release v0.91
Tony Cook [Mon, 4 Jun 2012 12:23:01 +0000 (22:23 +1000)]
0.91 release

9 years agochange notes for recent changes
Tony Cook [Mon, 4 Jun 2012 10:30:42 +0000 (20:30 +1000)]
change notes for recent changes

9 years ago[rt.cpan.org #68910] write a brief security overview
Tony Cook [Mon, 4 Jun 2012 10:30:20 +0000 (20:30 +1000)]
[rt.cpan.org #68910] write a brief security overview

9 years agoadded the check_file_limits() method to Imager
Tony Cook [Mon, 4 Jun 2012 10:00:15 +0000 (20:00 +1000)]
added the check_file_limits() method to Imager

This exposes the i_int_check_image_file_limits() API.

Since I'd expected people to be able to write file handlers in perl,
such authors need access to the file size limit checking mechanism.

9 years agoset_file_limits(reset => 1) now resets to defaults, not zero.
Tony Cook [Mon, 4 Jun 2012 09:58:24 +0000 (19:58 +1000)]
set_file_limits(reset => 1) now resets to defaults, not zero.

Previously reset would set max_bytes to 0 (unlimited), it now
sets max_bytes to it's default of 2**30.

9 years agoadjust the test error messages to match the new module load errors
Tony Cook [Sat, 26 May 2012 02:33:49 +0000 (12:33 +1000)]
adjust the test error messages to match the new module load errors

9 years ago[rt #77063] improve rotate(degrees => ...) results.
Tony Cook [Sat, 26 May 2012 02:32:53 +0000 (12:32 +1000)]
[rt #77063] improve rotate(degrees => ...) results.

9 years ago[rt #77173] improve error reporting on an API version mismatch
Tony Cook [Thu, 24 May 2012 09:09:41 +0000 (19:09 +1000)]
[rt #77173] improve error reporting on an API version mismatch

9 years agoelimintate IIM_new and IIM_DESTROY from Imager's internals
Tony Cook [Fri, 11 May 2012 12:28:50 +0000 (22:28 +1000)]
elimintate IIM_new and IIM_DESTROY from Imager's internals

They only matter for XS

9 years agoyes 0.90 has been released
Tony Cook [Fri, 11 May 2012 11:52:32 +0000 (21:52 +1000)]
yes 0.90 has been released

9 years ago0.90 release v0.90
Tony Cook [Mon, 30 Apr 2012 09:02:56 +0000 (19:02 +1000)]
0.90 release

9 years agoupdate PNG Changes/.pm for release
Tony Cook [Mon, 30 Apr 2012 09:00:04 +0000 (19:00 +1000)]
update PNG Changes/.pm for release

9 years agoMerge branch 'png'
Tony Cook [Sun, 29 Apr 2012 04:54:18 +0000 (14:54 +1000)]
Merge branch 'png'

9 years agoPNG re-work: prepare for merge
Tony Cook [Sun, 29 Apr 2012 04:53:35 +0000 (14:53 +1000)]
PNG re-work: prepare for merge

9 years agoPNG re-work: finish up the tag documentation
Tony Cook [Sun, 29 Apr 2012 03:11:32 +0000 (13:11 +1000)]
PNG re-work: finish up the tag documentation

9 years agoPNG re-work: start documenting new tags
Tony Cook [Mon, 23 Apr 2012 05:18:08 +0000 (15:18 +1000)]
PNG re-work: start documenting new tags

9 years agoPNG re-work: saving imager tags as PNG chunks
Tony Cook [Fri, 20 Apr 2012 10:15:25 +0000 (20:15 +1000)]
PNG re-work: saving imager tags as PNG chunks

9 years agoPNG re-work: fix line length calculations for pngdump.pl
Tony Cook [Fri, 20 Apr 2012 10:14:51 +0000 (20:14 +1000)]
PNG re-work: fix line length calculations for pngdump.pl

9 years agoPNG re-work: process the bKGD chunk into an i_background tag
Tony Cook [Mon, 16 Apr 2012 09:05:53 +0000 (19:05 +1000)]
PNG re-work: process the bKGD chunk into an i_background tag

9 years agoPNG re-work: test tags from PNG reads and re-work a little
Tony Cook [Sun, 15 Apr 2012 04:50:52 +0000 (14:50 +1000)]
PNG re-work: test tags from PNG reads and re-work a little

libpng synthesizes gAMA and cHRM chunks on input when sRGB is present,
so ignore them if sRGB is present.

No longer generate a png_text tag when the keyword is recognized.

Added png_time

9 years agoPNG re-work: ignore some build and test detritus for the PNG manifest
Tony Cook [Sun, 15 Apr 2012 04:48:07 +0000 (14:48 +1000)]
PNG re-work: ignore some build and test detritus for the PNG manifest

9 years agoPNG re-work: update pngdump.pl to dump IDAT data
Tony Cook [Sun, 15 Apr 2012 04:47:14 +0000 (14:47 +1000)]
PNG re-work: update pngdump.pl to dump IDAT data

9 years agoPNG re-work: avoid the comment in qw() warning
Tony Cook [Sun, 15 Apr 2012 04:46:49 +0000 (14:46 +1000)]
PNG re-work: avoid the comment in qw() warning

9 years agoPNG re-work: update Changes for the most recent changes
Tony Cook [Sun, 15 Apr 2012 03:26:13 +0000 (13:26 +1000)]
PNG re-work: update Changes for the most recent changes

9 years agoPNG-rework: forward png flush output through to i_io_flush()
Tony Cook [Sun, 15 Apr 2012 03:20:19 +0000 (13:20 +1000)]
PNG-rework: forward png flush output through to i_io_flush()

9 years agoPNG re-work: support writing 16-bit/sample images
Tony Cook [Sat, 14 Apr 2012 02:52:22 +0000 (12:52 +1000)]
PNG re-work: support writing 16-bit/sample images

9 years agoPNG re-work: handle writing bilevel files
Tony Cook [Thu, 12 Apr 2012 12:55:45 +0000 (22:55 +1000)]
PNG re-work: handle writing bilevel files

9 years agoPNG re-work: paletted file writes
Tony Cook [Thu, 12 Apr 2012 09:55:56 +0000 (19:55 +1000)]
PNG re-work: paletted file writes

9 years agoPNG re-work: split out write handling
Tony Cook [Tue, 10 Apr 2012 08:32:59 +0000 (18:32 +1000)]
PNG re-work: split out write handling

9 years agoPNG re-work: collect more text tags
Tony Cook [Mon, 9 Apr 2012 11:03:42 +0000 (21:03 +1000)]
PNG re-work: collect more text tags

9 years agoPNG re-work: remove unused variables
Tony Cook [Mon, 9 Apr 2012 11:03:22 +0000 (21:03 +1000)]
PNG re-work: remove unused variables

9 years agoPNG re-work: test results of new and old read handlers
Tony Cook [Mon, 9 Apr 2012 11:02:39 +0000 (21:02 +1000)]
PNG re-work: test results of new and old read handlers

9 years agoPNG re-work: expand the pngdump.pl tool a bit
Tony Cook [Mon, 9 Apr 2012 04:59:49 +0000 (14:59 +1000)]
PNG re-work: expand the pngdump.pl tool a bit

9 years agoPNG re-work: add more test images and fix the PNG/ MANIFEST
Tony Cook [Mon, 9 Apr 2012 02:58:43 +0000 (12:58 +1000)]
PNG re-work: add more test images and fix the PNG/ MANIFEST

9 years agoPNG re-work: change note for the previous + some TODO
Tony Cook [Mon, 9 Apr 2012 02:49:11 +0000 (12:49 +1000)]
PNG re-work: change note for the previous + some TODO

9 years agoPNG re-work: read 16-bit PNG as 16-bit
Tony Cook [Fri, 6 Apr 2012 13:18:45 +0000 (23:18 +1000)]
PNG re-work: read 16-bit PNG as 16-bit

9 years agoPNG re-work: read 1 bit grey images as the common internal bilevel format
Tony Cook [Fri, 6 Apr 2012 07:30:39 +0000 (17:30 +1000)]
PNG re-work: read 1 bit grey images as the common internal bilevel format

which is really paletted

9 years agoPNG re-work: implement paletted read
Tony Cook [Fri, 6 Apr 2012 05:13:20 +0000 (15:13 +1000)]
PNG re-work: implement paletted read

9 years agoPNG re-work: remove obsolete comment and the associated unused code
Tony Cook [Mon, 2 Apr 2012 11:53:16 +0000 (21:53 +1000)]
PNG re-work: remove obsolete comment and the associated unused code

This appears to have been copied from libpng's example.c

9 years agoPNG re-work: remove direct image access
Tony Cook [Mon, 2 Apr 2012 11:49:37 +0000 (21:49 +1000)]
PNG re-work: remove direct image access

the PNG driver has long directly accessed Imager idata data
directly, which is invalid.

I may change the internal format of the data in the future for simpler
MMX/SSE implementation.

9 years agoPNG re-work: simple structural dump script for PNG files
Tony Cook [Mon, 2 Apr 2012 11:32:03 +0000 (21:32 +1000)]
PNG re-work: simple structural dump script for PNG files

9 years agoWIP PNG re-work
Tony Cook [Sat, 12 Nov 2011 05:38:41 +0000 (16:38 +1100)]
WIP PNG re-work

9 years agoPNG re-work: save png_bits and png_interlace tags
Tony Cook [Mon, 7 Nov 2011 09:11:18 +0000 (20:11 +1100)]
PNG re-work: save png_bits and png_interlace tags

9 years agoPNG re-work: add more image type TODO tests
Tony Cook [Wed, 2 Nov 2011 11:58:53 +0000 (22:58 +1100)]
PNG re-work: add more image type TODO tests

9 years agoPNG re-work: simple tests for reading various images types
Tony Cook [Tue, 14 Jun 2011 13:49:51 +0000 (23:49 +1000)]
PNG re-work: simple tests for reading various images types

including TODOs for paletted checks

9 years agoPNG re-work: test size limit handling of very wide or tall PNG images
Tony Cook [Tue, 14 Jun 2011 13:34:47 +0000 (23:34 +1000)]
PNG re-work: test size limit handling of very wide or tall PNG images

9 years agoPNG re-work: provide perl level access to the libpng version number
Tony Cook [Tue, 14 Jun 2011 13:34:11 +0000 (23:34 +1000)]
PNG re-work: provide perl level access to the libpng version number

9 years agoPNG re-work: improve error reporting for PNG read/write
Tony Cook [Sat, 11 Jun 2011 03:55:07 +0000 (13:55 +1000)]
PNG re-work: improve error reporting for PNG read/write

9 years agoignore some build detritus for the manifest
Tony Cook [Sun, 15 Apr 2012 04:47:40 +0000 (14:47 +1000)]
ignore some build detritus for the manifest

9 years agoi_get_file_background[f]?() now return int
Tony Cook [Mon, 16 Apr 2012 09:04:59 +0000 (19:04 +1000)]
i_get_file_background[f]?() now return int

9 years agofix a typo
Tony Cook [Sat, 28 Apr 2012 02:48:49 +0000 (12:48 +1000)]
fix a typo

9 years ago[rt #74043] handle static linking of libpng with libz
Tony Cook [Sat, 28 Apr 2012 02:45:13 +0000 (12:45 +1000)]
[rt #74043] handle static linking of libpng with libz

9 years agochange note for 535921f
Tony Cook [Fri, 27 Apr 2012 12:01:43 +0000 (22:01 +1000)]
change note for 535921f

9 years ago[rt #75869] make sure EU::MM can find libraries found via pkg-config
Tony Cook [Fri, 27 Apr 2012 11:56:10 +0000 (21:56 +1000)]
[rt #75869] make sure EU::MM can find libraries found via pkg-config

9 years agomore verbose probe output
Tony Cook [Fri, 27 Apr 2012 10:18:35 +0000 (20:18 +1000)]
more verbose probe output

9 years agoPNG re-work: handle libpng 1.5 correctly
Tony Cook [Tue, 14 Jun 2011 13:32:59 +0000 (23:32 +1000)]
PNG re-work: handle libpng 1.5 correctly

9 years ago[rt #76782] improve documentation and error reporting for missing I/O callbacks
Tony Cook [Wed, 25 Apr 2012 02:18:10 +0000 (12:18 +1000)]
[rt #76782] improve documentation and error reporting for missing I/O callbacks

9 years agochange notes for the BMP updates
Tony Cook [Tue, 24 Apr 2012 09:50:29 +0000 (19:50 +1000)]
change notes for the BMP updates

9 years agoodd run lengths for BI_RLE4 compressed BMP files were handled incorrectly
Tony Cook [Tue, 24 Apr 2012 09:23:21 +0000 (19:23 +1000)]
odd run lengths for BI_RLE4 compressed BMP files were handled incorrectly

9 years agohandle odd-width BI_RLE4 width overflow
Tony Cook [Tue, 24 Apr 2012 07:12:46 +0000 (17:12 +1000)]
handle odd-width BI_RLE4 width overflow

Some BMP BI_RLE4 writers compress scanlines as if they were an extra
pixel in width, eg. GIMP.

Imager would fail to read these images, I now allow one pixel of
overflow.

9 years agoreport basic information to the log for one scanline overflow
Tony Cook [Mon, 23 Apr 2012 12:18:36 +0000 (22:18 +1000)]
report basic information to the log for one scanline overflow

9 years agounshipped regression tests for BMP files
Tony Cook [Mon, 23 Apr 2012 12:17:17 +0000 (22:17 +1000)]
unshipped regression tests for BMP files

9 years agostart of a BMP file structure dumper
Tony Cook [Mon, 23 Apr 2012 12:16:01 +0000 (22:16 +1000)]
start of a BMP file structure dumper

9 years ago[rt #76736] fix BI_BITFIELDS handling
Tony Cook [Mon, 23 Apr 2012 12:05:32 +0000 (22:05 +1000)]
[rt #76736] fix BI_BITFIELDS handling

I didn't have any test images when I wrote the BI_BITFIELDS code,
unfortunately it was completely broken.

Updated and tested (with some unshipped images for now.)

9 years agodocument the i_comment common tag
Tony Cook [Mon, 9 Apr 2012 11:02:58 +0000 (21:02 +1000)]
document the i_comment common tag

9 years agore-work sample down-conversion to rounding
Tony Cook [Sat, 14 Apr 2012 04:06:07 +0000 (14:06 +1000)]
re-work sample down-conversion to rounding

9 years agochange note for 360e674ef3d
Tony Cook [Sat, 14 Apr 2012 03:07:08 +0000 (13:07 +1000)]
change note for 360e674ef3d

9 years agofix the prototype for Imager::Test::is_imaged
Tony Cook [Sat, 14 Apr 2012 02:51:47 +0000 (12:51 +1000)]
fix the prototype for Imager::Test::is_imaged

9 years agofix the brokeness introduced in 5ee60746
Tony Cook [Tue, 20 Mar 2012 09:56:13 +0000 (20:56 +1100)]
fix the brokeness introduced in 5ee60746

as modified it only compared the first byte, change it to expand into
an array ref and use is_deeply() is compare.

9 years ago0.89 release v0.89
Tony Cook [Sun, 18 Mar 2012 01:31:12 +0000 (12:31 +1100)]
0.89 release

9 years ago[rt #70388] debug mymalloc() no longer builds a string, just stores the pointer
Tony Cook [Sat, 10 Mar 2012 03:13:26 +0000 (14:13 +1100)]
[rt #70388] debug mymalloc() no longer builds a string, just stores the pointer

The debug malloc() code would use snprintf() (or even worse,
sprintf()) to build a string to track when the memory allocation was
performed for later tracking.

Now we just store the pointers, which should come from __FILE__ and
hence be static.

9 years ago[rt #75560] don't fallback to using DynaLoader when XSLoader fails
Tony Cook [Fri, 9 Mar 2012 08:15:32 +0000 (19:15 +1100)]
[rt #75560] don't fallback to using DynaLoader when XSLoader fails

This was masking errors when the loadable object failed to load for
some reason other than XSLoader being unavailable.

The alternative was to only eval the load of XSLoader and keep the
fallback, but XSLoader has been core perl for a while.

9 years ago[rt #71495] method index links now point at the method documentation
Tony Cook [Mon, 5 Mar 2012 10:34:15 +0000 (21:34 +1100)]
[rt #71495] method index links now point at the method documentation

9 years ago[rt #75258] fix the utterly broken i_gpixf() for paletted images
Tony Cook [Mon, 5 Mar 2012 09:54:37 +0000 (20:54 +1100)]
[rt #75258] fix the utterly broken i_gpixf() for paletted images

This is implemented as a wrapper around the underlying i_gpix()
implementation and was handling the return value from i_gpix()
incorrectly.

Add tests and fix it.

9 years agocompare unpacked data to avoid unintelligble cpan testers output
Tony Cook [Sat, 25 Feb 2012 03:40:47 +0000 (14:40 +1100)]
compare unpacked data to avoid unintelligble cpan testers output

9 years agoImager 0.88 release v0.88
Tony Cook [Wed, 22 Feb 2012 05:08:28 +0000 (16:08 +1100)]
Imager 0.88 release

9 years ago[rt #73697] re-work getpixel() and setpixel()
Tony Cook [Sat, 18 Feb 2012 08:53:13 +0000 (19:53 +1100)]
[rt #73697] re-work getpixel() and setpixel()

9 years agosplit Imager's typemap into internal, public and old perl bugfixes
Tony Cook [Fri, 17 Feb 2012 12:27:31 +0000 (23:27 +1100)]
split Imager's typemap into internal, public and old perl bugfixes

Split as follows:

typemap.local - handle types specific to Imager.xs
typemap - types that Imager's API publishes
typemap.oldperl - fix broken typemap entries in old perl

typemap.oldperl only fixes issues I've run into with perl.

9 years agoMerge branch 'psamp'
Tony Cook [Thu, 16 Feb 2012 13:00:28 +0000 (00:00 +1100)]
Merge branch 'psamp'

9 years agoChanges note for the psamp/setsamples work
Tony Cook [Thu, 16 Feb 2012 12:58:07 +0000 (23:58 +1100)]
Changes note for the psamp/setsamples work

9 years agodocument setsamples() new capabilities
Tony Cook [Thu, 16 Feb 2012 07:41:26 +0000 (18:41 +1100)]
document setsamples() new capabilities

9 years agoadd offset and width parameters to setsamples() for new psamp/psampf
Tony Cook [Tue, 14 Feb 2012 11:52:56 +0000 (22:52 +1100)]
add offset and width parameters to setsamples() for new psamp/psampf

9 years agowe don't use D::C's pod coverage, don't collect it
Tony Cook [Tue, 14 Feb 2012 09:31:43 +0000 (20:31 +1100)]
we don't use D::C's pod coverage, don't collect it

9 years agoOO API
Tony Cook [Mon, 13 Feb 2012 09:57:59 +0000 (20:57 +1100)]
OO API

9 years agodon't supply a default for a missing channel list
Tony Cook [Sun, 12 Feb 2012 00:59:59 +0000 (11:59 +1100)]
don't supply a default for a missing channel list

The underlying XS will supply a NULL chan_list which uses a faster
code path i_gsamp/i_psamp().

9 years agoi_psamp()/i_psampf() coverage tests for paletted images
Tony Cook [Sat, 11 Feb 2012 13:33:33 +0000 (00:33 +1100)]
i_psamp()/i_psampf() coverage tests for paletted images

9 years agoi_psamp()/i_psampf() coverage tests for masked images
Tony Cook [Sat, 11 Feb 2012 01:52:45 +0000 (12:52 +1100)]
i_psamp()/i_psampf() coverage tests for masked images

9 years agoi_psamp()/i_psampf() bad channel count tests
Tony Cook [Fri, 10 Feb 2012 09:30:47 +0000 (20:30 +1100)]
i_psamp()/i_psampf() bad channel count tests