Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
radarhere committed Oct 7, 2023
1 parent 41f0635 commit 1bb68fc
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/_imaging.c
Original file line number Diff line number Diff line change
Expand Up @@ -3760,9 +3760,10 @@ _compare_pixels(
// Fortunately, all of the modes that have extra bytes in their pixels use four bytes for their pixels.
UINT32 mask = 0xffffffff;
if (
!strcmp(mode, "RGB") || !strcmp(mode, "YCbCr") ||
!strcmp(mode, "RGB") || !strcmp(mode, "BGR;24") || !strcmp(mode, "YCbCr") ||
!strcmp(mode, "HSV") || !strcmp(mode, "LAB")
) {
printf("threeinfour\n");
// These modes have three channels in four bytes,
// so we have to ignore the last byte.
#ifdef WORDS_BIGENDIAN
Expand All @@ -3774,13 +3775,17 @@ _compare_pixels(
// These modes have two channels in four bytes,
// so we have to ignore the middle two bytes.
mask = 0xff0000ff;
printf("twoinfour\n");
} else {
printf("else\n");
}

if (mask == 0xffffffff) {
// If we aren't masking anything we can use memcmp.
int y;
for (y = 0; y < ysize; y++) {
if (memcmp(pixels_a[y], pixels_b[y], linesize)) {
printf("full fail\n");
return 1;
}
}
Expand All @@ -3792,11 +3797,13 @@ _compare_pixels(
UINT32 *line_b = (UINT32*)pixels_b[y];
for (x = 0; x < xsize; x++, line_a++, line_b++) {
if ((*line_a & mask) != (*line_b & mask)) {
printf("mask fail\n");
return 1;
}
}
}
}
printf("success\n");
return 0;
}

Expand Down

0 comments on commit 1bb68fc

Please sign in to comment.