Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

examples: initial TIFF encoder support #1248

Merged
merged 1 commit into from
Jul 29, 2024
Merged

Conversation

bradh
Copy link
Contributor

@bradh bradh commented Jul 20, 2024

Inspired by the TIFF decoder (and a cold wet morning), I've implemented a very basic TIFF encoder.

There are a lot more things we can do with TIFF over PNG/JPEG/Y4M. For example, it could do multiple images per file (instead of splitting them), different compression types and levels, different chroma or interleave formats etc. It could also do the various sample types (e.g. signed, float, etc), which is part of the reason for wanting it. None of that is done yet, partly because it will complicate the Encoder API and command line options.

I wonder if we should have only limited TIFF support for heif-dec, or whether to extend the Encoder API. Related, we could have HEIF as an output format (e.g. so you can pull in HEIC and output AVIF, or JPEG-2000, or uncompressed, or some other combination). Possibly that should be a different tool.

Thoughts?

@farindk
Copy link
Contributor

farindk commented Jul 29, 2024

I wonder if we should have only limited TIFF support for heif-dec, or whether to extend the Encoder API.

One way could be to extend the encoder API to support multiple images per file and have an Encoder_SingleImage class as the base for the existing formats that will split this up into multiple images.

Related, we could have HEIF as an output format (e.g. so you can pull in HEIC and output AVIF, or JPEG-2000, or uncompressed, or some other combination). Possibly that should be a different tool.

Sure. But at some point we might have to draw a line what is still the business of libheif and what should be handled by image convertion packages like ImageMagick. On the other hand, adding libheif as input or output format wouldn't be that difficult.

@farindk farindk merged commit b06e720 into strukturag:master Jul 29, 2024
35 of 36 checks passed
@bradh bradh deleted the encoder_tiff branch July 29, 2024 22:34
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.

2 participants