imager.git
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

9 years agoi_psamp()/i_psampf() coverage tests for double/sample images
Tony Cook [Fri, 10 Feb 2012 09:30:14 +0000 (20:30 +1100)]
i_psamp()/i_psampf() coverage tests for double/sample images

9 years agoi_psamp()/i_psampf() tests for 16-bit/sample images
Tony Cook [Fri, 10 Feb 2012 08:49:17 +0000 (19:49 +1100)]
i_psamp()/i_psampf() tests for 16-bit/sample images

9 years agocoverage tests for 8-bits/sample psamp/psampf
Tony Cook [Fri, 3 Feb 2012 13:05:21 +0000 (00:05 +1100)]
coverage tests for 8-bits/sample psamp/psampf

9 years agoallow imcover.perl to specify a subset of tests to run
Tony Cook [Fri, 3 Feb 2012 13:05:02 +0000 (00:05 +1100)]
allow imcover.perl to specify a subset of tests to run

and:

- allow for more verbose output

- disable duplicate gcov runs

9 years agoinitial XS interfaces to i_psamp()/i_psampf()
Tony Cook [Mon, 30 Jan 2012 12:06:49 +0000 (23:06 +1100)]
initial XS interfaces to i_psamp()/i_psampf()

9 years agoadd psamp(), psampf() to C image API
Tony Cook [Mon, 30 Jan 2012 12:04:27 +0000 (23:04 +1100)]
add psamp(), psampf() to C image API

9 years agore-work XS handling of channel lists
Tony Cook [Mon, 30 Jan 2012 09:42:50 +0000 (20:42 +1100)]
re-work XS handling of channel lists

9 years agochange note for getsamples(target) fix
Tony Cook [Sun, 12 Feb 2012 00:40:30 +0000 (11:40 +1100)]
change note for getsamples(target) fix

9 years ago[rt #74882] fix getsamples(target => \@foo, ...)
Tony Cook [Sun, 12 Feb 2012 00:35:09 +0000 (11:35 +1100)]
[rt #74882] fix getsamples(target => \@foo, ...)

This was broken except for the i_gsamp_bits() case and was treating
the target parameter as a hashref instead of an array reference.

9 years ago[rt #69244] remove long unused gif case from read
Tony Cook [Thu, 26 Jan 2012 03:35:33 +0000 (14:35 +1100)]
[rt #69244] remove long unused gif case from read

9 years ago[rt #70014] re-work win32 text output to work in normal mode
Tony Cook [Mon, 23 Jan 2012 07:55:31 +0000 (18:55 +1100)]
[rt #70014] re-work win32 text output to work in normal mode

9 years agoignore more generated files
Tony Cook [Mon, 23 Jan 2012 07:29:16 +0000 (18:29 +1100)]
ignore more generated files

9 years agonote Debian inconsistency
Tony Cook [Fri, 20 Jan 2012 11:41:46 +0000 (22:41 +1100)]
note Debian inconsistency

9 years agoadd to the valid links list so the previous commit passes the link check
Tony Cook [Fri, 20 Jan 2012 11:41:17 +0000 (22:41 +1100)]
add to the valid links list so the previous commit passes the link check

9 years ago[rt #73906] add some other image processing modules to SEE ALSO
Tony Cook [Fri, 20 Jan 2012 11:29:35 +0000 (22:29 +1100)]
[rt #73906] add some other image processing modules to SEE ALSO

9 years ago[rt #69261] fix incorrect image size and color calculations for rotate()
Tony Cook [Fri, 20 Jan 2012 11:16:47 +0000 (22:16 +1100)]
[rt #69261] fix incorrect image size and color calculations for rotate()

and matrix_transform().

For rotate() the calculation used integer abs() instead of fabs() when
calculating the size of the new image.

This made the image a little too small, hiding a bug at the corners
where a very low coverage pixel would reveal another bug where bad
rounding of the output level could result in all samples being maxed
out (8-bit images only.)

9 years agorotate.c -> rotate.im transition
Tony Cook [Thu, 5 Jan 2012 23:39:39 +0000 (10:39 +1100)]
rotate.c -> rotate.im transition

convert to use the preprocessor to reduce code duplication

9 years agoreformat the release date of 0.87
Tony Cook [Sun, 8 Jan 2012 01:57:16 +0000 (12:57 +1100)]
reformat the release date of 0.87

9 years agolibungif support was removed in 0.77_01, note that
Tony Cook [Thu, 5 Jan 2012 23:53:17 +0000 (10:53 +1100)]
libungif support was removed in 0.77_01, note that

9 years agodescribe the OS X README update
Tony Cook [Thu, 5 Jan 2012 23:51:35 +0000 (10:51 +1100)]
describe the OS X README update

9 years ago[rt #73371] describe how to build libgif etc on OS X
Tony Cook [Thu, 5 Jan 2012 23:49:02 +0000 (10:49 +1100)]
[rt #73371] describe how to build libgif etc on OS X

9 years agoUpdate copyright year.
Tony Cook [Thu, 5 Jan 2012 23:48:15 +0000 (10:48 +1100)]
Update copyright year.

9 years ago0.87 release v0.87
Tony Cook [Tue, 3 Jan 2012 05:16:16 +0000 (16:16 +1100)]
0.87 release

9 years agonote the i_render_color() change
Tony Cook [Tue, 3 Jan 2012 05:06:34 +0000 (16:06 +1100)]
note the i_render_color() change

9 years ago[rt #71564] fix i_render_color() to work in normal mode
Tony Cook [Sat, 10 Dec 2011 03:05:21 +0000 (14:05 +1100)]
[rt #71564] fix i_render_color() to work in normal mode

Previously it ignored the color alpha channel when drawing on a 1 or 3
channel image.

9 years agodon't pass a ssize_t to a %d format string
Tony Cook [Tue, 3 Jan 2012 04:54:33 +0000 (15:54 +1100)]
don't pass a ssize_t to a %d format string

9 years ago[rt #72643] font drivers require Imager 0.86 for the alpha fix
Tony Cook [Fri, 25 Nov 2011 10:48:46 +0000 (21:48 +1100)]
[rt #72643] font drivers require Imager 0.86 for the alpha fix

9 years agoupdate "Converting from one file format to another" for i_background
Tony Cook [Mon, 21 Nov 2011 11:56:01 +0000 (22:56 +1100)]
update "Converting from one file format to another" for i_background

9 years ago[rt #67911] add gray, gray4, gray16 preset color palettes
Tony Cook [Mon, 21 Nov 2011 11:43:54 +0000 (22:43 +1100)]
[rt #67911] add gray, gray4, gray16 preset color palettes

9 years agodiag methods missing from the method index or are undocumented
Tony Cook [Mon, 21 Nov 2011 11:43:06 +0000 (22:43 +1100)]
diag methods missing from the method index or are undocumented

9 years ago[rt #72475] make the error messages from read() match reality
Tony Cook [Sat, 19 Nov 2011 02:58:40 +0000 (13:58 +1100)]
[rt #72475] make the error messages from read() match reality

and some other related changes

9 years agonote the purpose of a complex test
Tony Cook [Sat, 19 Nov 2011 02:53:54 +0000 (13:53 +1100)]
note the purpose of a complex test

since I couldn't see the purpose at just a glance

9 years agoadjust the ICO over-size write failure tests for the new limits
Tony Cook [Sat, 12 Nov 2011 11:39:53 +0000 (22:39 +1100)]
adjust the ICO over-size write failure tests for the new limits

9 years ago[rt #69599] correctly handle 256 x 256 ICO files
Tony Cook [Sat, 12 Nov 2011 05:43:18 +0000 (16:43 +1100)]
[rt #69599] correctly handle 256 x 256 ICO files

9 years agodon't include MYMETA.yml in MANIFEST
Tony Cook [Sat, 12 Nov 2011 05:38:08 +0000 (16:38 +1100)]
don't include MYMETA.yml in MANIFEST

9 years ago[rt #68815] document i_psamp_bits() and i_gsamp_bits()
Tony Cook [Sat, 12 Nov 2011 03:42:32 +0000 (14:42 +1100)]
[rt #68815] document i_psamp_bits() and i_gsamp_bits()

9 years ago[rt #72369] Document the return value of the filter() method
Tony Cook [Sat, 12 Nov 2011 02:37:04 +0000 (13:37 +1100)]
[rt #72369] Document the return value of the filter() method

9 years agoinclude the unknown words on STDERR for spelling failures
Tony Cook [Sat, 12 Nov 2011 02:30:02 +0000 (13:30 +1100)]
include the unknown words on STDERR for spelling failures

This avoids a step in tracking down such failures.

9 years agonote the addition of the tests
Tony Cook [Wed, 2 Nov 2011 11:59:59 +0000 (22:59 +1100)]
note the addition of the tests

9 years agoactually include the Imager::Test tests in the dist
Tony Cook [Wed, 2 Nov 2011 11:57:31 +0000 (22:57 +1100)]
actually include the Imager::Test tests in the dist

9 years agoproperly increment $VERSION for Imager::Matrix2d
Tony Cook [Mon, 31 Oct 2011 11:04:03 +0000 (22:04 +1100)]
properly increment $VERSION for Imager::Matrix2d

9 years ago0.86 release v0.86
Tony Cook [Mon, 31 Oct 2011 10:18:46 +0000 (21:18 +1100)]
0.86 release

9 years agoimprove failure reporting for W32 tests
Tony Cook [Thu, 27 Oct 2011 09:15:00 +0000 (20:15 +1100)]
improve failure reporting for W32 tests