Skip to content

feat: add HEIC/HEIF decoding and encoding support - #119

Open
hypergadam wants to merge 1 commit into
anthonynsimon:masterfrom
hypergadam:feat/heic-support
Open

feat: add HEIC/HEIF decoding and encoding support#119
hypergadam wants to merge 1 commit into
anthonynsimon:masterfrom
hypergadam:feat/heic-support

Conversation

@hypergadam

Copy link
Copy Markdown
  • Decode via imgio.Open and encode via imgio.HEICEncoder, backed by the pure Go github.com/gen2brain/h265 codec. The heic package registers itself with image.RegisterFormat, so image.Decode picks up .heic/.heif transparently, and the CLI resolves both extensions to the new encoder.

  • HEICEncoder takes *heic.EncodeOptions, mirroring WEBPEncoder, so lossless and chroma/bit-depth settings stay reachable; nil gives lossy 4:2:0 at 8 bits.

  • The codec adds no transitive dependencies, but its go directive raises the minimum toolchain to 1.26.4. go.mod, the README and the CI matrix move to 1.26 accordingly, which is a breaking change for users on 1.25.

- Decode via imgio.Open and encode via imgio.HEICEncoder, backed by the
  pure Go github.com/gen2brain/h265 codec. The heic package registers
  itself with image.RegisterFormat, so image.Decode picks up .heic/.heif
  transparently, and the CLI resolves both extensions to the new
  encoder.

- HEICEncoder takes *heic.EncodeOptions, mirroring WEBPEncoder, so
  lossless
  and chroma/bit-depth settings stay reachable; nil gives lossy 4:2:0 at
  8
  bits.

 - The codec adds no transitive dependencies, but its go directive
   raises
   the minimum toolchain to 1.26.4. go.mod, the README and the CI matrix
   move to 1.26 accordingly, which is a breaking change for users on
   1.25.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant