imager.git
10 years agoupdate flip.im with IMAGER_NO_CONTEXT
Tony Cook [Mon, 6 Aug 2012 01:36:33 +0000 (11:36 +1000)]
update flip.im with IMAGER_NO_CONTEXT

10 years agoupdate guassian.im with IMAGER_NO_CONTEXT
Tony Cook [Mon, 6 Aug 2012 01:23:51 +0000 (11:23 +1000)]
update guassian.im with IMAGER_NO_CONTEXT

10 years agoupdate filters.im with IMAGER_NO_CONTEXT
Tony Cook [Mon, 6 Aug 2012 01:23:35 +0000 (11:23 +1000)]
update filters.im with IMAGER_NO_CONTEXT

10 years agoupdate fills.c to IMAGER_NO_CONTEXT
Tony Cook [Mon, 6 Aug 2012 01:22:45 +0000 (11:22 +1000)]
update fills.c to IMAGER_NO_CONTEXT

10 years agoupdate draw.c to IMAGER_NO_CONTEXT
Tony Cook [Mon, 6 Aug 2012 01:21:49 +0000 (11:21 +1000)]
update draw.c to IMAGER_NO_CONTEXT

10 years agoupdate convert.im to IMAGER_NO_CONTEXT
Tony Cook [Mon, 6 Aug 2012 01:17:24 +0000 (11:17 +1000)]
update convert.im to IMAGER_NO_CONTEXT

10 years agoupdate conv.im to IMAGER_NO_CONTEXT
Tony Cook [Mon, 6 Aug 2012 01:16:57 +0000 (11:16 +1000)]
update conv.im to IMAGER_NO_CONTEXT

10 years agoimplement reference counting for context objects
Tony Cook [Thu, 12 Jul 2012 13:00:22 +0000 (23:00 +1000)]
implement reference counting for context objects

This works, even with threading.

10 years agomasked images weren't using the image allocation API
Tony Cook [Thu, 12 Jul 2012 12:59:24 +0000 (22:59 +1000)]
masked images weren't using the image allocation API

Since the reference counting for context objects requires that image
implementations use the API, this broke.

10 years agoWIP, OMG it works
Tony Cook [Sun, 10 Jun 2012 14:03:53 +0000 (00:03 +1000)]
WIP, OMG it works

10 years agoWIP, it compiles
Tony Cook [Mon, 6 Aug 2012 13:39:12 +0000 (23:39 +1000)]
WIP, it compiles

10 years agoWIP, more context changes
Tony Cook [Thu, 24 May 2012 07:23:21 +0000 (17:23 +1000)]
WIP, more context changes

10 years agoWIP context objects
Tony Cook [Fri, 11 May 2012 10:41:05 +0000 (20:41 +1000)]
WIP context objects

10 years ago0.92 release v0.92
Tony Cook [Tue, 14 Aug 2012 09:42:48 +0000 (19:42 +1000)]
0.92 release

10 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

10 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

10 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

10 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

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

10 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

10 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()

10 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

10 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

10 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

10 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

10 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.

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

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

10 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

10 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.

10 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.

10 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

10 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.

10 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

10 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

10 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

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

10 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

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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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()

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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.

10 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

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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

10 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

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

10 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

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

10 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

10 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

10 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

10 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

10 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.

10 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

10 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

10 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

10 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.)

10 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

10 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

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

10 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

11 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.

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

11 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.

11 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.

11 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

11 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.