diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 9ffb885ceea..cb299792e0d 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -208,6 +208,10 @@ (MM, 1, (2,), 1, (32,), ()): ("I", "I;32BS"), (II, 1, (3,), 1, (32,), ()): ("F", "F;32F"), (MM, 1, (3,), 1, (32,), ()): ("F", "F;32BF"), + (II, 1, (1,), 1, (8, 8), (0,)): ("L", "LX"), + (MM, 1, (1,), 1, (8, 8), (0,)): ("L", "LX"), + (II, 1, (1,), 1, (8, 8), (1,)): ("La", "La"), + (MM, 1, (1,), 1, (8, 8), (1,)): ("La", "La"), (II, 1, (1,), 1, (8, 8), (2,)): ("LA", "LA"), (MM, 1, (1,), 1, (8, 8), (2,)): ("LA", "LA"), (II, 2, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), diff --git a/src/libImaging/Mode.c b/src/libImaging/Mode.c index f3ef7a2c18e..0ef444c9eb4 100644 --- a/src/libImaging/Mode.c +++ b/src/libImaging/Mode.c @@ -144,6 +144,7 @@ const RawModeData RAWMODES[] = { [IMAGING_RAWMODE_K_I] = {"K;I"}, [IMAGING_RAWMODE_LA_16B] = {"LA;16B"}, [IMAGING_RAWMODE_LA_L] = {"LA;L"}, + [IMAGING_RAWMODE_LX] = {"LX"}, [IMAGING_RAWMODE_L_16] = {"L;16"}, [IMAGING_RAWMODE_L_16B] = {"L;16B"}, [IMAGING_RAWMODE_L_2] = {"L;2"}, diff --git a/src/libImaging/Mode.h b/src/libImaging/Mode.h index 39c0eb91994..0b33fb6ce36 100644 --- a/src/libImaging/Mode.h +++ b/src/libImaging/Mode.h @@ -144,6 +144,7 @@ typedef enum { IMAGING_RAWMODE_K_I, IMAGING_RAWMODE_LA_16B, IMAGING_RAWMODE_LA_L, + IMAGING_RAWMODE_LX, IMAGING_RAWMODE_L_16, IMAGING_RAWMODE_L_16B, IMAGING_RAWMODE_L_2, diff --git a/src/libImaging/Unpack.c b/src/libImaging/Unpack.c index a515682093d..7623275bd47 100644 --- a/src/libImaging/Unpack.c +++ b/src/libImaging/Unpack.c @@ -1582,6 +1582,7 @@ static struct { {IMAGING_MODE_L, IMAGING_RAWMODE_L_R, 8, unpackLR}, {IMAGING_MODE_L, IMAGING_RAWMODE_L_16, 16, unpackL16}, {IMAGING_MODE_L, IMAGING_RAWMODE_L_16B, 16, unpackL16B}, + {IMAGING_MODE_L, IMAGING_RAWMODE_LX, 16, unpackL16B}, /* grayscale w. alpha */ {IMAGING_MODE_LA, IMAGING_RAWMODE_LA, 16, unpackLA},