Andreas Koenig [Sun, 18 Oct 2020 16:11:55 +0000 (18:11 +0200)]
add new comparison method rgb_difference that resembles arithmetical difference per channel
- the difference of two identical images is a black image
- any pixel in the resulting image that is not black indicates where there is a difference
- transparency is ignored
Tony Cook [Mon, 1 Mar 2021 00:32:30 +0000 (11:32 +1100)]
correct an old bug link
Andreas Koenig [Sun, 18 Oct 2020 11:11:39 +0000 (13:11 +0200)]
replace the term luminosity with luminance
- they mean different things: https://en.wikipedia.org/wiki/Luminosity vs https://en.wikipedia.org/wiki/Luminance
Tony Cook [Sun, 14 Jun 2020 03:21:33 +0000 (13:21 +1000)]
1.012 release
Tony Cook [Sun, 14 Jun 2020 03:12:43 +0000 (13:12 +1000)]
test we don't use vars and that we have use 5.006.
Tony Cook [Sat, 13 Jun 2020 06:27:17 +0000 (16:27 +1000)]
more changes
Tony Cook [Sat, 13 Jun 2020 06:25:47 +0000 (16:25 +1000)]
eliminate use vars
Tony Cook [Sat, 13 Jun 2020 04:46:00 +0000 (14:46 +1000)]
update Changes
Tony Cook [Sat, 13 Jun 2020 04:45:45 +0000 (14:45 +1000)]
libt1 support is deprecated
Tony Cook [Sat, 13 Jun 2020 04:42:10 +0000 (14:42 +1000)]
Imager is moving to github
Tony Cook [Thu, 21 May 2020 08:31:57 +0000 (18:31 +1000)]
deprecate Imager::Font::T1
Tony Cook [Sun, 17 May 2020 01:44:33 +0000 (11:44 +1000)]
update MANIFEST
though I'm not sure I want this shipped with the dist
Tony Cook [Fri, 27 Mar 2020 08:48:24 +0000 (19:48 +1100)]
bump $Imager::Font::FT2::VERSION
Tony Cook [Fri, 27 Mar 2020 08:39:57 +0000 (19:39 +1100)]
freetype-config might not be available, allow pkg-config to work
Tony Cook [Fri, 27 Mar 2020 08:47:03 +0000 (19:47 +1100)]
bump $Imager::Probe::VERSION
Tony Cook [Fri, 27 Mar 2020 08:39:25 +0000 (19:39 +1100)]
cygwin can use an empty extension for exes too
Tony Cook [Fri, 27 Mar 2020 05:13:19 +0000 (16:13 +1100)]
add github action for CI on cygwin
Tony Cook [Sun, 22 Mar 2020 00:57:42 +0000 (11:57 +1100)]
add github action for CI on OS X
Tony Cook [Sat, 21 Mar 2020 09:06:27 +0000 (20:06 +1100)]
add github action for CI on mingw64
Tony Cook [Sat, 21 Mar 2020 08:25:20 +0000 (19:25 +1100)]
add github action for CI on linux
Tony Cook [Sun, 17 May 2020 01:09:16 +0000 (11:09 +1000)]
update desired debian packages
Tony Cook [Fri, 27 Mar 2020 06:32:30 +0000 (17:32 +1100)]
ensure alpha channels are initialized for mediancut make_colors
This could result in a 4 channel paletted image with some random
alpha channel.
CPAN #132237
Tony Cook [Fri, 27 Mar 2020 06:30:00 +0000 (17:30 +1100)]
add red, green, blue, alpha methods to color objects
Tony Cook [Sat, 21 Mar 2020 01:04:57 +0000 (12:04 +1100)]
C<> filter keywords to avoid trying to spellcheck them
Pod::Spell (or something in the pipeline) appeared to be passing the
"guassian2" through with the "2" stripped despite the stopword.
Tony Cook [Sat, 21 Mar 2020 00:47:31 +0000 (11:47 +1100)]
Leolo's guassian2 patch
https://rt.cpan.org/Ticket/Display.html?id=129769
Tony Cook [Thu, 7 Mar 2019 03:17:45 +0000 (14:17 +1100)]
1.011 release
Tony Cook [Thu, 7 Mar 2019 03:12:28 +0000 (14:12 +1100)]
more Changes updates
Tony Cook [Mon, 25 Feb 2019 23:18:51 +0000 (10:18 +1100)]
don't leak in DSO_open() on various failures
DSO_close() now releases memory allocated for the DSO handle.
CID 185309.
Tony Cook [Mon, 25 Feb 2019 22:39:57 +0000 (09:39 +1100)]
i_img_make_palette() no longer leaks on quantization failure
CID 185566
Tony Cook [Sat, 23 Feb 2019 03:45:41 +0000 (14:45 +1100)]
translate_errdiff() could leak memory on failure
Introduced when I added error handling
CID 185565
Tony Cook [Thu, 14 Feb 2019 22:24:52 +0000 (09:24 +1100)]
start a jpeg dump tool
Tony Cook [Thu, 14 Feb 2019 22:24:33 +0000 (09:24 +1100)]
add missing 070-mymeta.t to MANIFEST
Tony Cook [Thu, 14 Feb 2019 22:24:18 +0000 (09:24 +1100)]
ignore more rubbish in MANIFEST.SKIP
Tony Cook [Thu, 14 Feb 2019 22:13:46 +0000 (09:13 +1100)]
pngdump: move options to the right place in the synopsis
Tony Cook [Thu, 14 Feb 2019 22:13:25 +0000 (09:13 +1100)]
binmode the right handle
Tony Cook [Thu, 14 Feb 2019 08:03:13 +0000 (19:03 +1100)]
Changes updates
Tony Cook [Thu, 14 Feb 2019 08:01:47 +0000 (19:01 +1100)]
correct the type of the im_decode_exif() data parameter
const foo * and foo* have the same representation so this doesn't
break the ABI.
const unsigned char * will accept all parameter types it did previously.
The only issue is if someone makes a copy of the pointer, but I don't
support that.
Tony Cook [Wed, 13 Feb 2019 08:19:34 +0000 (19:19 +1100)]
and the release date
Tony Cook [Wed, 13 Feb 2019 08:17:33 +0000 (19:17 +1100)]
add the FT2 encoding symbol change to the main Changes file
Tony Cook [Wed, 13 Feb 2019 08:12:27 +0000 (19:12 +1100)]
bump to Imager 1.010
Tony Cook [Wed, 13 Feb 2019 08:10:43 +0000 (19:10 +1100)]
fix method index entry for add_file_magic()
Tony Cook [Wed, 13 Feb 2019 08:04:17 +0000 (19:04 +1100)]
note GIF changes
Tony Cook [Wed, 13 Feb 2019 07:16:31 +0000 (18:16 +1100)]
update Changes
Tony Cook [Wed, 13 Feb 2019 07:04:31 +0000 (18:04 +1100)]
try to fix test failing on chorny's 5.18.2 smoker
or at least diagnose it
Tony Cook [Tue, 12 Feb 2019 08:45:35 +0000 (19:45 +1100)]
RT#128481: fix handling of GIF files with no images
Tony Cook [Tue, 12 Feb 2019 07:29:54 +0000 (18:29 +1100)]
fix an embarassing typo
Tony Cook [Thu, 7 Feb 2019 11:27:15 +0000 (22:27 +1100)]
add the add_file_magic() class method
For now it's simple, I might extend it at some point to allow
for perl code or regexps for matching
Tony Cook [Sun, 3 Feb 2019 08:44:15 +0000 (19:44 +1100)]
remove a pointless NULL check from i_img_destroy()
i_img_destroy() access the pointer twice before the check.
Tony Cook [Sun, 3 Feb 2019 08:40:43 +0000 (19:40 +1100)]
remove a pointless NULL check from i_flipxy()
im is deferred earlier to get the context, and passing a NULL or invalid
image pointer in is a bug in the caller.
Tony Cook [Sat, 2 Feb 2019 01:32:07 +0000 (12:32 +1100)]
rearrange i_new_hatch_low() in fills.c
The code used to be a bunch of conditional expressions, which some
Sun C compiler complained about.
Rearrange the code to be a lot more obvious.
Related to CID 185339.
Tony Cook [Sat, 2 Feb 2019 01:28:02 +0000 (12:28 +1100)]
add assertions for callers to i_new_hatch_low() in fills.c
coverity complained that effectively both fg and ffg could be NULL
which isn't the case. Try to let it know better.
I'm going to rearrange i_new_hatch_low() in the next commit.
CID 185339.
Tony Cook [Sat, 2 Feb 2019 01:11:11 +0000 (12:11 +1100)]
ensure bmp.c read_packed() calls va_end()
CID 185329.
Tony Cook [Sat, 2 Feb 2019 00:50:09 +0000 (11:50 +1100)]
add lint comments where switch() case fallthough is expected in tga parsing
CID 185328.
Tony Cook [Sat, 2 Feb 2019 00:45:04 +0000 (11:45 +1100)]
avoid a possible sign-extension for offsets/sizes in SGI
and why is that using + instead of | ?
CID 185326.
Tony Cook [Sat, 2 Feb 2019 00:31:29 +0000 (11:31 +1100)]
lint comment for the end of pixel_coverage() not reachable
I had compilers complaining about a missing return at the end of
the function, as added a return. Coverity complains about the
return.
CID 185325.
Tony Cook [Sat, 2 Feb 2019 00:29:19 +0000 (11:29 +1100)]
add missing va_end() in bmp.c's write_packed()
In general it wasn't calling va_end() on a write failure.
CID 185320.
Tony Cook [Mon, 14 Jan 2019 00:43:29 +0000 (11:43 +1100)]
forgot to document 127575 fix
Tony Cook [Mon, 14 Jan 2019 00:29:53 +0000 (11:29 +1100)]
use non-deprecated encoding ids for freetype 2
Tony Cook [Mon, 14 Jan 2019 00:29:20 +0000 (11:29 +1100)]
bump gif version
Tony Cook [Sun, 13 Jan 2019 05:40:12 +0000 (16:40 +1100)]
fix date on 1.009 release in Changes
Tony Cook [Fri, 11 Jan 2019 09:14:26 +0000 (20:14 +1100)]
update FT2 Changes
Tony Cook [Fri, 11 Jan 2019 09:12:31 +0000 (20:12 +1100)]
update Changes
Tony Cook [Fri, 11 Jan 2019 09:07:28 +0000 (20:07 +1100)]
1.009 release
Tony Cook [Fri, 11 Jan 2019 08:46:14 +0000 (19:46 +1100)]
most numeric parameters to the XS implementation now throw an exception if supplied an unoverloaded reference.
Tony Cook [Thu, 10 Jan 2019 12:24:43 +0000 (23:24 +1100)]
i_circle_aa_low() could buffer overflow
prevent it. It still needs some work for other reasons.
Tony Cook [Wed, 9 Jan 2019 09:12:20 +0000 (20:12 +1100)]
explain why not all the Coverity issues are addressed
Tony Cook [Mon, 7 Jan 2019 12:18:56 +0000 (23:18 +1100)]
on't check if the unsigned size supplied to im_set_image_file_limits() is negative
Tony Cook [Mon, 7 Jan 2019 12:13:10 +0000 (23:13 +1100)]
extend some variable types to avoid overflows for mediancut
for very large images
Tony Cook [Mon, 7 Jan 2019 11:59:50 +0000 (22:59 +1100)]
don't check if the unsigned size passed to mymalloc is negative.
Tony Cook [Mon, 7 Jan 2019 11:54:04 +0000 (22:54 +1100)]
hopefully avoid coverity complaining about a float vs int comparison
Tony Cook [Mon, 7 Jan 2019 11:37:19 +0000 (22:37 +1100)]
prevent an unsigned overflow in FT1 has_chars() implementation
Tony Cook [Mon, 7 Jan 2019 11:31:33 +0000 (22:31 +1100)]
map() would corrupt a channel if there was a gap in the arrayref of channels.
Tony Cook [Mon, 7 Jan 2019 11:01:21 +0000 (22:01 +1100)]
(rt #127575) link to Imager::Install from Imager::Files
Tony Cook [Sun, 6 Jan 2019 04:16:01 +0000 (15:16 +1100)]
i_img_info() (C API) no longer tries to handle a NULL image object pointer.
Tony Cook [Sun, 6 Jan 2019 04:11:01 +0000 (15:11 +1100)]
fix an unsigned comparison when converting character code to a glyph index with a NULL character map
Tony Cook [Sun, 6 Jan 2019 04:03:55 +0000 (15:03 +1100)]
handle failure to clone the log filehandle when cloning the Imager context
Tony Cook [Sat, 5 Jan 2019 03:33:22 +0000 (14:33 +1100)]
avoid ignoring the result of i_io_getc()
Coverity complained about *(ig->read_ptr++) because the result of the *
operator was ignored, which was deliberate.
I could simply had added a void cast, but given i_io_peekc(),
I could see a macro that skips the * being simpler to read, adding
i_io_nextc(), which is exposed as the nextc() method on Imager::IO
objects.
Tony Cook [Sat, 5 Jan 2019 03:09:01 +0000 (14:09 +1100)]
invalid quantization options now result in an error rather than defaults
Tony Cook [Thu, 3 Jan 2019 22:38:50 +0000 (09:38 +1100)]
simplify XS for i_img_to_pal()
Tony Cook [Thu, 3 Jan 2019 11:10:17 +0000 (22:10 +1100)]
fixes to the fountain filter
Tony Cook [Wed, 2 Jan 2019 08:33:16 +0000 (19:33 +1100)]
avoid dead code in i_t1_glyph_names().
Tony Cook [Wed, 2 Jan 2019 08:28:09 +0000 (19:28 +1100)]
remove an unneeded check when terminating the stream for JPEG writing.
Tony Cook [Wed, 2 Jan 2019 08:27:43 +0000 (19:27 +1100)]
JPEG Changes updates for older releases
Tony Cook [Wed, 2 Jan 2019 08:19:56 +0000 (19:19 +1100)]
he unpack code for ICO/CUR file handling could extend 32-bit unsigned values to 64-bit signed.
Tony Cook [Wed, 2 Jan 2019 08:08:57 +0000 (19:08 +1100)]
avoid an unneeded EXTEND() call when the FT2 has_chars() implementation returns 0.
Tony Cook [Wed, 2 Jan 2019 08:04:33 +0000 (19:04 +1100)]
avoid dead code in i_ft2_glyph_name()
Tony Cook [Wed, 2 Jan 2019 07:56:32 +0000 (18:56 +1100)]
avoid dead code in i_get_anonymous_color_histo()
Tony Cook [Wed, 2 Jan 2019 07:50:48 +0000 (18:50 +1100)]
avoid dead code in i_tt_glyph_names()
CID 185321
Tony Cook [Wed, 2 Jan 2019 07:39:28 +0000 (18:39 +1100)]
gradgen allocated sizeof(i_color *) per entry rather than sizeof(i_color)
i_color is four bytes, so this is safe on any arch I've used.
Tony Cook [Wed, 2 Jan 2019 07:36:54 +0000 (18:36 +1100)]
change note for the has_chars and MakeMapObject changes
Tony Cook [Wed, 2 Jan 2019 07:30:44 +0000 (18:30 +1100)]
add CIDs to the changes Coverity fixes
Tony Cook [Wed, 2 Jan 2019 00:10:20 +0000 (11:10 +1100)]
log only after we've checked MakeMapObject() success
CID 185296
Tony Cook [Wed, 2 Jan 2019 00:09:04 +0000 (11:09 +1100)]
avoid an unneeded check in the FT1 has_chars() method implementation
Tony Cook [Tue, 1 Jan 2019 01:11:43 +0000 (12:11 +1100)]
fix a fence post error validating a combing mode number
Tony Cook [Tue, 1 Jan 2019 01:07:39 +0000 (12:07 +1100)]
change an array parameter decl to a pointer style decl
to avoid confusing coverity
Tony Cook [Tue, 1 Jan 2019 01:04:30 +0000 (12:04 +1100)]
Coverity complained colors could be left uninitialized.
Tony Cook [Tue, 1 Jan 2019 00:07:10 +0000 (11:07 +1100)]
coverity complained minset could be -1
but no callers call i_map() in such a way that it can happen.
Add a belt-and-suspenders check.
Tony Cook [Mon, 31 Dec 2018 11:34:06 +0000 (22:34 +1100)]
Imager::Color set_internal is now simpler
Coverity complained that ICL_set_internal() could leak here, but
that's only possible with a NULL pointer PTROBJ, which would break
in many other ways.
Tony Cook [Mon, 31 Dec 2018 11:22:01 +0000 (22:22 +1100)]
better validate numeric hatch values for fills
Tony Cook [Mon, 31 Dec 2018 11:11:54 +0000 (22:11 +1100)]
add braces to some multi-line if() and for()
Coverity complained about this code