Skip to content

Commit 06e66f7

Browse files
authored
Merge pull request #7296 from radarhere/access
2 parents ea0abb9 + 577a4d8 commit 06e66f7

File tree

1 file changed

+7
-27
lines changed

1 file changed

+7
-27
lines changed

src/libImaging/Access.c

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -46,22 +46,11 @@ add_item(const char *mode) {
4646
/* fetch individual pixel */
4747

4848
static void
49-
get_pixel(Imaging im, int x, int y, void *color) {
49+
get_pixel_32_2bands(Imaging im, int x, int y, void *color) {
5050
char *out = color;
51-
52-
/* generic pixel access*/
53-
54-
if (im->image8) {
55-
out[0] = im->image8[y][x];
56-
} else {
57-
UINT8 *p = (UINT8 *)&im->image32[y][x];
58-
if (im->type == IMAGING_TYPE_UINT8 && im->bands == 2) {
59-
out[0] = p[0];
60-
out[1] = p[3];
61-
return;
62-
}
63-
memcpy(out, p, im->pixelsize);
64-
}
51+
UINT8 *p = (UINT8 *)&im->image32[y][x];
52+
out[0] = p[0];
53+
out[1] = p[3];
6554
}
6655

6756
static void
@@ -127,15 +116,6 @@ get_pixel_32B(Imaging im, int x, int y, void *color) {
127116

128117
/* store individual pixel */
129118

130-
static void
131-
put_pixel(Imaging im, int x, int y, const void *color) {
132-
if (im->image8) {
133-
im->image8[y][x] = *((UINT8 *)color);
134-
} else {
135-
memcpy(&im->image32[y][x], color, sizeof(INT32));
136-
}
137-
}
138-
139119
static void
140120
put_pixel_8(Imaging im, int x, int y, const void *color) {
141121
im->image8[y][x] = *((UINT8 *)color);
@@ -186,8 +166,8 @@ ImagingAccessInit() {
186166
/* populate access table */
187167
ADD("1", get_pixel_8, put_pixel_8);
188168
ADD("L", get_pixel_8, put_pixel_8);
189-
ADD("LA", get_pixel, put_pixel);
190-
ADD("La", get_pixel, put_pixel);
169+
ADD("LA", get_pixel_32_2bands, put_pixel_32);
170+
ADD("La", get_pixel_32_2bands, put_pixel_32);
191171
ADD("I", get_pixel_32, put_pixel_32);
192172
ADD("I;16", get_pixel_16L, put_pixel_16L);
193173
ADD("I;16L", get_pixel_16L, put_pixel_16L);
@@ -197,7 +177,7 @@ ImagingAccessInit() {
197177
ADD("I;32B", get_pixel_32B, put_pixel_32B);
198178
ADD("F", get_pixel_32, put_pixel_32);
199179
ADD("P", get_pixel_8, put_pixel_8);
200-
ADD("PA", get_pixel, put_pixel);
180+
ADD("PA", get_pixel_32_2bands, put_pixel_32);
201181
ADD("RGB", get_pixel_32, put_pixel_32);
202182
ADD("RGBA", get_pixel_32, put_pixel_32);
203183
ADD("RGBa", get_pixel_32, put_pixel_32);

0 commit comments

Comments
 (0)