diff --git a/src/doc/builtinplugins.rst b/src/doc/builtinplugins.rst index 3a9c7d3972..847010c9d4 100644 --- a/src/doc/builtinplugins.rst +++ b/src/doc/builtinplugins.rst @@ -1540,8 +1540,8 @@ The official OpenEXR site is http://www.openexr.com/. * - ``compression`` - string - one of: ``"none"``, ``"rle"``, ``"zip"``, ``"zips"``, ``"piz"``, - ``"pxr24"``, ``"b44"``, ``"b44a"``, ``"dwaa"``, ``"dwab"`` or ``"htj2k"``. - (``"htj2k"`` is only supported with OpenEXR 3.4 or later.) + ``"pxr24"``, ``"b44"``, ``"b44a"``, ``"dwaa"``, ``"dwab"``, ``"htj2k256"`` or ``"htj2k32"``. + (``"htj2k256"`` and ``"htj2k32"`` are only supported with OpenEXR 3.4 or later.) If the writer receives a request for a compression type it does not recognize or is not supported by the version of OpenEXR on the system, it will use ``"zip"`` by default. For ``"dwaa"`` and diff --git a/src/openexr.imageio/exrinput.cpp b/src/openexr.imageio/exrinput.cpp index 94293a3fd2..dbd6cddba5 100644 --- a/src/openexr.imageio/exrinput.cpp +++ b/src/openexr.imageio/exrinput.cpp @@ -431,8 +431,11 @@ OpenEXRInput::PartInfo::parse_header(OpenEXRInput* in, case Imf::B44A_COMPRESSION: comp = "b44a"; break; case Imf::DWAA_COMPRESSION: comp = "dwaa"; break; case Imf::DWAB_COMPRESSION: comp = "dwab"; break; -#ifdef IMF_HTJ2K_COMPRESSION - case Imf::HTJ2K_COMPRESSION: comp = "htj2k"; break; +#ifdef IMF_HTJ2K256_COMPRESSION + case EXR_COMPRESSION_HTJ2K256: comp = "htj2k256"; break; +#endif +#ifdef IMF_HTJ2K32_COMPRESSION + case EXR_COMPRESSION_HTJ2K32: comp = "htj2k32"; break; #endif default: break; } diff --git a/src/openexr.imageio/exrinput_c.cpp b/src/openexr.imageio/exrinput_c.cpp index 00489b5b8d..9b72a2891d 100644 --- a/src/openexr.imageio/exrinput_c.cpp +++ b/src/openexr.imageio/exrinput_c.cpp @@ -568,8 +568,11 @@ OpenEXRCoreInput::PartInfo::parse_header(OpenEXRCoreInput* in, case EXR_COMPRESSION_B44A: comp = "b44a"; break; case EXR_COMPRESSION_DWAA: comp = "dwaa"; break; case EXR_COMPRESSION_DWAB: comp = "dwab"; break; -#ifdef IMF_HTJ2K_COMPRESSION - case EXR_COMPRESSION_HTJ2K: comp = "htj2k"; break; +#ifdef IMF_HTJ2K256_COMPRESSION + case EXR_COMPRESSION_HTJ2K256: comp = "htj2k256"; break; +#endif +#ifdef IMF_HTJ2K32_COMPRESSION + case EXR_COMPRESSION_HTJ2K32: comp = "htj2k32"; break; #endif default: break; } diff --git a/src/openexr.imageio/exroutput.cpp b/src/openexr.imageio/exroutput.cpp index 6fa387f178..3e7e967f45 100644 --- a/src/openexr.imageio/exroutput.cpp +++ b/src/openexr.imageio/exroutput.cpp @@ -961,9 +961,13 @@ OpenEXROutput::put_parameter(const std::string& name, TypeDesc type, header.compression() = Imf::DWAA_COMPRESSION; else if (Strutil::iequals(str, "dwab")) header.compression() = Imf::DWAB_COMPRESSION; -#ifdef IMF_HTJ2K_COMPRESSION - else if (Strutil::iequals(str, "htj2k")) - header.compression() = Imf::HTJ2K_COMPRESSION; +#ifdef IMF_HTJ2K256_COMPRESSION + else if (Strutil::iequals(str, "htj2k256")) + header.compression() = Imf::HTJ2K256_COMPRESSION; +#endif +#ifdef IMF_HTJ2K32_COMPRESSION + else if (Strutil::iequals(str, "htj2k32")) + header.compression() = Imf::HTJ2K32_COMPRESSION; #endif } return true;