[prev in list] [next in list] [prev in thread] [next in thread]
List: graphicsmagick-commit
Subject: [GM-commit] GraphicsMagick: Merge heads and update generated files.
From: GraphicsMagick Commits <graphicsmagick-commit () lists ! sourceforge ! net>
Date: 2022-10-20 13:37:37
Message-ID: mailman.6592.1666273070.1350.graphicsmagick-commit () lists ! sourceforge ! net
[Download RAW message or body]
changeset 9d9244d0390c in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=9d9244d0390c
summary: Merge heads and update generated files.
diffstat:
ChangeLog | 6 +
VisualMagick/installer/inc/version.isx | 4 +-
coders/tga.c | 126 ++++++++++----------------------
magick/version.h | 4 +-
www/Changelog.html | 7 +
5 files changed, 58 insertions(+), 89 deletions(-)
diffs (267 lines):
diff -r 5b9c67fe14f5 -r 9d9244d0390c ChangeLog
--- a/ChangeLog Wed Oct 19 10:59:58 2022 -0500
+++ b/ChangeLog Thu Oct 20 08:37:32 2022 -0500
@@ -1,3 +1,9 @@
+2022-10-20 Fojtik Jaroslav <JaFojtik@yandex.com>
+
+ * coders/tga.c Remove "optimisation" that has negligible or negative
+ effect to overall performance.
+
+
2022-10-19 Fojtik Jaroslav <JaFojtik@yandex.com>
* coders/tga.c Cleanup GCC compile warnings.
diff -r 5b9c67fe14f5 -r 9d9244d0390c VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx Wed Oct 19 10:59:58 2022 -0500
+++ b/VisualMagick/installer/inc/version.isx Thu Oct 20 08:37:32 2022 -0500
@@ -10,5 +10,5 @@
#define public MagickPackageName "GraphicsMagick"
#define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020221019"
-#define public MagickPackageReleaseDate "snapshot-20221019"
+#define public MagickPackageVersionAddendum ".020221020"
+#define public MagickPackageReleaseDate "snapshot-20221020"
diff -r 5b9c67fe14f5 -r 9d9244d0390c coders/tga.c
--- a/coders/tga.c Wed Oct 19 10:59:58 2022 -0500
+++ b/coders/tga.c Thu Oct 20 08:37:32 2022 -0500
@@ -254,55 +254,25 @@
}
-static unsigned int ReadBlobLSBShortFromBuffer(unsigned char* buffer, size_t* \
readerpos) +static int LoadHeaderTGA(TGAInfo *tga_info, Image *image)
{
- unsigned int
- value;
+ tga_info->id_length = ReadBlobByte(image);
+ tga_info->colormap_type = ReadBlobByte(image);
+ tga_info->image_type = ReadBlobByte(image);
- value=buffer[(*readerpos)+1] << 8;
- value|=buffer[*readerpos];
- *readerpos = *readerpos+2;
- return(value);
-}
-
-
-static unsigned int ReadBlobByteFromBuffer(unsigned char* buffer, size_t* readerpos)
-{
- unsigned int
- value;
-
- value=(unsigned int)(buffer[*readerpos]);
- *readerpos = *readerpos + 1;
- return(value);
+ tga_info->colormap_index = ReadBlobLSBShort(image);
+ tga_info->colormap_length = ReadBlobLSBShort(image) & 0xFFFF;
+ tga_info->colormap_size = ReadBlobByte(image);
+ tga_info->x_origin = ReadBlobLSBShort(image);
+ tga_info->y_origin = ReadBlobLSBShort(image);
+ tga_info->width = ReadBlobLSBShort(image) & 0xFFFF;
+ tga_info->height = ReadBlobLSBShort(image) & 0xFFFF;
+ tga_info->bits_per_pixel = ReadBlobByte(image);
+ tga_info->attributes = ReadBlobByte(image);
+return 0;
}
-static int LoadHeaderTGA(TGAInfo *tga_info, Image *image, unsigned char *readbuffer)
-{
-static const size_t headersize = 15;
-size_t readbufferpos = 0;
- if(ReadBlob(image,3,readbuffer) != 3) return -1;
-
- tga_info->id_length = (unsigned char)ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos);
- tga_info->colormap_type = (unsigned char)ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos);
- tga_info->image_type = (unsigned char)ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos);
-
- readbufferpos = 0;
- if(ReadBlob(image,headersize,readbuffer) != headersize) return -2;
-
- tga_info->colormap_index = ReadBlobLSBShortFromBuffer(readbuffer, &readbufferpos);
- tga_info->colormap_length = ReadBlobLSBShortFromBuffer(readbuffer, &readbufferpos) \
& 0xFFFF;
- tga_info->colormap_size = ReadBlobByteFromBuffer(readbuffer, &readbufferpos);
- tga_info->x_origin = ReadBlobLSBShortFromBuffer(readbuffer, &readbufferpos);
- tga_info->y_origin = ReadBlobLSBShortFromBuffer(readbuffer, &readbufferpos);
- tga_info->width = ReadBlobLSBShortFromBuffer(readbuffer, &readbufferpos) & 0xFFFF;
- tga_info->height = ReadBlobLSBShortFromBuffer(readbuffer, &readbufferpos) & 0xFFFF;
- tga_info->bits_per_pixel = ReadBlobByteFromBuffer(readbuffer, &readbufferpos);
- tga_info->attributes = ReadBlobByteFromBuffer(readbuffer, &readbufferpos);
- assert(readbufferpos == headersize);
-return 0;
-}
-
static int ValidateHeaderTGA(const TGAInfo *tga_info)
{
@@ -395,10 +365,8 @@
unsigned int
is_grayscale=MagickFalse;
- unsigned char readbuffer[15];
+ unsigned char readbuffer[4];
char CommentAndBuffer[256];
- size_t readbufferpos = 0;
-
/*
Open image file.
@@ -411,8 +379,9 @@
status = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);
if(status == MagickFalse)
ThrowReaderException(FileOpenError,UnableToOpenFile,image);
+
/*
- Read TGA header information.
+ Read TGA footer - if exists.
*/
memset(&tga_footer, 0, sizeof(tga_footer));
memset(&tga_devel, 0, sizeof(tga_devel));
@@ -508,7 +477,7 @@
/*
Read TGA header information.
*/
- if(LoadHeaderTGA(&tga_info, image, (unsigned char*)CommentAndBuffer) < 0)
+ if(LoadHeaderTGA(&tga_info, image) < 0)
ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image);
if(ValidateHeaderTGA(&tga_info) < 0)
@@ -665,17 +634,16 @@
break;
}
case 24:
- case 32:
+ case 32: /* TODO: J.Fojtik - is this true? 32 bits, but only 24 \
bits read. Possible bug! */ {
/*
8 bits each of blue, green and red.
*/
- if (ReadBlob(image, 3, readbuffer) != 3)
+ if(ReadBlob(image, 3, readbuffer) != 3)
\
ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image);
- readbufferpos = 0;
- pixel.blue=ScaleCharToQuantum(ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos));
- \
pixel.green=ScaleCharToQuantum(ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos));
- pixel.red=ScaleCharToQuantum(ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos)); + pixel.blue = \
ScaleCharToQuantum(readbuffer[0]); + pixel.green = \
ScaleCharToQuantum(readbuffer[1]); + pixel.red = \
ScaleCharToQuantum(readbuffer[2]); break;
}
}
@@ -778,25 +746,15 @@
/*
5 bits each of red green and blue.
*/
- unsigned int
- packet;
+ const magick_uint16_t packet = ReadBlobLSBShort(image);
- if (ReadBlob(image, 2, readbuffer) != 2)
- {
- status=MagickFail;
- break;
- }
- readbufferpos = 0;
- packet = ReadBlobByteFromBuffer(readbuffer, &readbufferpos);
- packet |= (((unsigned int) ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos)) << 8);
-
- pixel.red=(packet >> 10) & 0x1f;
- pixel.red=ScaleCharToQuantum(ScaleColor5to8(pixel.red));
- pixel.green=(packet >> 5) & 0x1f;
- pixel.green=ScaleCharToQuantum(ScaleColor5to8(pixel.green));
- pixel.blue=packet & 0x1f;
- pixel.blue=ScaleCharToQuantum(ScaleColor5to8(pixel.blue));
- if (image->matte)
+ pixel.red = (packet >> 10) & 0x1f;
+ pixel.red = ScaleCharToQuantum(ScaleColor5to8(pixel.red));
+ pixel.green = (packet >> 5) & 0x1f;
+ pixel.green = ScaleCharToQuantum(ScaleColor5to8(pixel.green));
+ pixel.blue = packet & 0x1f;
+ pixel.blue = ScaleCharToQuantum(ScaleColor5to8(pixel.blue));
+ if(image->matte)
{
if ((packet >> 15) & 0x01)
pixel.opacity=OpaqueOpacity;
@@ -815,31 +773,29 @@
/*
8 bits each of blue green and red.
*/
- if (ReadBlob(image, 3, readbuffer) != 3)
+ if(ReadBlob(image, 3, readbuffer) != 3)
{
status=MagickFail;
break;
}
- readbufferpos = 0;
- pixel.blue=ScaleCharToQuantum(ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos));
- \
pixel.green=ScaleCharToQuantum(ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos));
- pixel.red=ScaleCharToQuantum(ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos)); + pixel.blue = \
ScaleCharToQuantum(readbuffer[0]); + pixel.green = \
ScaleCharToQuantum(readbuffer[1]); + pixel.red = \
ScaleCharToQuantum(readbuffer[2]); break;
case 32:
{
/*
8 bits each of blue green and red.
*/
- if (ReadBlob(image, 4, readbuffer) != 4)
+ if(ReadBlob(image, 4, readbuffer) != 4)
{
status=MagickFail;
break;
}
- readbufferpos = 0;
- \
pixel.blue=ScaleCharToQuantum(ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos));
- \
pixel.green=ScaleCharToQuantum(ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos));
- \
pixel.red=ScaleCharToQuantum(ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos));
- \
pixel.opacity=ScaleCharToQuantum(255-ReadBlobByteFromBuffer(readbuffer, \
&readbufferpos)); + pixel.blue = \
ScaleCharToQuantum(readbuffer[0]); + pixel.green = \
ScaleCharToQuantum(readbuffer[1]); + pixel.red = \
ScaleCharToQuantum(readbuffer[2]); + pixel.opacity = \
ScaleCharToQuantum(255-readbuffer[3]); break;
}
}
@@ -898,7 +854,7 @@
if (image->scene >= (image_info->subimage+image_info->subrange-1))
break;
- if(LoadHeaderTGA(&tga_info, image, (unsigned char*)CommentAndBuffer) < 0)
+ if(LoadHeaderTGA(&tga_info, image) < 0)
status = MagickFalse;
else
{
diff -r 5b9c67fe14f5 -r 9d9244d0390c magick/version.h
--- a/magick/version.h Wed Oct 19 10:59:58 2022 -0500
+++ b/magick/version.h Thu Oct 20 08:37:32 2022 -0500
@@ -38,8 +38,8 @@
#define MagickLibVersion 0x272400
#define MagickLibVersionText "1.4"
#define MagickLibVersionNumber 27,24,0
-#define MagickChangeDate "20221019"
-#define MagickReleaseDate "snapshot-20221019"
+#define MagickChangeDate "20221020"
+#define MagickReleaseDate "snapshot-20221020"
/*
The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r 5b9c67fe14f5 -r 9d9244d0390c www/Changelog.html
--- a/www/Changelog.html Wed Oct 19 10:59:58 2022 -0500
+++ b/www/Changelog.html Thu Oct 20 08:37:32 2022 -0500
@@ -37,6 +37,13 @@
</div>
<div class="document">
+<p>2022-10-20 Fojtik Jaroslav <<a class="reference external" \
href="mailto:JaFojtik%40yandex.com">JaFojtik<span>@</span>yandex<span>.</span>com</a>></p>
+<blockquote>
+<ul class="simple">
+<li><p>coders/tga.c Remove "optimisation" that has negligible or negative
+effect to overall performance.</p></li>
+</ul>
+</blockquote>
<p>2022-10-19 Fojtik Jaroslav <<a class="reference external" \
href="mailto:JaFojtik%40yandex.com">JaFojtik<span>@</span>yandex<span>.</span>com</a>></p>
<blockquote>
<ul class="simple">
_______________________________________________
Graphicsmagick-commit mailing list
Graphicsmagick-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/graphicsmagick-commit
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic