Skip to content

fix: FITS files written by utvio don't read back (Windows: wrong size, Linux: crash) #67

Description

@mcoliver

Summary

The new image format round-trip test (#64) shows two format problems on Windows. Both are fine on macOS.

1. HEIC/HEIF/HIF can't be written, but are advertised as writable

ERROR: OIIO: Unable to open ".../t.heic" for writing: Unknown error

AVIF writes fine, so OIIO's heif plugin is present. The likely cause is that the OpenUTVDeps libheif has no HEVC encoder (x265). OIIO still lists heif in output_format_list, so IOoiio advertises heic/heif/hif as writable. That's the same user-facing symptom as #59: a format listed as writable that fails on write.

Options:

  • Build libheif with x265 in OpenUTVDeps.
  • Or make IOoiio probe for a working HEVC encoder (e.g. a one-time 1×1 test write) before advertising heic/heif/hif as writable.

2. FITS doesn't read back

utvio in.ppm -o t.fits succeeds, but utvio t.fits -o back.ppm produces a 1280×720 image instead of 96×64. That looks like utvio's placeholder frame after a failed read. Needs investigation on Windows: the OIIO version in OpenUTVDeps, the FITS reader, or the half→float workaround in IOoiio::writeImage.

Evidence

Branch CI run 36648949811, job "2b. Build Windows", test image-format-roundtrip.

Test handling

Until this is fixed, format_roundtrip.py marks heic, heif, hif and fits as known failures on Windows (reported as xfail, linked to this issue). They'll show up as XPASS once fixed, at which point the entries should be removed.

Operating System

Windows 10 / 11

Code of Conduct

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions