Skip to content

fix(heif): Can not output AVIF when libheif has no HEVC support#5013

Merged
lgritz merged 1 commit into
AcademySoftwareFoundation:mainfrom
brechtvl:fix-heif-without-hevc
Jan 23, 2026
Merged

fix(heif): Can not output AVIF when libheif has no HEVC support#5013
lgritz merged 1 commit into
AcademySoftwareFoundation:mainfrom
brechtvl:fix-heif-without-hevc

Conversation

@brechtvl
Copy link
Copy Markdown
Contributor

Description

Initializing the encoder to heif_compression_HEVC by default throws an exception when libheif was built without HEVC support, which prevents it from being used entirely even if there is AVIF support.

So delay that initialization until we are sure which encoding we want.

Tests

Not really any practical way to automatically test this.

Checklist:

  • I have read the guidelines on contributions and code review procedures.
  • I have updated the documentation if my PR adds features or changes
    behavior.
  • I am sure that this PR's changes are tested somewhere in the
    testsuite
    .
  • I have run and passed the testsuite in CI before submitting the
    PR, by pushing the changes to my fork and seeing that the automated CI
    passed there. (Exceptions: If most tests pass and you can't figure out why
    the remaining ones fail, it's ok to submit the PR and ask for help. Or if
    any failures seem entirely unrelated to your change; sometimes things break
    on the GitHub runners.)
  • My code follows the prevailing code style of this project and I
    fixed any problems reported by the clang-format CI test.
  • If I added or modified a public C++ API call, I have also amended the
    corresponding Python bindings. If altering ImageBufAlgo functions, I also
    exposed the new functionality as oiiotool options.

Initializing the encoder to heif_compression_HEVC by default throws an
exception when libheif was built without HEVC support, which prevents it
from being used entirely even if there is AVIF support.

So delay that initialization until we are sure which encoder we want.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>
Copy link
Copy Markdown
Collaborator

@lgritz lgritz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@lgritz lgritz merged commit e6ccb76 into AcademySoftwareFoundation:main Jan 23, 2026
28 of 29 checks passed
lgritz pushed a commit to lgritz/OpenImageIO that referenced this pull request Jan 30, 2026
…emySoftwareFoundation#5013)

Initializing the encoder to `heif_compression_HEVC` by default throws an
exception when libheif was built without HEVC support, which prevents it
from being used entirely even if there is AVIF support.

So delay that initialization until we are sure which encoding we want.

Not really any practical way to automatically test this.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>
lgritz pushed a commit to lgritz/OpenImageIO that referenced this pull request Jan 30, 2026
…emySoftwareFoundation#5013)

Initializing the encoder to `heif_compression_HEVC` by default throws an
exception when libheif was built without HEVC support, which prevents it
from being used entirely even if there is AVIF support.

So delay that initialization until we are sure which encoding we want.

Not really any practical way to automatically test this.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>
ssh4net pushed a commit to ssh4net/OpenImageIO that referenced this pull request Feb 24, 2026
…emySoftwareFoundation#5013)

Initializing the encoder to `heif_compression_HEVC` by default throws an
exception when libheif was built without HEVC support, which prevents it
from being used entirely even if there is AVIF support.

So delay that initialization until we are sure which encoding we want.

Not really any practical way to automatically test this.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>
Signed-off-by: Vlad (Kuzmin) Erium <libalias@gmail.com>
ssh4net pushed a commit to ssh4net/OpenImageIO that referenced this pull request Apr 1, 2026
…emySoftwareFoundation#5013)

Initializing the encoder to `heif_compression_HEVC` by default throws an
exception when libheif was built without HEVC support, which prevents it
from being used entirely even if there is AVIF support.

So delay that initialization until we are sure which encoding we want.

Not really any practical way to automatically test this.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>
Signed-off-by: Vlad <shaamaan@gmail.com>
ssh4net pushed a commit to ssh4net/OpenImageIO that referenced this pull request Apr 2, 2026
…emySoftwareFoundation#5013)

Initializing the encoder to `heif_compression_HEVC` by default throws an
exception when libheif was built without HEVC support, which prevents it
from being used entirely even if there is AVIF support.

So delay that initialization until we are sure which encoding we want.

Not really any practical way to automatically test this.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>
Signed-off-by: Vlad (Kuzmin) Erium <libalias@gmail.com>
ssh4net pushed a commit to ssh4net/OpenImageIO that referenced this pull request Apr 2, 2026
…emySoftwareFoundation#5013)

Initializing the encoder to `heif_compression_HEVC` by default throws an
exception when libheif was built without HEVC support, which prevents it
from being used entirely even if there is AVIF support.

So delay that initialization until we are sure which encoding we want.

Not really any practical way to automatically test this.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>
Signed-off-by: Vlad (Kuzmin) Erium <libalias@gmail.com>
ssh4net pushed a commit to ssh4net/OpenImageIO that referenced this pull request Apr 2, 2026
…emySoftwareFoundation#5013)

Initializing the encoder to `heif_compression_HEVC` by default throws an
exception when libheif was built without HEVC support, which prevents it
from being used entirely even if there is AVIF support.

So delay that initialization until we are sure which encoding we want.

Not really any practical way to automatically test this.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>
Signed-off-by: Vlad (Kuzmin) Erium <libalias@gmail.com>
Signed-off-by: Vlad <shaamaan@gmail.com>
ssh4net pushed a commit to ssh4net/OpenImageIO that referenced this pull request Apr 2, 2026
…emySoftwareFoundation#5013)

Initializing the encoder to `heif_compression_HEVC` by default throws an
exception when libheif was built without HEVC support, which prevents it
from being used entirely even if there is AVIF support.

So delay that initialization until we are sure which encoding we want.

Not really any practical way to automatically test this.

Signed-off-by: Brecht Van Lommel <brecht@blender.org>
Signed-off-by: Vlad (Kuzmin) Erium <libalias@gmail.com>
Signed-off-by: Vlad <shaamaan@gmail.com>
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