Skip to content

Saving TIFF as JPEG fails with OSError: encoder error -2 #6932

@gverm

Description

@gverm

What did you do?

Tried to convert TIFF to JPEG.

What did you expect to happen?

Converted image saved successfully.

What actually happened?

Bogus marker length
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/gverm/Desktop/venv/lib/python3.10/site-packages/PIL/Image.py", line 2430, in save
    save_handler(self, fp, filename)
  File "/home/gverm/Desktop/venv/lib/python3.10/site-packages/PIL/JpegImagePlugin.py", line 803, in _save
    ImageFile._save(im, fp, [("jpeg", (0, 0) + im.size, 0, rawmode)], bufsize)
  File "/home/gverm/Desktop/venv/lib/python3.10/site-packages/PIL/ImageFile.py", line 517, in _save
    _encode_tile(im, fp, tile, bufsize, fh)
  File "/home/gverm/Desktop/venv/lib/python3.10/site-packages/PIL/ImageFile.py", line 547, in _encode_tile
    raise OSError(msg) from exc
OSError: encoder error -2 when writing image file

What are your OS, Python and Pillow versions?

  • OS: EndeavourOS
  • Python: 3.10 & 3.11
  • Pillow: 9.4.0 & current git
from PIL import Image, ImageOps, TiffImagePlugin
src_img = Image.open("/home/gverm/ae213421281f00a1cbe6fa2a9eb9cea5-A65_02_048$02.tif")
exif = src_img.getexif()
del exif[TiffImagePlugin.STRIPOFFSETS]
dst_img = ImageOps.exif_transpose(src_img).convert("RGB")
dst_img.save("test.jpg", quality=95, exif=exif)

Link to image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions