From c4991eedcaee15c132edff0a9fc5ec3caf895fcb Mon Sep 17 00:00:00 2001 From: Larry Gritz Date: Sun, 6 Oct 2024 08:28:59 -0700 Subject: [PATCH] Color management nomenclature improvements A round of color management improvements (I hope). We were pretty squirrelly about what "linear" meant. Get more exact. Now we will treat "linear" as a semi-obsolete synonym for "lin_rec709" (sRGB primaries, but linear response). Change file format readers to say "lin_rec709" when they mean it, and not use the more generic alias "linear". "scene_linear", on the other hand, is the internal working color space for math. Which concrete color space it is an alias for is determined by the OCIO config in use. Use "g18_rec709" and "g22_rec709" for rec709 + gamma 1.8 or 2.2, respectvely. A few new API calls help out: equivalent_colorspace(), set_colorspace(spec,name), set_colorspace_rec709_gamma(). OpenEXR always tagged files as linear by default. It was too aggressive about this, so with this PR, now it defaults to lin_rec709 only for files that appear to be RGB and not have any other clues about the color space. Similarly, the raw reader was too eager to set the Exif:ColorSpace to look like sRGB even when it wasn't. Lots of reference outputs needed to be updated. This is a potentially big behavior change. But I think it's for the better. Signed-off-by: Larry Gritz --- src/cineon.imageio/cineoninput.cpp | 9 +- src/dds.imageio/ddsinput.cpp | 2 +- src/doc/imageioapi.rst | 6 + src/doc/imageoutput.rst | 4 +- src/doc/pythonbindings.rst | 48 +++++- src/doc/stdmetadata.rst | 17 +- src/dpx.imageio/dpxinput.cpp | 13 +- src/gif.imageio/gifinput.cpp | 2 +- src/hdr.imageio/hdrinput.cpp | 10 +- src/heif.imageio/heifinput.cpp | 2 +- src/iconvert/iconvert.cpp | 2 +- src/include/OpenImageIO/color.h | 17 ++ src/include/OpenImageIO/imagebufalgo.h | 12 +- src/include/OpenImageIO/imageio.h | 27 ++++ src/jpeg.imageio/jpeginput.cpp | 2 +- src/jpeg.imageio/jpegoutput.cpp | 3 +- src/jpeg2000.imageio/jpeg2000input.cpp | 2 +- src/libOpenImageIO/color_ocio.cpp | 153 ++++++++++-------- src/libOpenImageIO/exif.cpp | 2 +- src/libOpenImageIO/formatspec.cpp | 21 +-- src/oiiotool/oiiotool.cpp | 14 +- src/openexr.imageio/exr_pvt.h | 23 ++- src/openexr.imageio/exrinput.cpp | 45 +++++- src/openexr.imageio/exrinput_c.cpp | 11 +- src/png.imageio/png_pvt.h | 27 ++-- src/pnm.imageio/pnminput.cpp | 2 +- src/python/py_colorconfig.cpp | 5 +- src/python/py_oiio.cpp | 13 ++ src/raw.imageio/rawinput.cpp | 7 +- src/rla.imageio/rlainput.cpp | 8 +- src/rla.imageio/rlaoutput.cpp | 10 +- src/targa.imageio/targainput.cpp | 11 +- src/targa.imageio/targaoutput.cpp | 15 +- src/tiff.imageio/tiffinput.cpp | 3 + src/tiff.imageio/tiffoutput.cpp | 3 +- src/webp.imageio/webpinput.cpp | 2 +- testsuite/dds/ref/out.txt | 4 +- testsuite/dup-channels/ref/out.txt | 4 +- testsuite/hdr/ref/out.txt | 2 +- testsuite/iinfo/ref/out-fmt6.txt | 6 +- testsuite/iinfo/ref/out.txt | 6 +- testsuite/maketx/ref/out-macarm.txt | 7 +- testsuite/maketx/ref/out.txt | 7 +- testsuite/oiiotool-attribs/ref/out-jpeg9d.txt | 8 +- testsuite/oiiotool-attribs/ref/out.txt | 8 +- testsuite/oiiotool-copy/ref/out.txt | 14 +- testsuite/oiiotool-deep/ref/out-fmt6.txt | 3 - testsuite/oiiotool-deep/ref/out.txt | 3 - testsuite/oiiotool-fixnan/ref/out.txt | 6 +- testsuite/oiiotool-maketx/ref/out-macarm.txt | 7 +- testsuite/oiiotool-maketx/ref/out-rhel7.txt | 5 +- testsuite/oiiotool-maketx/ref/out-win.txt | 7 +- testsuite/oiiotool-maketx/ref/out.txt | 7 +- testsuite/oiiotool-subimage/ref/out.txt | 8 +- testsuite/oiiotool/ref/out.txt | 2 +- testsuite/openexr-chroma/ref/out.txt | 5 +- testsuite/openexr-decreasingy/ref/out.txt | 8 +- .../ref/out-macarm.txt | 12 +- .../openexr-luminance-chroma/ref/out.txt | 12 +- testsuite/openexr-multires/ref/out.txt | 35 ++-- testsuite/openexr-suite/ref/out.txt | 41 +++-- testsuite/openexr-v2/ref/out.txt | 26 +-- testsuite/openexr-window/ref/out.txt | 32 ++-- .../python-colorconfig/ref/out-ocio23.txt | 2 +- .../python-colorconfig/ref/out-ocio24.txt | 2 +- testsuite/python-colorconfig/ref/out.txt | 2 +- testsuite/rational/ref/out.txt | 4 +- testsuite/raw/ref/out-libraw-0.20.2-gh.txt | 18 +-- testsuite/raw/ref/out-libraw-0.20.2.txt | 20 +-- testsuite/raw/ref/out-libraw0.20.0-gh.txt | 17 +- testsuite/raw/ref/out-libraw0.20.0.txt | 20 +-- testsuite/raw/ref/out-libraw0.21.0-gh.txt | 18 +-- testsuite/raw/ref/out-libraw0.21.0-mac.txt | 20 +-- testsuite/raw/ref/out.txt | 20 +-- testsuite/rla/ref/out.txt | 6 +- 75 files changed, 542 insertions(+), 445 deletions(-) diff --git a/src/cineon.imageio/cineoninput.cpp b/src/cineon.imageio/cineoninput.cpp index a7656a8a8a..d64ac4ab3d 100644 --- a/src/cineon.imageio/cineoninput.cpp +++ b/src/cineon.imageio/cineoninput.cpp @@ -169,7 +169,7 @@ CineonInput::open(const std::string& name, ImageSpec& newspec) // This is not very smart, but it seems that as a practical matter, // all Cineon files are log. So ignore the gamma field and just set // the color space to KodakLog. - m_spec.attribute("oiio:ColorSpace", "KodakLog"); + m_spec.set_colorspace("KodakLog"); #else // image linearity // FIXME: making this more robust would require the per-channel transfer @@ -177,19 +177,18 @@ CineonInput::open(const std::string& name, ImageSpec& newspec) switch (m_cin.header.ImageDescriptor(0)) { case cineon::kRec709Red: case cineon::kRec709Green: - case cineon::kRec709Blue: m_spec.attribute("oiio:ColorSpace", "Rec709"); + case cineon::kRec709Blue: m_spec.set_colorspace("Rec709"); default: // either grayscale or printing density if (!std::isinf(m_cin.header.Gamma()) && m_cin.header.Gamma() != 0.0f) // actual gamma value is read later on - m_spec.attribute("oiio:ColorSpace", - Strutil::fmt::format("Gamma{:.2g}", g)); + set_colorspace_rec709_gamma(m_spec, float(m_cin.header.Gamma())); break; } // gamma exponent if (!std::isinf(m_cin.header.Gamma()) && m_cin.header.Gamma() != 0.0f) - m_spec.attribute("oiio:Gamma", (float)m_cin.header.Gamma()); + set_colorspace_rec709_gamma(m_spec, float(m_cin.header.Gamma())); #endif // general metadata diff --git a/src/dds.imageio/ddsinput.cpp b/src/dds.imageio/ddsinput.cpp index 95af4cd6ce..52cf302ef3 100644 --- a/src/dds.imageio/ddsinput.cpp +++ b/src/dds.imageio/ddsinput.cpp @@ -845,7 +845,7 @@ DDSInput::seek_subimage(int subimage, int miplevel) // linear color space for HDR-ish images if (colorspace == nullptr && (basetype == TypeDesc::HALF || basetype == TypeDesc::FLOAT)) - colorspace = "linear"; + colorspace = "lin_rec709"; m_spec.set_colorspace(colorspace); diff --git a/src/doc/imageioapi.rst b/src/doc/imageioapi.rst index ccebfd68f0..f294024d80 100644 --- a/src/doc/imageioapi.rst +++ b/src/doc/imageioapi.rst @@ -285,6 +285,12 @@ just exist in the OIIO namespace as general utilities. (See .. doxygenfunction:: get_extension_map +.. doxygenfunction:: OIIO::set_colorspace + +.. doxygenfunction:: OIIO::set_colorspace_rec709_gamma + +.. doxygenfunction:: OIIO::equivalent_colorspace + | .. _sec-startupshutdown: diff --git a/src/doc/imageoutput.rst b/src/doc/imageoutput.rst index 895df378fb..8b06fd679a 100644 --- a/src/doc/imageoutput.rst +++ b/src/doc/imageoutput.rst @@ -888,12 +888,12 @@ color space: .. code-tab:: c++ ImageSpec spec (width, length, channels, format); - spec.attribute ("oiio:ColorSpace", "scene_linear"); + spec.set_colorspace("scene_linear"); .. code-tab:: py spec = ImageSpec(width, length, channels, format) - spec.attribute ("oiio:ColorSpace", "scene_linear") + spec.set_colorspace("scene_linear") If a particular ``ImageOutput`` implementation is required (by the rules of the file format it writes) to have pixels in a fixed color space, diff --git a/src/doc/pythonbindings.rst b/src/doc/pythonbindings.rst index 65eee9ff75..8a06bc537d 100644 --- a/src/doc/pythonbindings.rst +++ b/src/doc/pythonbindings.rst @@ -732,7 +732,6 @@ Section :ref:`sec-ImageSpec`, is replicated for Python. spec.set_colorspace ("sRGB") - .. py:method:: ImageSpec.undefined () Returns `True` for a newly initialized (undefined) ImageSpec. @@ -3885,6 +3884,53 @@ details. formats = oiio.get_string_attribute ("format_list") +.. py:method:: set_colorspace (spec, name) + + Set the metadata of the `spec` to presume that color space is `name` (or + to assume nothing about the color space if `name` is empty). + + Example: + + .. code-block:: python + + spec = oiio.ImageSpec() + oiio.set_colorspace (spec, "lin_rec709") + + This function was added in OpenImageIO 3.0. + + +.. py:method:: set_colorspace_rec709_gamma (spec, name) + + Set the metadata of the `spec` to reflect Rec709 color primaries and the + given gamma. + + Example: + + .. code-block:: python + + spec = oiio.ImageSpec() + oiio.set_colorspace_rec709_gamma (spec, 2.2) + + This function was added in OpenImageIO 3.0. + + +.. py:method:: equivalent_colorspace (a, b) + + Return `True` if the color spaces `a` and `b` are equivalent in the + default active color config. + + Example: + + .. code-block:: python + + # ib is an ImageBuf + cs = ib.spec().get_string_attribute("oiio:ColorSpace") + if oiio.equivalent_colorspace(cs, "sRGB") : + print ("The image is sRGB") + + This function was added in OpenImageIO 3.0. + + .. py:method:: is_imageio_format_name (name) Returns True if `name` is the name of a known and supported file format, diff --git a/src/doc/stdmetadata.rst b/src/doc/stdmetadata.rst index a66cbb54c1..69f17f052b 100644 --- a/src/doc/stdmetadata.rst +++ b/src/doc/stdmetadata.rst @@ -143,18 +143,19 @@ Color information - `"scene_linear"` : Color pixel values are known to be scene-linear and using facility-default color primaries as defined by the OpenColorIO - configuration. Note that `"linear"` is treated as a synonym. (Note: when - no color config is found, this are presumed to use sRGB/Rec709 color - primaries when built against OpenColorIO 2.1 or earlier, or when no OCIO - support is available, but is presumed to be ACEScg when built against - OCIO 2.2 or higher and using its built-in config.) - - `"lin_srgb"` : Color pixel values are known to be linear and - using sRGB/Rec709 color primaries. + configuration. + - `"lin_srgb"`, `"lin_rec709"` : Color pixel values are known to be + linear and using sRGB/Rec709 color primaries. Note that `"linear"` is + treated as a synonym. - `"sRGB"` : Using standard sRGB response and primaries. - `"Rec709"` : Using standard Rec709 response and primaries. - `"ACEScg"` : ACEScg color space encoding. - `"AdobeRGB"` : Adobe RGB color space. - `"KodakLog"` : Kodak logarithmic color space. + - `"g22_rec709"` : Rec709/sRGB primaries, but using a response curve + corresponding to gamma 2.2. + - `"g18_rec709"` : Rec709/sRGB primaries, but using a response curve + corresponding to gamma 1.8. - `"GammaX.Y"` : Color values have been gamma corrected (raised to the power :math:`1/\gamma`). The `X.Y` is the numeric value of the gamma exponent. @@ -230,7 +231,7 @@ Disk file format info/hints `piz`, `pxr24`, `b44`, `b44a`, `dwaa`, or `dwab`. he compression name is permitted to have a quality value to be appended - fter a colon, for example `dwaa:60`. The exact meaning and range of + after a colon, for example `dwaa:60`. The exact meaning and range of he quality value can vary between different file formats and compression odes, and some don't support quality values at all (it will be ignored if ot supported, or if out of range). diff --git a/src/dpx.imageio/dpxinput.cpp b/src/dpx.imageio/dpxinput.cpp index 9b8fdf8498..5dfadd919f 100644 --- a/src/dpx.imageio/dpxinput.cpp +++ b/src/dpx.imageio/dpxinput.cpp @@ -312,17 +312,12 @@ DPXInput::seek_subimage(int subimage, int miplevel) // image linearity switch (m_dpx.header.Transfer(subimage)) { - case dpx::kLinear: m_spec.attribute("oiio:ColorSpace", "Linear"); break; - case dpx::kLogarithmic: - m_spec.attribute("oiio:ColorSpace", "KodakLog"); - break; - case dpx::kITUR709: m_spec.attribute("oiio:ColorSpace", "Rec709"); break; + case dpx::kLinear: m_spec.set_colorspace("Linear"); break; + case dpx::kLogarithmic: m_spec.set_colorspace("KodakLog"); break; + case dpx::kITUR709: m_spec.set_colorspace("Rec709"); break; case dpx::kUserDefined: if (!std::isnan(m_dpx.header.Gamma()) && m_dpx.header.Gamma() != 0) { - float g = float(m_dpx.header.Gamma()); - m_spec.attribute("oiio:ColorSpace", - Strutil::fmt::format("Gamma{:.2}", g)); - m_spec.attribute("oiio:Gamma", g); + set_colorspace_rec709_gamma(m_spec, float(m_dpx.header.Gamma())); break; } // intentional fall-through diff --git a/src/gif.imageio/gifinput.cpp b/src/gif.imageio/gifinput.cpp index 45cd33cc9e..b0e033cac0 100644 --- a/src/gif.imageio/gifinput.cpp +++ b/src/gif.imageio/gifinput.cpp @@ -259,7 +259,7 @@ GIFInput::read_subimage_metadata(ImageSpec& newspec) newspec.nchannels = 4; newspec.default_channel_names(); newspec.alpha_channel = 4; - newspec.attribute("oiio:ColorSpace", "sRGB"); + newspec.set_colorspace("sRGB"); m_previous_disposal_method = m_disposal_method; m_disposal_method = DISPOSAL_UNSPECIFIED; diff --git a/src/hdr.imageio/hdrinput.cpp b/src/hdr.imageio/hdrinput.cpp index 7d491d11ae..650e403b58 100644 --- a/src/hdr.imageio/hdrinput.cpp +++ b/src/hdr.imageio/hdrinput.cpp @@ -291,7 +291,7 @@ HdrInput::RGBE_ReadHeader() if (!line.size()) return false; - m_spec.attribute("oiio:ColorSpace", "lin_srgb"); + m_spec.set_colorspace("lin_rec709"); // presume linear w/ srgb primaries -- seems like the safest assumption // for this old file format. @@ -310,13 +310,7 @@ HdrInput::RGBE_ReadHeader() // 2.2, not 2.19998. float g = float(1.0 / tempf); g = roundf(100.0 * g) / 100.0f; - m_spec.attribute("oiio:Gamma", g); - if (g == 1.0f) - m_spec.attribute("oiio:ColorSpace", "linear"); - else - m_spec.attribute("oiio:ColorSpace", - Strutil::fmt::format("Gamma{:.2g}", g)); - + set_colorspace_rec709_gamma(m_spec, g); } else if (Strutil::parse_values(line, "EXPOSURE=", span(tempf))) { m_spec.attribute("hdr:exposure", tempf); diff --git a/src/heif.imageio/heifinput.cpp b/src/heif.imageio/heifinput.cpp index 228c567bbf..75f5febe43 100644 --- a/src/heif.imageio/heifinput.cpp +++ b/src/heif.imageio/heifinput.cpp @@ -243,7 +243,7 @@ HeifInput::seek_subimage(int subimage, int miplevel) m_himage.get_height(heif_channel_interleaved), bits / 8, TypeUInt8); - m_spec.attribute("oiio:ColorSpace", "sRGB"); + m_spec.set_colorspace("sRGB"); #if LIBHEIF_HAVE_VERSION(1, 12, 0) // Libheif >= 1.12 added API call to find out if the image is associated diff --git a/src/iconvert/iconvert.cpp b/src/iconvert/iconvert.cpp index 0c68fe190e..75a5201121 100644 --- a/src/iconvert/iconvert.cpp +++ b/src/iconvert/iconvert.cpp @@ -224,7 +224,7 @@ adjust_spec(ImageInput* in, ImageOutput* out, const ImageSpec& inspec, outspec.attribute("oiio:Gamma", gammaval); if (sRGB) { - outspec.attribute("oiio:ColorSpace", "sRGB"); + outspec.set_colorspace("sRGB"); if (!strcmp(in->format_name(), "jpeg") || outspec.find_attribute("Exif:ColorSpace")) outspec.attribute("Exif:ColorSpace", 1); diff --git a/src/include/OpenImageIO/color.h b/src/include/OpenImageIO/color.h index 32d3854918..f2b05626a7 100644 --- a/src/include/OpenImageIO/color.h +++ b/src/include/OpenImageIO/color.h @@ -371,6 +371,23 @@ class OIIO_API ColorConfig { /// Return a filename or other identifier for the config we're using. std::string configname() const; + /// Set the spec's metadata to presume that color space is `name` (or to + /// assume nothing about the color space if `name` is empty). The core + /// operation is to set the "oiio:ColorSpace" attribute, but it also removes + /// or alters several other attributes that may hint color space in ways that + /// might be contradictory or no longer true. + /// + /// @version 3.0 + void set_colorspace(ImageSpec& spec, string_view name) const; + + /// Set the spec's metadata to reflect Rec709 color primaries and the given + /// gamma. The core operation is to set the "oiio:ColorSpace" attribute, but + /// it also removes or alters several other attributes that may hint color + /// space in ways that might be contradictory or no longer true. + /// + /// @version 3.0 + void set_colorspace_rec709_gamma(ImageSpec& spec, float gamma) const; + /// Return if OpenImageIO was built with OCIO support static bool supportsOpenColorIO(); diff --git a/src/include/OpenImageIO/imagebufalgo.h b/src/include/OpenImageIO/imagebufalgo.h index 41b24b2570..ac99c08fb3 100644 --- a/src/include/OpenImageIO/imagebufalgo.h +++ b/src/include/OpenImageIO/imagebufalgo.h @@ -1817,12 +1817,9 @@ bool OIIO_API erode (ImageBuf &dst, const ImageBuf &src, /// transformed, and the fourth channel (if it exists) is presumed to be /// alpha. Any additional channels will be simply copied unaltered. /// -/// If OIIO was built with OpenColorIO support enabled, then the -/// transformation may be between any two spaces supported by the active +/// The transformation may be between any two spaces supported by the active /// OCIO configuration, or may be a "look" transformation created by -/// `ColorConfig::createLookTransform`. If OIIO was not built with -/// OpenColorIO support enabled, then the only transformations available are -/// from "sRGB" to "linear" and vice versa. +/// `ColorConfig::createLookTransform`. /// /// @param fromspace/tospace /// For the varieties of `colorconvert()` that use named color @@ -1927,7 +1924,8 @@ bool OIIO_API colormatrixtransform (ImageBuf &dst, const ImageBuf &src, /// The looks to apply (comma-separated). /// @param fromspace/tospace /// For the varieties of `colorconvert()` that use named color -/// spaces, these specify the color spaces by name. +/// spaces, these specify the color spaces by name. If either +/// is the empty string, it will use `"scene_linear"`. /// @param unpremult /// If true, unpremultiply the image (divide the RGB channels by /// alpha if it exists and is nonzero) before color conversion, @@ -1979,7 +1977,7 @@ bool OIIO_API ociolook (ImageBuf &dst, const ImageBuf &src, string_view looks, /// If `fromspace` is not supplied, it will assume that the /// source color space is whatever is indicated by the source /// image's metadata or filename, and if that cannot be deduced, -/// it will be assumed to be scene linear. +/// it will be assumed to be `"scene_linear"`. /// @param looks /// The looks to apply (comma-separated). This may be empty, /// in which case no "look" is used. Note: this parameter value diff --git a/src/include/OpenImageIO/imageio.h b/src/include/OpenImageIO/imageio.h index 7d3499b7c1..dc0c823927 100644 --- a/src/include/OpenImageIO/imageio.h +++ b/src/include/OpenImageIO/imageio.h @@ -3254,6 +3254,33 @@ inline string_view get_string_attribute (string_view name, } +/// Set the metadata of the `spec` to presume that color space is `name` (or +/// to assume nothing about the color space if `name` is empty). The core +/// operation is to set the "oiio:ColorSpace" attribute, but it also removes +/// or alters several other attributes that may hint color space in ways that +/// might be contradictory or no longer true. This uses the current default +/// color config to adjudicate color space name equivalencies. +/// +/// @version 3.0 +OIIO_API void set_colorspace(ImageSpec& spec, string_view name); + +/// Set the metadata of the `spec` to reflect Rec709 color primaries and the +/// given gamma. The core operation is to set the "oiio:ColorSpace" attribute, +/// but it also removes or alters several other attributes that may hint color +/// space in ways that might be contradictory or no longer true. This uses the +/// current default color config to adjudicate color space name equivalencies. +/// +/// @version 3.0 +OIIO_API void set_colorspace_rec709_gamma(ImageSpec& spec, float gamma); + + +/// Are the two named color spaces equivalent, based on the default color +/// config in effect? +/// +/// @version 3.0 +OIIO_API bool equivalent_colorspace(string_view a, string_view b); + + /// Register the input and output 'create' routines and list of file /// extensions for a particular format. OIIO_API void declare_imageio_format (const std::string &format_name, diff --git a/src/jpeg.imageio/jpeginput.cpp b/src/jpeg.imageio/jpeginput.cpp index f2c302a353..b45e06d1f3 100644 --- a/src/jpeg.imageio/jpeginput.cpp +++ b/src/jpeg.imageio/jpeginput.cpp @@ -257,7 +257,7 @@ JpgInput::open(const std::string& name, ImageSpec& newspec) return false; // Assume JPEG is in sRGB unless the Exif or XMP tags say otherwise. - m_spec.attribute("oiio:ColorSpace", "sRGB"); + m_spec.set_colorspace("sRGB"); if (m_cinfo.jpeg_color_space == JCS_CMYK) m_spec.attribute("jpeg:ColorSpace", "CMYK"); diff --git a/src/jpeg.imageio/jpegoutput.cpp b/src/jpeg.imageio/jpegoutput.cpp index 04237d8aff..923dc62796 100644 --- a/src/jpeg.imageio/jpegoutput.cpp +++ b/src/jpeg.imageio/jpegoutput.cpp @@ -229,7 +229,8 @@ JpgOutput::open(const std::string& name, const ImageSpec& newspec, comment.size() + 1); } - if (Strutil::iequals(m_spec.get_string_attribute("oiio:ColorSpace"), "sRGB")) + if (equivalent_colorspace(m_spec.get_string_attribute("oiio:ColorSpace"), + "sRGB")) m_spec.attribute("Exif:ColorSpace", 1); // Write EXIF info diff --git a/src/jpeg2000.imageio/jpeg2000input.cpp b/src/jpeg2000.imageio/jpeg2000input.cpp index 10bb0be688..70b8c7cca5 100644 --- a/src/jpeg2000.imageio/jpeg2000input.cpp +++ b/src/jpeg2000.imageio/jpeg2000input.cpp @@ -330,7 +330,7 @@ Jpeg2000Input::open(const std::string& name, ImageSpec& p_spec) m_spec.full_height = m_image->y1; m_spec.attribute("oiio:BitsPerSample", maxPrecision); - m_spec.attribute("oiio:ColorSpace", "sRGB"); + m_spec.set_colorspace("sRGB"); if (m_image->icc_profile_len && m_image->icc_profile_buf) { m_spec.attribute("ICCProfile", diff --git a/src/libOpenImageIO/color_ocio.cpp b/src/libOpenImageIO/color_ocio.cpp index e85c8e6d04..8eac1e044a 100644 --- a/src/libOpenImageIO/color_ocio.cpp +++ b/src/libOpenImageIO/color_ocio.cpp @@ -26,10 +26,6 @@ #include -#define OCIO_v2 1 -#ifndef OIIO_DISABLE_BUILTIN_OCIO_CONFIGS -# define OCIO_HAS_BUILTIN_CONFIGS 1 -#endif namespace OCIO = OCIO_NAMESPACE; @@ -43,9 +39,9 @@ static const Imath::C3f test_colors[n_test_colors] } // namespace -#if 0 || !defined(NDEBUG) /* allow color configuration debugging */ +#if 1 || !defined(NDEBUG) /* allow color configuration debugging */ static bool colordebug = Strutil::stoi(Sysutil::getenv("OIIO_DEBUG_COLOR")) - || Strutil::stoi(Sysutil::getenv("OIIO_DEBUG_ALL")); + || Strutil::stoi(Sysutil::getenv("OIIO_DEBUG_ALL")); # define DBG(...) \ if (colordebug) \ Strutil::print(__VA_ARGS__) @@ -592,7 +588,8 @@ ColorConfig::Impl::classify_by_name(CSInfo& cs) cs.setflag(CSInfo::is_Rec709, Rec709_alias); } else if (Strutil::iequals(cs.name, "lin_srgb") || Strutil::iequals(cs.name, "lin_rec709") - || Strutil::iequals(cs.name, "Linear Rec.709 (sRGB)")) { + || Strutil::iequals(cs.name, "Linear Rec.709 (sRGB)") + || Strutil::iequals(cs.name, "linear")) { cs.setflag(CSInfo::is_lin_srgb | CSInfo::is_linear_response, lin_srgb_alias); } else if (Strutil::iequals(cs.name, "ACEScg") @@ -1328,13 +1325,14 @@ ColorConfig::Impl::resolve(string_view name) const spin_rw_write_lock lock(m_mutex); if (Strutil::iequals(name, "sRGB") && !srgb_alias.empty()) return srgb_alias; - if (Strutil::iequals(name, "lin_srgb") && lin_srgb_alias.size()) + if ((Strutil::iequals(name, "lin_srgb") + || Strutil::iequals(name, "lin_rec709") + || Strutil::iequals(name, "linear")) + && lin_srgb_alias.size()) return lin_srgb_alias; if (Strutil::iequals(name, "ACEScg") && !ACEScg_alias.empty()) return ACEScg_alias; - if ((Strutil::iequals(name, "linear") - || Strutil::iequals(name, "scene_linear")) - && !scene_linear_alias.empty()) { + if (Strutil::iequals(name, "scene_linear") && !scene_linear_alias.empty()) { return scene_linear_alias; } if (Strutil::iequals(name, "Rec709") && Rec709_alias.size()) @@ -1386,6 +1384,14 @@ ColorConfig::equivalent(string_view color_space1, +bool +equivalent_colorspace(string_view a, string_view b) +{ + return ColorConfig::default_colorconfig().equivalent(a, b); +} + + + inline OCIO::BitDepth ocio_bitdepth(TypeDesc type) { @@ -1770,59 +1776,6 @@ ColorConfig::createColorProcessor(ustring inputColorSpace, } } -#if OCIO_VERSION_HEX < MAKE_OCIO_VERSION_HEX(2, 2, 0) - // For version 2.2 and later, missing OCIO config will always fall back on - // built-in configs, so we don't need any of these secondary fallback - // heuristics. - if (!handle) { - // Either not compiled with OCIO support, or no OCIO configuration - // was found at all. There are a few color conversions we know - // about even in such dire conditions. - using namespace Strutil; - if (equivalent(inputColorSpace, outputColorSpace)) { - handle = ColorProcessorHandle(new ColorProcessor_Ident); - } else if ((equivalent(inputColorSpace, "lin_srgb") - || equivalent(inputColorSpace, "linear")) - && equivalent(outputColorSpace, "sRGB")) { - handle = ColorProcessorHandle(new ColorProcessor_linear_to_sRGB); - } else if (equivalent(inputColorSpace, "sRGB") - && (equivalent(outputColorSpace, "lin_srgb") - || equivalent(outputColorSpace, "linear"))) { - handle = ColorProcessorHandle(new ColorProcessor_sRGB_to_linear); - } else if ((equivalent(inputColorSpace, "lin_srgb") - || equivalent(inputColorSpace, "linear")) - && equivalent(outputColorSpace, "Rec709")) { - handle = ColorProcessorHandle(new ColorProcessor_linear_to_Rec709); - } else if (equivalent(inputColorSpace, "Rec709") - && equivalent(outputColorSpace, "lin_srgb")) { - handle = ColorProcessorHandle(new ColorProcessor_Rec709_to_linear); - } else if ((equivalent(inputColorSpace, "linear") - || equivalent(inputColorSpace, "lin_srgb")) - && istarts_with(outputColorSpace, "Gamma")) { - string_view gamstr = outputColorSpace; - Strutil::parse_word(gamstr); - float g = from_string(gamstr); - handle = ColorProcessorHandle(new ColorProcessor_gamma(1.0f / g)); - } else if (istarts_with(inputColorSpace, "Gamma") - && (equivalent(outputColorSpace, "linear") - || iequals(outputColorSpace, "lin_srgb"))) { - string_view gamstr = inputColorSpace; - Strutil::parse_word(gamstr); - float g = from_string(gamstr); - handle = ColorProcessorHandle(new ColorProcessor_gamma(g)); - } else { - DBG("No heuristic non-OCIO color processor for '{}' -> '{}'\n", - inputColorSpace, outputColorSpace); - DBG(" is input equiv to srgb? {}\n", - equivalent(inputColorSpace, "sRGB")); - DBG(" is output equiv to linear? {}\n", - equivalent(outputColorSpace, "linear")); - } - if (handle) - pending_error.clear(); - } -#endif - if (!handle && p) { // If we found a processor from OCIO, even if it was a NoOp, and we // still don't have a better idea, return it. @@ -2197,7 +2150,8 @@ ImageBufAlgo::colorconvert(ImageBuf& dst, const ImageBuf& src, string_view from, { pvt::LoggedTimer logtime("IBA::colorconvert"); if (from.empty() || from == "current") { - from = src.spec().get_string_attribute("oiio:Colorspace", "linear"); + from = src.spec().get_string_attribute("oiio:Colorspace", + "scene_linear"); } if (from.empty() || to.empty()) { dst.errorfmt("Unknown color space name"); @@ -2504,11 +2458,11 @@ ImageBufAlgo::ociolook(ImageBuf& dst, const ImageBuf& src, string_view looks, { pvt::LoggedTimer logtime("IBA::ociolook"); if (from.empty() || from == "current") { - auto linearspace = colorconfig->resolve("linear"); + auto linearspace = colorconfig->resolve("scene_linear"); from = src.spec().get_string_attribute("oiio:Colorspace", linearspace); } if (to.empty() || to == "current") { - auto linearspace = colorconfig->resolve("linear"); + auto linearspace = colorconfig->resolve("scene_linear"); to = src.spec().get_string_attribute("oiio:Colorspace", linearspace); } if (from.empty() || to.empty()) { @@ -2571,8 +2525,8 @@ ImageBufAlgo::ociodisplay(ImageBuf& dst, const ImageBuf& src, if (!colorconfig) colorconfig = &ColorConfig::default_colorconfig(); if (from.empty() || from == "current") { - auto linearspace = colorconfig->resolve("linear"); - from = src.spec().get_string_attribute("oiio:Colorspace", + auto linearspace = colorconfig->resolve("scene_linear"); + from = src.spec().get_string_attribute("oiio:ColorSpace", linearspace); } if (from.empty()) { @@ -2768,4 +2722,65 @@ ImageBufAlgo::colorconvert(span color, const ColorProcessor* processor, +void +ColorConfig::set_colorspace(ImageSpec& spec, string_view colorspace) const +{ + // If we're not changing color space, don't mess with anything + string_view oldspace = spec.get_string_attribute("oiio:ColorSpace"); + if (oldspace.size() && colorspace.size() && oldspace == colorspace) + return; + + // Set or clear the main "oiio:ColorSpace" attribute + if (colorspace.empty()) { + spec.erase_attribute("oiio:ColorSpace"); + } else { + spec.attribute("oiio:ColorSpace", colorspace); + } + + // Clear a bunch of other metadata that might contradict the colorspace, + // including some format-specific things that we don't want to propagate + // from input to output if we know that color space transformations have + // occurred. + if (!equivalent(colorspace, "sRGB")) + spec.erase_attribute("Exif:ColorSpace"); + spec.erase_attribute("tiff:ColorSpace"); + spec.erase_attribute("tiff:PhotometricInterpretation"); + spec.erase_attribute("oiio:Gamma"); +} + + + +void +ColorConfig::set_colorspace_rec709_gamma(ImageSpec& spec, float gamma) const +{ + gamma = std::round(gamma * 100.0f) / 100.0f; + if (fabsf(gamma - 1.0f) <= 0.01f) { + set_colorspace(spec, "lin_srgb"); + // Presume that Targa files are sRGB primaries + } else if (fabsf(gamma - 1.8f) <= 0.01f) { + set_colorspace(spec, "g18_rec709"); + spec.attribute("oiio:Gamma", 1.8f); + } else if (fabsf(gamma - 2.2f) <= 0.01f) { + set_colorspace(spec, "g22_rec709"); + spec.attribute("oiio:Gamma", 2.2f); + } else { + set_colorspace(spec, Strutil::fmt::format("Gamma{:.2}", gamma)); + spec.attribute("oiio:Gamma", gamma); + } +} + + +void +set_colorspace(ImageSpec& spec, string_view colorspace) +{ + ColorConfig::default_colorconfig().set_colorspace(spec, colorspace); +} + +void +set_colorspace_rec709_gamma(ImageSpec& spec, float gamma) +{ + ColorConfig::default_colorconfig().set_colorspace_rec709_gamma(spec, gamma); +} + + OIIO_NAMESPACE_END diff --git a/src/libOpenImageIO/exif.cpp b/src/libOpenImageIO/exif.cpp index d2206c8c85..203ee6376f 100644 --- a/src/libOpenImageIO/exif.cpp +++ b/src/libOpenImageIO/exif.cpp @@ -1216,7 +1216,7 @@ decode_exif(cspan exif, ImageSpec& spec) // Exif spec says that anything other than 0xffff==uncalibrated // should be interpreted to be sRGB. if (cs != 0xffff) - spec.attribute("oiio:ColorSpace", "sRGB"); + spec.set_colorspace("sRGB"); } // Look for a maker note offset, now that we have seen all the metadata diff --git a/src/libOpenImageIO/formatspec.cpp b/src/libOpenImageIO/formatspec.cpp index 11515f6b4e..4f7b7eef25 100644 --- a/src/libOpenImageIO/formatspec.cpp +++ b/src/libOpenImageIO/formatspec.cpp @@ -9,6 +9,7 @@ #include +#include #include #include #include @@ -1229,25 +1230,7 @@ pvt::check_texture_metadata_sanity(ImageSpec& spec) void ImageSpec::set_colorspace(string_view colorspace) { - // If we're not changing color space, don't mess with anything - string_view oldspace = get_string_attribute("oiio:ColorSpace"); - if (oldspace.size() && colorspace.size() && oldspace == colorspace) - return; - - // Set or clear the main "oiio:ColorSpace" attribute - if (colorspace.empty()) { - erase_attribute("oiio:ColorSpace"); - } else { - attribute("oiio:ColorSpace", colorspace); - } - - // Clear a bunch of other metadata that might contradict the colorspace, - // including some format-specific things that we don't want to propagate - // from input to output if we know that color space transformations have - // occurred. - erase_attribute("Exif:ColorSpace"); - erase_attribute("tiff:ColorSpace"); - erase_attribute("tiff:PhotometricInterpretation"); + ColorConfig::default_colorconfig().set_colorspace(*this, colorspace); } diff --git a/src/oiiotool/oiiotool.cpp b/src/oiiotool/oiiotool.cpp index bdeb415aeb..3381eb388f 100644 --- a/src/oiiotool/oiiotool.cpp +++ b/src/oiiotool/oiiotool.cpp @@ -5195,7 +5195,7 @@ input_file(Oiiotool& ot, cspan argv) print(" Metadata of {} indicates color space \"{}\"\n", colorspace, filename); } - std::string linearspace = ot.colorconfig().resolve("linear"); + std::string linearspace = ot.colorconfig().resolve("scene_linear"); if (colorspace.size() && !ot.colorconfig().equivalent(colorspace, linearspace)) { std::string cmd = "colorconvert:strict=0"; @@ -5504,7 +5504,7 @@ output_file(Oiiotool& ot, cspan argv) } } if (autocc) { - string_view linearspace = ot.colorconfig().resolve("linear"); + string_view linearspace = ot.colorconfig().resolve("scene_linear"); std::string currentspace = ir->spec()->get_string_attribute("oiio:ColorSpace", linearspace); // Special cases where we know formats should be particular color @@ -6008,12 +6008,16 @@ print_ocio_info(Oiiotool& ot, std::ostream& out) out << "No OpenColorIO"; out << "\nColor config: " << colorconfig.configname() << "\n"; out << "Known color spaces: \n"; - const char* linear = colorconfig.getColorSpaceNameByRole("linear"); + const char* linear = colorconfig.getColorSpaceNameByRole("linear"); + const char* scene_linear = colorconfig.getColorSpaceNameByRole( + "scene_linear"); for (int i = 0, e = colorconfig.getNumColorSpaces(); i < e; ++i) { const char* n = colorconfig.getColorSpaceNameByIndex(i); out << " - " << quote_if_spaces(n); - if ((linear && !colorconfig.equivalent(n, "linear") - && colorconfig.equivalent(n, linear)) + if ((scene_linear && !colorconfig.equivalent(n, "scene_linear") + && colorconfig.equivalent(n, scene_linear)) + || (linear && !colorconfig.equivalent(n, "linear") + && colorconfig.equivalent(n, linear)) || colorconfig.isColorSpaceLinear(n)) out << " (linear)"; out << "\n"; diff --git a/src/openexr.imageio/exr_pvt.h b/src/openexr.imageio/exr_pvt.h index 9250bcb5cd..366febc10d 100644 --- a/src/openexr.imageio/exr_pvt.h +++ b/src/openexr.imageio/exr_pvt.h @@ -44,20 +44,17 @@ static bool exrdebug = Strutil::stoi(Sysutil::getenv("OIIO_DEBUG_OPENEXR")) #endif +namespace pvt { + // Split a full channel name into layer and suffix. -inline void -split_name(string_view fullname, string_view& layer, string_view& suffix) -{ - size_t dot = fullname.find_last_of('.'); - if (dot == string_view::npos) { - suffix = fullname; - layer = string_view(); - } else { - layer = string_view(fullname.data(), dot + 1); - suffix = string_view(fullname.data() + dot + 1, - fullname.size() - dot - 1); - } -} +void +split_name(string_view fullname, string_view& layer, string_view& suffix); + +// Do the channels appear to be R, G, B (or known common aliases)? +bool +channels_are_rgb(const ImageSpec& spec); + +} // namespace pvt diff --git a/src/openexr.imageio/exrinput.cpp b/src/openexr.imageio/exrinput.cpp index 49796305d4..0613867949 100644 --- a/src/openexr.imageio/exrinput.cpp +++ b/src/openexr.imageio/exrinput.cpp @@ -148,6 +148,40 @@ namespace pvt { void set_exr_threads(); + +// Split a full channel name into layer and suffix. +void +split_name(string_view fullname, string_view& layer, string_view& suffix) +{ + size_t dot = fullname.find_last_of('.'); + if (dot == string_view::npos) { + suffix = fullname; + layer = string_view(); + } else { + layer = string_view(fullname.data(), dot + 1); + suffix = string_view(fullname.data() + dot + 1, + fullname.size() - dot - 1); + } +} + + +inline bool +str_equal_either(string_view str, string_view a, string_view b) +{ + return Strutil::iequals(str, a) || Strutil::iequals(str, b); +} + + +// Do the channels appear to be R, G, B (or known common aliases)? +bool +channels_are_rgb(const ImageSpec& spec) +{ + return spec.nchannels >= 3 + && str_equal_either(spec.channel_name(0), "R", "Red") + && str_equal_either(spec.channel_name(1), "G", "Green") + && str_equal_either(spec.channel_name(2), "B", "Blue"); +} + } // namespace pvt @@ -357,8 +391,13 @@ OpenEXRInput::PartInfo::parse_header(OpenEXRInput* in, spec.deep = Strutil::istarts_with(header->type(), "deep"); - // Unless otherwise specified, exr files are assumed to be linear. - spec.attribute("oiio:ColorSpace", "Linear"); + // Unless otherwise specified, exr files are assumed to be linear Rec709 + // if the channels appear to be R, G, B. I know this suspect, but I'm + // betting that this heuristic will guess the right thing that users want + // more often than if we pretending we have no idea what the color space + // is. + if (pvt::channels_are_rgb(spec)) + spec.set_colorspace("lin_rec709"); if (levelmode != Imf::ONE_LEVEL) spec.attribute("openexr:roundingmode", roundingmode); @@ -666,7 +705,7 @@ struct ChanNameHolder { , xSampling(exrchan.xSampling) , ySampling(exrchan.ySampling) { - split_name(fullname, layer, suffix); + pvt::split_name(fullname, layer, suffix); } // Compute canoninical channel list sort priority diff --git a/src/openexr.imageio/exrinput_c.cpp b/src/openexr.imageio/exrinput_c.cpp index 46bdb331a7..22d64ade1b 100644 --- a/src/openexr.imageio/exrinput_c.cpp +++ b/src/openexr.imageio/exrinput_c.cpp @@ -528,8 +528,13 @@ OpenEXRCoreInput::PartInfo::parse_header(OpenEXRCoreInput* in, spec.deep = (storage == EXR_STORAGE_DEEP_TILED || storage == EXR_STORAGE_DEEP_SCANLINE); - // Unless otherwise specified, exr files are assumed to be linear. - spec.attribute("oiio:ColorSpace", "Linear"); + // Unless otherwise specified, exr files are assumed to be linear Rec709 + // if the channels appear to be R, G, B. I know this suspect, but I'm + // betting that this heuristic will guess the right thing that users want + // more often than if we pretending we have no idea what the color space + // is. + if (pvt::channels_are_rgb(spec)) + spec.set_colorspace("lin_rec709"); if (levelmode != EXR_TILE_ONE_LEVEL) spec.attribute("openexr:roundingmode", (int)roundingmode); @@ -806,7 +811,7 @@ struct CChanNameHolder { , xSampling(exrchan.x_sampling) , ySampling(exrchan.y_sampling) { - split_name(fullname, layer, suffix); + pvt::split_name(fullname, layer, suffix); } // Compute canoninical channel list sort priority diff --git a/src/png.imageio/png_pvt.h b/src/png.imageio/png_pvt.h index 9119e19f65..a4a96269a1 100644 --- a/src/png.imageio/png_pvt.h +++ b/src/png.imageio/png_pvt.h @@ -224,23 +224,18 @@ read_info(png_structp& sp, png_infop& ip, int& bit_depth, int& color_type, int srgb_intent; double gamma = 0.0; if (png_get_sRGB(sp, ip, &srgb_intent)) { - spec.attribute("oiio:ColorSpace", "sRGB"); + spec.set_colorspace("sRGB"); } else if (png_get_gAMA(sp, ip, &gamma) && gamma > 0.0) { // Round gamma to the nearest hundredth to prevent stupid // precision choices and make it easier for apps to make // decisions based on known gamma values. For example, you want // 2.2, not 2.19998. float g = float(1.0 / gamma); - g = roundf(100.0 * g) / 100.0f; - spec.attribute("oiio:Gamma", g); - if (g == 1.0f) - spec.attribute("oiio:ColorSpace", "linear"); - else - spec.attribute("oiio:ColorSpace", - Strutil::fmt::format("Gamma{:.2g}", g)); + g = roundf(100.0f * g) / 100.0f; + set_colorspace_rec709_gamma(spec, g); } else { // If there's no info at all, assume sRGB. - spec.attribute("oiio:ColorSpace", "sRGB"); + set_colorspace(spec, "sRGB"); } if (png_get_valid(sp, ip, PNG_INFO_iCCP)) { @@ -607,7 +602,7 @@ write_info(png_structp& sp, png_infop& ip, int& color_type, ImageSpec& spec, const ColorConfig& colorconfig = ColorConfig::default_colorconfig(); string_view colorspace = spec.get_string_attribute("oiio:ColorSpace"); if (colorconfig.equivalent(colorspace, "scene_linear") - || colorconfig.equivalent(colorspace, "linear")) { + || colorconfig.equivalent(colorspace, "lin_rec709")) { if (setjmp(png_jmpbuf(sp))) // NOLINT(cert-err52-cpp) return "Could not set PNG gAMA chunk"; png_set_gAMA(sp, ip, 1.0); @@ -621,6 +616,18 @@ write_info(png_structp& sp, png_infop& ip, int& color_type, ImageSpec& spec, return "Could not set PNG gAMA chunk"; png_set_gAMA(sp, ip, 1.0f / gamma); srgb = false; + } else if (colorconfig.equivalent(colorspace, "g22_rec709")) { + gamma = 2.2f; + if (setjmp(png_jmpbuf(sp))) // NOLINT(cert-err52-cpp) + return "Could not set PNG gAMA chunk"; + png_set_gAMA(sp, ip, 1.0f / gamma); + srgb = false; + } else if (colorconfig.equivalent(colorspace, "g18_rec709")) { + gamma = 1.8f; + if (setjmp(png_jmpbuf(sp))) // NOLINT(cert-err52-cpp) + return "Could not set PNG gAMA chunk"; + png_set_gAMA(sp, ip, 1.0f / gamma); + srgb = false; } else if (colorconfig.equivalent(colorspace, "sRGB")) { if (setjmp(png_jmpbuf(sp))) // NOLINT(cert-err52-cpp) return "Could not set PNG gAMA and cHRM chunk"; diff --git a/src/pnm.imageio/pnminput.cpp b/src/pnm.imageio/pnminput.cpp index 1b08c0d35e..2642a47083 100644 --- a/src/pnm.imageio/pnminput.cpp +++ b/src/pnm.imageio/pnminput.cpp @@ -337,7 +337,7 @@ PNMInput::read_file_header() m_spec.attribute("pnm:bigendian", m_scaling_factor < 0 ? 0 : 1); m_spec.attribute("pnm:binary", 1); } - m_spec.attribute("oiio:ColorSpace", "Rec709"); + m_spec.set_colorspace("Rec709"); return true; } diff --git a/src/python/py_colorconfig.cpp b/src/python/py_colorconfig.cpp index 0ce914b4cc..89a158e05a 100644 --- a/src/python/py_colorconfig.cpp +++ b/src/python/py_colorconfig.cpp @@ -136,7 +136,10 @@ declare_colorconfig(py::module& m) return self.equivalent(color_space, other_color_space); }, "color_space"_a, "other_color_space"_a) - .def("configname", &ColorConfig::configname); + .def("configname", &ColorConfig::configname) + .def_static("default_colorconfig", []() -> const ColorConfig& { + return ColorConfig::default_colorconfig(); + }); m.attr("supportsOpenColorIO") = ColorConfig::supportsOpenColorIO(); m.attr("OpenColorIO_version_hex") = ColorConfig::OpenColorIO_version_hex(); diff --git a/src/python/py_oiio.cpp b/src/python/py_oiio.cpp index 2479e5916c..d51531981a 100644 --- a/src/python/py_oiio.cpp +++ b/src/python/py_oiio.cpp @@ -337,6 +337,19 @@ OIIO_DECLARE_PYMODULE(PYMODULE_NAME) }, py::arg("name"), py::arg("defaultval") = ""); m.def("getattribute", &oiio_getattribute_typed); + m.def( + "set_colorspace", + [](ImageSpec& spec, const std::string& name) { + set_colorspace(spec, name); + }, + py::arg("spec"), py::arg("name")); + m.def("set_colorspace_rec709_gamma", [](ImageSpec& spec, float gamma) { + set_colorspace_rec709_gamma(spec, gamma); + }); + m.def("equivalent_colorspace", + [](const std::string& a, const std::string& b) { + return equivalent_colorspace(a, b); + }); m.def( "is_imageio_format_name", [](const std::string& name) { diff --git a/src/raw.imageio/rawinput.cpp b/src/raw.imageio/rawinput.cpp index 610110448b..0f2ba393ed 100644 --- a/src/raw.imageio/rawinput.cpp +++ b/src/raw.imageio/rawinput.cpp @@ -570,11 +570,14 @@ RawInput::open_raw(bool unpack, const std::string& name, m_processor->imgdata.params.gamm[0] = 1.0 / 2.4; m_processor->imgdata.params.gamm[1] = 12.92; } else if (Strutil::iequals(cs, "sRGB-linear") + || Strutil::iequals(cs, "lin_srgb") + || Strutil::iequals(cs, "lin_rec709") || Strutil::iequals(cs, "linear") /* DEPRECATED */) { // Request "sRGB" primaries, linear response m_processor->imgdata.params.output_color = 1; m_processor->imgdata.params.gamm[0] = 1.0; m_processor->imgdata.params.gamm[1] = 1.0; + cs = "lin_rec709"; } else if (Strutil::iequals(cs, "Adobe")) { // Request Adobe color space with 2.2 gamma (no linear toe) m_processor->imgdata.params.output_color = 2; @@ -613,7 +616,7 @@ RawInput::open_raw(bool unpack, const std::string& name, #endif } else if (Strutil::iequals(cs, "Rec2020")) { #if LIBRAW_VERSION >= LIBRAW_MAKE_VERSION(0, 21, 0) - // ACES linear + // Rec2020 m_processor->imgdata.params.output_color = 8; m_processor->imgdata.params.gamm[0] = 1.0; m_processor->imgdata.params.gamm[1] = 1.0; @@ -626,7 +629,7 @@ RawInput::open_raw(bool unpack, const std::string& name, errorfmt("raw:ColorSpace set to unknown value \"{}\"", cs); return false; } - m_spec.attribute("oiio:ColorSpace", cs); + m_spec.set_colorspace(cs); // Exposure adjustment float exposure = config.get_float_attribute("raw:Exposure", -1.0f); diff --git a/src/rla.imageio/rlainput.cpp b/src/rla.imageio/rlainput.cpp index d1bd739988..706f508089 100644 --- a/src/rla.imageio/rlainput.cpp +++ b/src/rla.imageio/rlainput.cpp @@ -402,13 +402,7 @@ RLAInput::seek_subimage(int subimage, int miplevel) // decisions based on known gamma values. For example, you want // 2.2, not 2.19998. gamma = roundf(100.0 * gamma) / 100.0f; - if (gamma == 1.f) - m_spec.attribute("oiio:ColorSpace", "Linear"); - else { - m_spec.attribute("oiio:ColorSpace", - Strutil::fmt::format("Gamma{:.2g}", gamma)); - m_spec.attribute("oiio:Gamma", gamma); - } + set_colorspace_rec709_gamma(m_spec, gamma); } float aspect = Strutil::stof(m_rla.AspectRatio); diff --git a/src/rla.imageio/rlaoutput.cpp b/src/rla.imageio/rlaoutput.cpp index 4b7e644c55..fec2736d51 100644 --- a/src/rla.imageio/rlaoutput.cpp +++ b/src/rla.imageio/rlaoutput.cpp @@ -7,7 +7,7 @@ #include #include -#include +#include #include #include #include @@ -260,9 +260,15 @@ RLAOutput::open(const std::string& name, const ImageSpec& userspec, // << m_rla.NumOfMatteChannels << " z " << m_rla.NumOfAuxChannels << "\n"; m_rla.Revision = 0xFFFE; + const ColorConfig& colorconfig = ColorConfig::default_colorconfig(); string_view colorspace = m_spec.get_string_attribute("oiio:ColorSpace"); - if (Strutil::iequals(colorspace, "Linear")) + if (colorconfig.equivalent(colorspace, "linear") + || colorconfig.equivalent(colorspace, "scene_linear")) Strutil::safe_strcpy(m_rla.Gamma, "1.0", sizeof(m_rla.Gamma)); + else if (colorconfig.equivalent(colorspace, "g22_rec709")) + Strutil::safe_strcpy(m_rla.Gamma, "2.2", sizeof(m_rla.Gamma)); + else if (colorconfig.equivalent(colorspace, "g18_rec709")) + Strutil::safe_strcpy(m_rla.Gamma, "1.8", sizeof(m_rla.Gamma)); else if (Strutil::istarts_with(colorspace, "Gamma")) { Strutil::parse_word(colorspace); float g = Strutil::from_string(colorspace); diff --git a/src/targa.imageio/targainput.cpp b/src/targa.imageio/targainput.cpp index a6eb7a046d..2a5aca30eb 100644 --- a/src/targa.imageio/targainput.cpp +++ b/src/targa.imageio/targainput.cpp @@ -440,14 +440,7 @@ TGAInput::read_tga2_header() // decisions based on known gamma values. For example, you want // 2.2, not 2.19998. gamma = roundf(100.0 * gamma) / 100.0f; - if (gamma == 1.f) { - m_spec.attribute("oiio:ColorSpace", "lin_srgb"); - // Presume that Targa files are sRGB primaries - } else { - m_spec.attribute("oiio:ColorSpace", - Strutil::fmt::format("Gamma{:.2g}", gamma)); - m_spec.attribute("oiio:Gamma", gamma); - } + set_colorspace_rec709_gamma(m_spec, gamma); } // offset to colour correction table @@ -531,7 +524,7 @@ TGAInput::get_thumbnail(ImageBuf& thumb, int subimage) // the thumbnail is in the same format as the main image but // uncompressed. ImageSpec thumbspec(res[0], res[1], m_spec.nchannels, TypeUInt8); - thumbspec.attribute("oiio:ColorSpace", "sRGB"); + thumbspec.set_colorspace("sRGB"); thumb.reset(thumbspec); int bytespp = (m_tga.bpp == 15) ? 2 : (m_tga.bpp / 8); int palbytespp = (m_tga.cmap_size == 15) ? 2 : (m_tga.cmap_size / 8); diff --git a/src/targa.imageio/targaoutput.cpp b/src/targa.imageio/targaoutput.cpp index 88a8e25258..0d7be1ccf6 100644 --- a/src/targa.imageio/targaoutput.cpp +++ b/src/targa.imageio/targaoutput.cpp @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include #include @@ -370,8 +370,17 @@ TGAOutput::write_tga20_data_fields() } // gamma -- two shorts, giving a ratio + const ColorConfig& colorconfig = ColorConfig::default_colorconfig(); string_view colorspace = m_spec.get_string_attribute("oiio:ColorSpace"); - if (Strutil::istarts_with(colorspace, "Gamma")) { + if (colorconfig.equivalent(colorspace, "g22_rec709")) { + m_gamma = 2.2f; + write(uint16_t(m_gamma * 10.0f)); + write(uint16_t(10)); + } else if (colorconfig.equivalent(colorspace, "g18_rec709")) { + m_gamma = 1.8f; + write(uint16_t(m_gamma * 10.0f)); + write(uint16_t(10)); + } else if (Strutil::istarts_with(colorspace, "Gamma")) { // Extract gamma value from color space, if it's there Strutil::parse_word(colorspace); float g = Strutil::from_string(colorspace); @@ -381,7 +390,7 @@ TGAOutput::write_tga20_data_fields() // NOTE: the spec states that only 1 decimal place of precision // is needed, thus the expansion by 10 // numerator - write(uint16_t(m_gamma * 10.0f)); + write(uint16_t(std::round(m_gamma * 10.0f))); write(uint16_t(10)); } else { // just dump two zeros in there diff --git a/src/tiff.imageio/tiffinput.cpp b/src/tiff.imageio/tiffinput.cpp index 99e1d44b97..3e4331db3f 100644 --- a/src/tiff.imageio/tiffinput.cpp +++ b/src/tiff.imageio/tiffinput.cpp @@ -1254,6 +1254,9 @@ TIFFInput::readspec(bool read_meta) // should be interpreted to be sRGB. if (m_spec.get_int_attribute("Exif:ColorSpace") != 0xffff) m_spec.attribute("oiio:ColorSpace", "sRGB"); + // NOTE: We must set "oiio:ColorSpace" explicitly, not call + // set_colorspace, or it will erase several other TIFF attribs we + // need to preserve. } // TIFFReadEXIFDirectory seems to do something to the internal state // that requires a TIFFSetDirectory to set things straight again. diff --git a/src/tiff.imageio/tiffoutput.cpp b/src/tiff.imageio/tiffoutput.cpp index 053ad690f3..d552ba32d6 100644 --- a/src/tiff.imageio/tiffoutput.cpp +++ b/src/tiff.imageio/tiffoutput.cpp @@ -873,7 +873,8 @@ TIFFOutput::open(const std::string& name, const ImageSpec& userspec, TIFFSetField(m_tif, TIFFTAG_ICCPROFILE, length, icc_profile); } - if (Strutil::iequals(m_spec.get_string_attribute("oiio:ColorSpace"), "sRGB")) + if (equivalent_colorspace(m_spec.get_string_attribute("oiio:ColorSpace"), + "sRGB")) m_spec.attribute("Exif:ColorSpace", 1); // Deal with missing XResolution or YResolution, or a PixelAspectRatio diff --git a/src/webp.imageio/webpinput.cpp b/src/webp.imageio/webpinput.cpp index f5c215eaac..fe93c6101d 100644 --- a/src/webp.imageio/webpinput.cpp +++ b/src/webp.imageio/webpinput.cpp @@ -161,7 +161,7 @@ WebpInput::open(const std::string& name, ImageSpec& spec, m_spec = ImageSpec(w, h, (m_demux_flags & ALPHA_FLAG) ? 4 : 3, TypeUInt8); m_scanline_size = m_spec.scanline_bytes(); - m_spec.attribute("oiio:ColorSpace", "sRGB"); // webp is always sRGB + m_spec.set_colorspace("sRGB"); // webp is always sRGB if (m_demux_flags & ANIMATION_FLAG) { m_spec.attribute("oiio:Movie", 1); m_frame_count = (int)WebPDemuxGetI(m_demux, WEBP_FF_FRAME_COUNT); diff --git a/testsuite/dds/ref/out.txt b/testsuite/dds/ref/out.txt index 9748b7fe14..5ca18c59a0 100644 --- a/testsuite/dds/ref/out.txt +++ b/testsuite/dds/ref/out.txt @@ -41,14 +41,14 @@ Reading ../oiio-images/dds/dds_bc6hu.dds channel list: R, G, B compression: "BC6HU" textureformat: "Plain Texture" - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" Reading ../oiio-images/dds/dds_bc6hu_hdr.dds ../oiio-images/dds/dds_bc6hu_hdr.dds : 128 x 64, 3 channel, half dds SHA-1: 86FE86288649F5375DB51CDF19C91C3651992726 channel list: R, G, B compression: "BC6HU" textureformat: "Plain Texture" - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" Reading ../oiio-images/dds/dds_bc7.dds ../oiio-images/dds/dds_bc7.dds : 16 x 8, 4 channel, uint8 dds SHA-1: 18D1977AD74C3C19E5B30459D212EBC8C7F8BC54 diff --git a/testsuite/dup-channels/ref/out.txt b/testsuite/dup-channels/ref/out.txt index 58163ca4a8..51dddf9515 100644 --- a/testsuite/dup-channels/ref/out.txt +++ b/testsuite/dup-channels/ref/out.txt @@ -6,7 +6,7 @@ out.exr : 64 x 64, 6 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Reading out2.exr out2.exr : 64 x 64, 6 channel, half openexr @@ -17,7 +17,7 @@ out2.exr : 64 x 64, 6 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "Aimg" oiio:subimages: 1 openexr:chunkCount: 4 diff --git a/testsuite/hdr/ref/out.txt b/testsuite/hdr/ref/out.txt index 7f1b7b95f4..23aa29bf05 100644 --- a/testsuite/hdr/ref/out.txt +++ b/testsuite/hdr/ref/out.txt @@ -2,7 +2,7 @@ Reading MtTamWest.hdr MtTamWest.hdr : 1214 x 732, 3 channel, float hdr channel list: R, G, B Orientation: 1 (normal) - oiio:ColorSpace: "lin_srgb" + oiio:ColorSpace: "lin_rec709" Stats Min: 0.000183 0.000240 0.000000 (float) Stats Max: 3.875000 3.875000 4.875000 (float) Stats Avg: 0.220837 0.352995 0.493945 (float) diff --git a/testsuite/iinfo/ref/out-fmt6.txt b/testsuite/iinfo/ref/out-fmt6.txt index 2ee140f242..b0b0a9df97 100644 --- a/testsuite/iinfo/ref/out-fmt6.txt +++ b/testsuite/iinfo/ref/out-fmt6.txt @@ -146,7 +146,7 @@ src/tiny-az.exr : screenWindowCenter: 0, 0 src/tiny-az.exr : screenWindowWidth: 1 src/tiny-az.exr : Software: "OpenImageIO 2.5.0.0spi : oiiotool -pattern constant:color=0.25,0.5,0.75 4x4 3 --origin +2+2 --fullsize 20x20+1+1 -o tiny-az.exr" src/tiny-az.exr : Exif:ImageHistory: "oiiotool -pattern constant:color=0.25,0.5,0.75 4x4 3 --origin +2+2 --fullsize 20x20+1+1 -o tiny-az.exr" -src/tiny-az.exr : oiio:ColorSpace: "Linear" +src/tiny-az.exr : oiio:ColorSpace: "lin_rec709" src/tiny-az.exr : oiio:subimages: 1 src/tiny-az.exr : Stats Min: 0.250000 0.500000 0.750000 (float) Stats Max: 0.250000 0.500000 0.750000 (float) @@ -173,7 +173,7 @@ src/tiny-az.exr : 4 x 4, 3 channel, float openexr screenWindowWidth: 1 Software: "OpenImageIO 2.5.0.0spi : oiiotool -pattern constant:color=0.25,0.5,0.75 4x4 3 --origin +2+2 --fullsize 20x20+1+1 -o tiny-az.exr" Exif:ImageHistory: "oiiotool -pattern constant:color=0.25,0.5,0.75 4x4 3 --origin +2+2 --fullsize 20x20+1+1 -o tiny-az.exr" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Pixel (2, 2): 0.250000000 0.500000000 0.750000000 Pixel (3, 2): 0.250000000 0.500000000 0.750000000 @@ -212,7 +212,6 @@ src/tinydeep.exr : 4 x 4, 2 channel, deep float openexr Software: "OpenImageIO 2.5.0.0spi : oiiotool -pattern constant:color=1e38,0 4x4 2 --chnames Z,A --point:color=10.0,1.0 2,2 --deepen -o tinydeep.exr" version: 1 Exif:ImageHistory: "oiiotool -pattern constant:color=1e38,0 4x4 2 --chnames Z,A --point:color=10.0,1.0 2,2 --deepen -o tinydeep.exr" - oiio:ColorSpace: "Linear" oiio:subimages: 1 openexr:chunkCount: 4 Stats Min: 1.000000 10.000000 (float) @@ -247,7 +246,6 @@ src/tinydeep.exr : 4 x 4, 2 channel, deep float openexr Software: "OpenImageIO 2.5.0.0spi : oiiotool -pattern constant:color=1e38,0 4x4 2 --chnames Z,A --point:color=10.0,1.0 2,2 --deepen -o tinydeep.exr" version: 1 Exif:ImageHistory: "oiiotool -pattern constant:color=1e38,0 4x4 2 --chnames Z,A --point:color=10.0,1.0 2,2 --deepen -o tinydeep.exr" - oiio:ColorSpace: "Linear" oiio:subimages: 1 openexr:chunkCount: 4 Pixel (0, 0): 0 samples diff --git a/testsuite/iinfo/ref/out.txt b/testsuite/iinfo/ref/out.txt index adc549a06a..78b7844cff 100644 --- a/testsuite/iinfo/ref/out.txt +++ b/testsuite/iinfo/ref/out.txt @@ -146,7 +146,7 @@ src/tiny-az.exr : screenWindowCenter: 0, 0 src/tiny-az.exr : screenWindowWidth: 1 src/tiny-az.exr : Software: "OpenImageIO 2.5.0.0spi : oiiotool -pattern constant:color=0.25,0.5,0.75 4x4 3 --origin +2+2 --fullsize 20x20+1+1 -o tiny-az.exr" src/tiny-az.exr : Exif:ImageHistory: "oiiotool -pattern constant:color=0.25,0.5,0.75 4x4 3 --origin +2+2 --fullsize 20x20+1+1 -o tiny-az.exr" -src/tiny-az.exr : oiio:ColorSpace: "Linear" +src/tiny-az.exr : oiio:ColorSpace: "lin_rec709" src/tiny-az.exr : oiio:subimages: 1 src/tiny-az.exr : Stats Min: 0.250000 0.500000 0.750000 (float) Stats Max: 0.250000 0.500000 0.750000 (float) @@ -173,7 +173,7 @@ src/tiny-az.exr : 4 x 4, 3 channel, float openexr screenWindowWidth: 1 Software: "OpenImageIO 2.5.0.0spi : oiiotool -pattern constant:color=0.25,0.5,0.75 4x4 3 --origin +2+2 --fullsize 20x20+1+1 -o tiny-az.exr" Exif:ImageHistory: "oiiotool -pattern constant:color=0.25,0.5,0.75 4x4 3 --origin +2+2 --fullsize 20x20+1+1 -o tiny-az.exr" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Pixel (2, 2): 0.250000000 0.500000000 0.750000000 Pixel (3, 2): 0.250000000 0.500000000 0.750000000 @@ -212,7 +212,6 @@ src/tinydeep.exr : 4 x 4, 2 channel, deep float openexr Software: "OpenImageIO 2.5.0.0spi : oiiotool -pattern constant:color=1e38,0 4x4 2 --chnames Z,A --point:color=10.0,1.0 2,2 --deepen -o tinydeep.exr" version: 1 Exif:ImageHistory: "oiiotool -pattern constant:color=1e38,0 4x4 2 --chnames Z,A --point:color=10.0,1.0 2,2 --deepen -o tinydeep.exr" - oiio:ColorSpace: "Linear" oiio:subimages: 1 openexr:chunkCount: 4 Stats Min: 1.000000 10.000000 (float) @@ -247,7 +246,6 @@ src/tinydeep.exr : 4 x 4, 2 channel, deep float openexr Software: "OpenImageIO 2.5.0.0spi : oiiotool -pattern constant:color=1e38,0 4x4 2 --chnames Z,A --point:color=10.0,1.0 2,2 --deepen -o tinydeep.exr" version: 1 Exif:ImageHistory: "oiiotool -pattern constant:color=1e38,0 4x4 2 --chnames Z,A --point:color=10.0,1.0 2,2 --deepen -o tinydeep.exr" - oiio:ColorSpace: "Linear" oiio:subimages: 1 openexr:chunkCount: 4 Pixel (0, 0): 0 samples diff --git a/testsuite/maketx/ref/out-macarm.txt b/testsuite/maketx/ref/out-macarm.txt index c631384d36..fc26a43e20 100644 --- a/testsuite/maketx/ref/out-macarm.txt +++ b/testsuite/maketx/ref/out-macarm.txt @@ -315,7 +315,7 @@ nan.exr : 64 x 64, 3 channel, half openexr textureformat: "Plain Texture" wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "44B96A7C3AFBF8D7621E7C6453266E5DD1962D36" oiio:subimages: 1 openexr:levelmode: 0 @@ -343,7 +343,7 @@ checker-exr.pdq : 128 x 128, 4 channel, half openexr textureformat: "Plain Texture" wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5,1" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "D924CA144A02479D1507F5910F5FC8F51EF78765" oiio:subimages: 1 openexr:roundingmode: 0 @@ -435,7 +435,6 @@ bumpslope.exr : 64 x 64, 6 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.499779,-0.000457942,-4.17233e-05,0.00197116,0.00178894,3.45764e-05" - oiio:ColorSpace: "Linear" oiio:SHA-1: "49B533110A914CE89BE0B14753A6A4CC037C964F" oiio:subimages: 1 openexr:roundingmode: 0 @@ -456,7 +455,6 @@ cdf.exr : 64 x 64, 1 channel, half openexr textureformat: "Plain Texture" wrapmodes: "black,black" oiio:AverageColor: "0.499779" - oiio:ColorSpace: "Linear" oiio:SHA-1: "00DFB31D0260CC466CDCF9FE42446D4896E655FE" oiio:subimages: 1 openexr:roundingmode: 0 @@ -488,7 +486,6 @@ bumpslope-cdf.exr : 64 x 64, 6 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.499779,-0.000457942,-4.17233e-05,0.00197116,0.00178894,3.45764e-05" - oiio:ColorSpace: "Linear" oiio:SHA-1: "49B533110A914CE89BE0B14753A6A4CC037C964F" oiio:subimages: 1 openexr:roundingmode: 0 diff --git a/testsuite/maketx/ref/out.txt b/testsuite/maketx/ref/out.txt index c9e0185d61..0c0090b4e9 100644 --- a/testsuite/maketx/ref/out.txt +++ b/testsuite/maketx/ref/out.txt @@ -315,7 +315,7 @@ nan.exr : 64 x 64, 3 channel, half openexr textureformat: "Plain Texture" wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "44B96A7C3AFBF8D7621E7C6453266E5DD1962D36" oiio:subimages: 1 openexr:levelmode: 0 @@ -343,7 +343,7 @@ checker-exr.pdq : 128 x 128, 4 channel, half openexr textureformat: "Plain Texture" wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5,1" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "D924CA144A02479D1507F5910F5FC8F51EF78765" oiio:subimages: 1 openexr:roundingmode: 0 @@ -435,7 +435,6 @@ bumpslope.exr : 64 x 64, 6 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.499779,-0.000457942,-4.17233e-05,0.00197116,0.00178894,3.45764e-05" - oiio:ColorSpace: "Linear" oiio:SHA-1: "49B533110A914CE89BE0B14753A6A4CC037C964F" oiio:subimages: 1 openexr:roundingmode: 0 @@ -456,7 +455,6 @@ cdf.exr : 64 x 64, 1 channel, half openexr textureformat: "Plain Texture" wrapmodes: "black,black" oiio:AverageColor: "0.499779" - oiio:ColorSpace: "Linear" oiio:SHA-1: "00DFB31D0260CC466CDCF9FE42446D4896E655FE" oiio:subimages: 1 openexr:roundingmode: 0 @@ -488,7 +486,6 @@ bumpslope-cdf.exr : 64 x 64, 6 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.499779,-0.000457942,-4.17233e-05,0.00197116,0.00178894,3.45764e-05" - oiio:ColorSpace: "Linear" oiio:SHA-1: "49B533110A914CE89BE0B14753A6A4CC037C964F" oiio:subimages: 1 openexr:roundingmode: 0 diff --git a/testsuite/oiiotool-attribs/ref/out-jpeg9d.txt b/testsuite/oiiotool-attribs/ref/out-jpeg9d.txt index 67ca7c7f1a..76e6b10fd0 100644 --- a/testsuite/oiiotool-attribs/ref/out-jpeg9d.txt +++ b/testsuite/oiiotool-attribs/ref/out-jpeg9d.txt @@ -68,7 +68,7 @@ attrib2.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "subimage00" oiio:subimages: 2 openexr:chunkCount: 4 @@ -81,7 +81,7 @@ attrib2.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "subimage01" oiio:subimages: 2 openexr:chunkCount: 4 @@ -96,7 +96,7 @@ attrib0.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "subimage00" oiio:subimages: 2 openexr:chunkCount: 4 @@ -108,7 +108,7 @@ attrib0.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "subimage01" oiio:subimages: 2 openexr:chunkCount: 4 diff --git a/testsuite/oiiotool-attribs/ref/out.txt b/testsuite/oiiotool-attribs/ref/out.txt index cc3ac3cc76..10dcddfe76 100644 --- a/testsuite/oiiotool-attribs/ref/out.txt +++ b/testsuite/oiiotool-attribs/ref/out.txt @@ -68,7 +68,7 @@ attrib2.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "subimage00" oiio:subimages: 2 openexr:chunkCount: 4 @@ -81,7 +81,7 @@ attrib2.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "subimage01" oiio:subimages: 2 openexr:chunkCount: 4 @@ -96,7 +96,7 @@ attrib0.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "subimage00" oiio:subimages: 2 openexr:chunkCount: 4 @@ -108,7 +108,7 @@ attrib0.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "subimage01" oiio:subimages: 2 openexr:chunkCount: 4 diff --git a/testsuite/oiiotool-copy/ref/out.txt b/testsuite/oiiotool-copy/ref/out.txt index 7914eda674..1294d0bd3e 100644 --- a/testsuite/oiiotool-copy/ref/out.txt +++ b/testsuite/oiiotool-copy/ref/out.txt @@ -13,7 +13,7 @@ allhalf.exr : 38 x 38, 5 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Reading rgbahalf-zfloat.exr rgbahalf-zfloat.exr : 38 x 38, 5 channel, half/half/half/half/float openexr @@ -26,7 +26,7 @@ rgbahalf-zfloat.exr : 38 x 38, 5 channel, half/half/half/half/float openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 explicit -d uint save result: uint8.tif : 128 x 128, 3 channel, uint8 tiff @@ -66,7 +66,7 @@ chname.exr : 38 x 38, 5 channel, float openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Reading green.exr green.exr : 64 x 64, 3 channel, half openexr @@ -76,7 +76,7 @@ green.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Reading greenmeta.exr greenmeta.exr : 64 x 64, 3 channel, half openexr @@ -89,7 +89,7 @@ greenmeta.exr : 64 x 64, 3 channel, half openexr screenWindowCenter: 0, 0 screenWindowWidth: 1 weight: 20.5 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Reading nometamerge.exr nometamerge.exr : 64 x 64, 6 channel, float openexr @@ -100,7 +100,7 @@ nometamerge.exr : 64 x 64, 6 channel, float openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Reading metamerge.exr metamerge.exr : 64 x 64, 6 channel, float openexr @@ -112,7 +112,7 @@ metamerge.exr : 64 x 64, 6 channel, float openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Testing -o with no image oiiotool WARNING: -o : out.tif did not have any current image to output. diff --git a/testsuite/oiiotool-deep/ref/out-fmt6.txt b/testsuite/oiiotool-deep/ref/out-fmt6.txt index 2562bebdd4..2ae408b557 100644 --- a/testsuite/oiiotool-deep/ref/out-fmt6.txt +++ b/testsuite/oiiotool-deep/ref/out-fmt6.txt @@ -12,7 +12,6 @@ allhalf.exr : 160 x 120, 2 channel, deep half openexr version: 1 worldToCamera: 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1.5, 0, 4, 1 worldToNDC: 2.41421, 0, 0, 0, 0, 3.21895, 0, 0, 0, 0, -1.00671, -1, 3.62132, 0, 3.92617, 4 - oiio:ColorSpace: "Linear" oiio:subimages: 1 openexr:chunkCount: 6 Stats Min: 0.011902 3.031250 (float) @@ -56,7 +55,6 @@ swaptypes.exr : 160 x 120, 2 channel, deep float/half openexr version: 1 worldToCamera: 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1.5, 0, 4, 1 worldToNDC: 2.41421, 0, 0, 0, 0, 3.21895, 0, 0, 0, 0, -1.00671, -1, 3.62132, 0, 3.92617, 4 - oiio:ColorSpace: "Linear" oiio:subimages: 1 openexr:chunkCount: 6 Stats Min: 0.011902 3.031250 (float) @@ -95,7 +93,6 @@ tinydeep.exr : 4 x 4, 2 channel, deep float openexr screenWindowCenter: 0, 0 screenWindowWidth: 1 version: 1 - oiio:ColorSpace: "Linear" oiio:subimages: 1 openexr:chunkCount: 4 Pixel (0, 0): 0 samples diff --git a/testsuite/oiiotool-deep/ref/out.txt b/testsuite/oiiotool-deep/ref/out.txt index 10ba1bf4ec..e0c5543496 100644 --- a/testsuite/oiiotool-deep/ref/out.txt +++ b/testsuite/oiiotool-deep/ref/out.txt @@ -12,7 +12,6 @@ allhalf.exr : 160 x 120, 2 channel, deep half openexr version: 1 worldToCamera: 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1.5, 0, 4, 1 worldToNDC: 2.41421, 0, 0, 0, 0, 3.21895, 0, 0, 0, 0, -1.00671, -1, 3.62132, 0, 3.92617, 4 - oiio:ColorSpace: "Linear" oiio:subimages: 1 openexr:chunkCount: 6 Stats Min: 0.011902 3.031250 (float) @@ -56,7 +55,6 @@ swaptypes.exr : 160 x 120, 2 channel, deep float/half openexr version: 1 worldToCamera: 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1.5, 0, 4, 1 worldToNDC: 2.41421, 0, 0, 0, 0, 3.21895, 0, 0, 0, 0, -1.00671, -1, 3.62132, 0, 3.92617, 4 - oiio:ColorSpace: "Linear" oiio:subimages: 1 openexr:chunkCount: 6 Stats Min: 0.011902 3.031250 (float) @@ -95,7 +93,6 @@ tinydeep.exr : 4 x 4, 2 channel, deep float openexr screenWindowCenter: 0, 0 screenWindowWidth: 1 version: 1 - oiio:ColorSpace: "Linear" oiio:subimages: 1 openexr:chunkCount: 4 Pixel (0, 0): 0 samples diff --git a/testsuite/oiiotool-fixnan/ref/out.txt b/testsuite/oiiotool-fixnan/ref/out.txt index d75c493c2c..1a4d0dc83e 100644 --- a/testsuite/oiiotool-fixnan/ref/out.txt +++ b/testsuite/oiiotool-fixnan/ref/out.txt @@ -9,7 +9,7 @@ src/bad.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Stats Min: 0.000000 0.000000 0.000000 (float) Stats Max: 1.000000 1.000000 1.000000 (float) @@ -28,7 +28,7 @@ black.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Stats Min: 0.000000 0.000000 0.000000 (float) Stats Max: 1.000000 1.000000 1.000000 (float) @@ -47,7 +47,7 @@ box3.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Stats Min: 0.000000 0.000000 0.000000 (float) Stats Max: 1.000000 1.000000 1.000000 (float) diff --git a/testsuite/oiiotool-maketx/ref/out-macarm.txt b/testsuite/oiiotool-maketx/ref/out-macarm.txt index bc82b491fc..a41942f18c 100644 --- a/testsuite/oiiotool-maketx/ref/out-macarm.txt +++ b/testsuite/oiiotool-maketx/ref/out-macarm.txt @@ -277,7 +277,7 @@ nan.exr : 64 x 64, 3 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "44B96A7C3AFBF8D7621E7C6453266E5DD1962D36" oiio:subimages: 1 openexr:levelmode: 0 @@ -306,7 +306,7 @@ bigval.exr : 2 x 2, 3 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "1e+06,1e+06,1e+06" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:ConstantColor: "1e+06,1e+06,1e+06" oiio:SHA-1: "E3D97EED7EE68F1885685F312DDD7D8773C29862" oiio:subimages: 1 @@ -349,7 +349,7 @@ checker-exr.pdq : 128 x 128, 4 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5,1" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "D924CA144A02479D1507F5910F5FC8F51EF78765" oiio:subimages: 1 openexr:roundingmode: 0 @@ -598,7 +598,6 @@ bumpslope-cdf.exr : 64 x 64, 6 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.499779,-0.000457942,-4.17233e-05,0.00197116,0.00178894,3.45764e-05" - oiio:ColorSpace: "Linear" oiio:SHA-1: "49B533110A914CE89BE0B14753A6A4CC037C964F" oiio:subimages: 1 openexr:roundingmode: 0 diff --git a/testsuite/oiiotool-maketx/ref/out-rhel7.txt b/testsuite/oiiotool-maketx/ref/out-rhel7.txt index 4b26077a2d..c3d6e1505d 100644 --- a/testsuite/oiiotool-maketx/ref/out-rhel7.txt +++ b/testsuite/oiiotool-maketx/ref/out-rhel7.txt @@ -277,7 +277,7 @@ nan.exr : 64 x 64, 3 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "44B96A7C3AFBF8D7621E7C6453266E5DD1962D36" openexr:levelmode: 0 Stats Min: 0.000000 0.000000 0.000000 (float) @@ -305,7 +305,7 @@ checker-exr.pdq : 128 x 128, 4 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5,1" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "D924CA144A02479D1507F5910F5FC8F51EF78765" openexr:roundingmode: 0 Reading grid.tx @@ -553,7 +553,6 @@ bumpslope-cdf.exr : 64 x 64, 6 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.499779,-0.000457942,-4.17233e-05,0.00197116,0.00178894,3.45764e-05" - oiio:ColorSpace: "Linear" oiio:SHA-1: "49B533110A914CE89BE0B14753A6A4CC037C964F" oiio:subimages: 1 openexr:roundingmode: 0 diff --git a/testsuite/oiiotool-maketx/ref/out-win.txt b/testsuite/oiiotool-maketx/ref/out-win.txt index 206280cfab..aac3f40417 100644 --- a/testsuite/oiiotool-maketx/ref/out-win.txt +++ b/testsuite/oiiotool-maketx/ref/out-win.txt @@ -277,7 +277,7 @@ nan.exr : 64 x 64, 3 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "44B96A7C3AFBF8D7621E7C6453266E5DD1962D36" oiio:subimages: 1 openexr:levelmode: 0 @@ -306,7 +306,7 @@ bigval.exr : 2 x 2, 3 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "1e+06,1e+06,1e+06" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:ConstantColor: "1e+06,1e+06,1e+06" oiio:SHA-1: "E3D97EED7EE68F1885685F312DDD7D8773C29862" oiio:subimages: 1 @@ -349,7 +349,7 @@ checker-exr.pdq : 128 x 128, 4 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5,1" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "D924CA144A02479D1507F5910F5FC8F51EF78765" oiio:subimages: 1 openexr:roundingmode: 0 @@ -598,7 +598,6 @@ bumpslope-cdf.exr : 64 x 64, 6 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.499779,-0.000457942,-4.17233e-05,0.00197116,0.00178894,3.45764e-05" - oiio:ColorSpace: "Linear" oiio:SHA-1: "49B533110A914CE89BE0B14753A6A4CC037C964F" oiio:subimages: 1 openexr:roundingmode: 0 diff --git a/testsuite/oiiotool-maketx/ref/out.txt b/testsuite/oiiotool-maketx/ref/out.txt index 6434a8db4c..2b2884e703 100644 --- a/testsuite/oiiotool-maketx/ref/out.txt +++ b/testsuite/oiiotool-maketx/ref/out.txt @@ -277,7 +277,7 @@ nan.exr : 64 x 64, 3 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "44B96A7C3AFBF8D7621E7C6453266E5DD1962D36" oiio:subimages: 1 openexr:levelmode: 0 @@ -306,7 +306,7 @@ bigval.exr : 2 x 2, 3 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "1e+06,1e+06,1e+06" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:ConstantColor: "1e+06,1e+06,1e+06" oiio:SHA-1: "E3D97EED7EE68F1885685F312DDD7D8773C29862" oiio:subimages: 1 @@ -349,7 +349,7 @@ checker-exr.pdq : 128 x 128, 4 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.5,0.5,0.5,1" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:SHA-1: "D924CA144A02479D1507F5910F5FC8F51EF78765" oiio:subimages: 1 openexr:roundingmode: 0 @@ -598,7 +598,6 @@ bumpslope-cdf.exr : 64 x 64, 6 channel, half openexr uvslopes_scale: 0 wrapmodes: "black,black" oiio:AverageColor: "0.499779,-0.000457942,-4.17233e-05,0.00197116,0.00178894,3.45764e-05" - oiio:ColorSpace: "Linear" oiio:SHA-1: "49B533110A914CE89BE0B14753A6A4CC037C964F" oiio:subimages: 1 openexr:roundingmode: 0 diff --git a/testsuite/oiiotool-subimage/ref/out.txt b/testsuite/oiiotool-subimage/ref/out.txt index 2964d720c5..773bdac31f 100644 --- a/testsuite/oiiotool-subimage/ref/out.txt +++ b/testsuite/oiiotool-subimage/ref/out.txt @@ -10,7 +10,7 @@ gpgr.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "layerA" oiio:subimages: 4 openexr:chunkCount: 4 @@ -23,7 +23,7 @@ gpgr.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "layerB" oiio:subimages: 4 openexr:chunkCount: 4 @@ -36,7 +36,7 @@ gpgr.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "layerC" oiio:subimages: 4 openexr:chunkCount: 4 @@ -49,7 +49,7 @@ gpgr.exr : 64 x 64, 3 channel, half openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "layerD" oiio:subimages: 4 openexr:chunkCount: 4 diff --git a/testsuite/oiiotool/ref/out.txt b/testsuite/oiiotool/ref/out.txt index e5532a1f56..9e23ae30c9 100644 --- a/testsuite/oiiotool/ref/out.txt +++ b/testsuite/oiiotool/ref/out.txt @@ -40,7 +40,7 @@ add_rgb_rgba.exr : 64 x 64, 4 channel, float openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 dumpdata: dump.exr : 2 x 2, 3 channel, half openexr diff --git a/testsuite/openexr-chroma/ref/out.txt b/testsuite/openexr-chroma/ref/out.txt index 1a7b552c71..bb656fa2d1 100644 --- a/testsuite/openexr-chroma/ref/out.txt +++ b/testsuite/openexr-chroma/ref/out.txt @@ -7,7 +7,7 @@ Reading ../openexr-images/Chromaticities/Rec709.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/Chromaticities/Rec709.exr" and "Rec709.exr" PASS @@ -21,7 +21,7 @@ Reading ../openexr-images/Chromaticities/XYZ.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/Chromaticities/XYZ.exr" and "XYZ.exr" PASS @@ -35,7 +35,6 @@ Reading ../openexr-images/LuminanceChroma/Garden.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" oiio:subimages: 1 Comparing "../openexr-images/LuminanceChroma/Garden.exr" and "Garden.exr" PASS diff --git a/testsuite/openexr-decreasingy/ref/out.txt b/testsuite/openexr-decreasingy/ref/out.txt index 22f8254a91..145bb58c03 100644 --- a/testsuite/openexr-decreasingy/ref/out.txt +++ b/testsuite/openexr-decreasingy/ref/out.txt @@ -9,7 +9,7 @@ increasingY-resize.exr : 4080 x 3072, 3 channel, half openexr screenWindowWidth: 1 XResolution: 72 YResolution: 72 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Reading increasingY-copy.exr increasingY-copy.exr : 4080 x 3072, 3 channel, half openexr @@ -22,7 +22,7 @@ increasingY-copy.exr : 4080 x 3072, 3 channel, half openexr screenWindowWidth: 1 XResolution: 72 YResolution: 72 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Reading decreasingY-resize.exr decreasingY-resize.exr : 4080 x 3072, 3 channel, half openexr @@ -35,7 +35,7 @@ decreasingY-resize.exr : 4080 x 3072, 3 channel, half openexr screenWindowWidth: 1 XResolution: 72 YResolution: 72 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Reading decreasingY-copy.exr decreasingY-copy.exr : 4080 x 3072, 3 channel, half openexr @@ -48,7 +48,7 @@ decreasingY-copy.exr : 4080 x 3072, 3 channel, half openexr screenWindowWidth: 1 XResolution: 72 YResolution: 72 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "increasingY-copy.exr" and "decreasingY-copy.exr" PASS diff --git a/testsuite/openexr-luminance-chroma/ref/out-macarm.txt b/testsuite/openexr-luminance-chroma/ref/out-macarm.txt index f192fc5a19..4bac7d872a 100644 --- a/testsuite/openexr-luminance-chroma/ref/out-macarm.txt +++ b/testsuite/openexr-luminance-chroma/ref/out-macarm.txt @@ -7,7 +7,7 @@ Reading ../openexr-images/Chromaticities/Rec709_YC.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/Chromaticities/Rec709_YC.exr" and "Rec709_YC.exr" @@ -22,7 +22,7 @@ Reading ../openexr-images/Chromaticities/XYZ_YC.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/Chromaticities/XYZ_YC.exr" and "XYZ_YC.exr" @@ -37,7 +37,7 @@ Reading ../openexr-images/LuminanceChroma/CrissyField.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/LuminanceChroma/CrissyField.exr" and "CrissyField.exr" @@ -51,7 +51,7 @@ Reading ../openexr-images/LuminanceChroma/Flowers.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/LuminanceChroma/Flowers.exr" and "Flowers.exr" @@ -65,7 +65,7 @@ Reading ../openexr-images/LuminanceChroma/MtTamNorth.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/LuminanceChroma/MtTamNorth.exr" and "MtTamNorth.exr" @@ -79,7 +79,7 @@ Reading ../openexr-images/LuminanceChroma/StarField.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/LuminanceChroma/StarField.exr" and "StarField.exr" diff --git a/testsuite/openexr-luminance-chroma/ref/out.txt b/testsuite/openexr-luminance-chroma/ref/out.txt index 90406fb308..9bb6630d48 100644 --- a/testsuite/openexr-luminance-chroma/ref/out.txt +++ b/testsuite/openexr-luminance-chroma/ref/out.txt @@ -7,7 +7,7 @@ Reading ../openexr-images/Chromaticities/Rec709_YC.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/Chromaticities/Rec709_YC.exr" and "Rec709_YC.exr" @@ -22,7 +22,7 @@ Reading ../openexr-images/Chromaticities/XYZ_YC.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/Chromaticities/XYZ_YC.exr" and "XYZ_YC.exr" @@ -37,7 +37,7 @@ Reading ../openexr-images/LuminanceChroma/CrissyField.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/LuminanceChroma/CrissyField.exr" and "CrissyField.exr" @@ -51,7 +51,7 @@ Reading ../openexr-images/LuminanceChroma/Flowers.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/LuminanceChroma/Flowers.exr" and "Flowers.exr" @@ -65,7 +65,7 @@ Reading ../openexr-images/LuminanceChroma/MtTamNorth.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/LuminanceChroma/MtTamNorth.exr" and "MtTamNorth.exr" @@ -79,7 +79,7 @@ Reading ../openexr-images/LuminanceChroma/StarField.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:luminancechroma: 1 Comparing "../openexr-images/LuminanceChroma/StarField.exr" and "StarField.exr" diff --git a/testsuite/openexr-multires/ref/out.txt b/testsuite/openexr-multires/ref/out.txt index 5e25a0e7bd..b891b21044 100644 --- a/testsuite/openexr-multires/ref/out.txt +++ b/testsuite/openexr-multires/ref/out.txt @@ -12,7 +12,7 @@ Reading ../openexr-images/MultiResolution/Bonita.exr screenWindowWidth: 1 textureformat: "Plain Texture" wrapmodes: "clamp,clamp" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:roundingmode: 0 Comparing "../openexr-images/MultiResolution/Bonita.exr" and "Bonita.exr" @@ -31,7 +31,7 @@ Reading ../openexr-images/MultiResolution/ColorCodedLevels.exr screenWindowWidth: 1 textureformat: "Plain Texture" wrapmodes: "periodic,periodic" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:roundingmode: 0 Comparing "../openexr-images/MultiResolution/ColorCodedLevels.exr" and "ColorCodedLevels.exr" @@ -50,7 +50,7 @@ Reading ../openexr-images/MultiResolution/KernerEnvCube.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 textureformat: "CubeFace Environment" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:sampleborder: 1 oiio:subimages: 1 openexr:roundingmode: 0 @@ -68,7 +68,7 @@ Reading ../openexr-images/MultiResolution/KernerEnvLatLong.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 textureformat: "LatLong Environment" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:sampleborder: 1 oiio:subimages: 1 oiio:updirection: "y" @@ -88,7 +88,7 @@ Reading ../openexr-images/MultiResolution/MirrorPattern.exr screenWindowWidth: 1 textureformat: "Plain Texture" wrapmodes: "mirror,mirror" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:roundingmode: 0 Comparing "../openexr-images/MultiResolution/MirrorPattern.exr" and "MirrorPattern.exr" @@ -107,7 +107,7 @@ Reading ../openexr-images/MultiResolution/OrientationCube.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 textureformat: "CubeFace Environment" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:sampleborder: 1 oiio:subimages: 1 openexr:roundingmode: 0 @@ -125,7 +125,7 @@ Reading ../openexr-images/MultiResolution/OrientationLatLong.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 textureformat: "LatLong Environment" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:sampleborder: 1 oiio:subimages: 1 oiio:updirection: "y" @@ -145,7 +145,7 @@ Reading ../openexr-images/MultiResolution/PeriodicPattern.exr screenWindowWidth: 1 textureformat: "Plain Texture" wrapmodes: "periodic,periodic" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:roundingmode: 0 Comparing "../openexr-images/MultiResolution/PeriodicPattern.exr" and "PeriodicPattern.exr" @@ -164,7 +164,7 @@ Reading ../openexr-images/MultiResolution/StageEnvCube.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 textureformat: "CubeFace Environment" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:sampleborder: 1 oiio:subimages: 1 openexr:roundingmode: 0 @@ -182,7 +182,7 @@ Reading ../openexr-images/MultiResolution/StageEnvLatLong.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 textureformat: "LatLong Environment" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:sampleborder: 1 oiio:subimages: 1 oiio:updirection: "y" @@ -203,7 +203,7 @@ Reading ../openexr-images/MultiResolution/WavyLinesCube.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 textureformat: "CubeFace Environment" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:sampleborder: 1 oiio:subimages: 1 openexr:roundingmode: 0 @@ -221,7 +221,7 @@ Reading ../openexr-images/MultiResolution/WavyLinesLatLong.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 textureformat: "LatLong Environment" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:sampleborder: 1 oiio:subimages: 1 oiio:updirection: "y" @@ -237,7 +237,7 @@ Reading ../openexr-images/MultiResolution/WavyLinesSphere.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/MultiResolution/WavyLinesSphere.exr" and "WavyLinesSphere.exr" PASS @@ -254,7 +254,7 @@ Reading ../openexr-images/MultiView/Adjuster.exr screenWindowWidth: 1 XResolution: 100 YResolution: 100 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/MultiView/Adjuster.exr" and "Adjuster.exr" PASS @@ -270,7 +270,7 @@ Reading ../openexr-images/MultiView/Balls.exr screenWindowWidth: 1 XResolution: 100 YResolution: 100 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/MultiView/Balls.exr" and "Balls.exr" PASS @@ -290,7 +290,6 @@ Reading ../openexr-images/MultiView/Fog.exr screenWindowWidth: 1 XResolution: 100 YResolution: 100 - oiio:ColorSpace: "Linear" oiio:subimages: 1 Comparing "../openexr-images/MultiView/Fog.exr" and "Fog.exr" PASS @@ -312,7 +311,7 @@ Reading ../openexr-images/MultiView/Impact.exr wrapmodes: "clamp,clamp" XResolution: 100 YResolution: 100 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 openexr:roundingmode: 0 Comparing "../openexr-images/MultiView/Impact.exr" and "Impact.exr" @@ -332,7 +331,7 @@ Reading ../openexr-images/MultiView/LosPadres.exr screenWindowWidth: 1 XResolution: 100 YResolution: 100 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/MultiView/LosPadres.exr" and "LosPadres.exr" PASS diff --git a/testsuite/openexr-suite/ref/out.txt b/testsuite/openexr-suite/ref/out.txt index 95bb532cd8..c8650e6801 100644 --- a/testsuite/openexr-suite/ref/out.txt +++ b/testsuite/openexr-suite/ref/out.txt @@ -14,7 +14,7 @@ Reading ../openexr-images/ScanLines/Blobbies.exr screenWindowWidth: 1 utcOffset: 28800 whiteLuminance: 50 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/ScanLines/Blobbies.exr" and "Blobbies.exr" PASS @@ -31,7 +31,7 @@ Reading ../openexr-images/ScanLines/CandleGlass.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/ScanLines/CandleGlass.exr" and "CandleGlass.exr" PASS @@ -44,7 +44,7 @@ Reading ../openexr-images/ScanLines/Cannon.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/ScanLines/Cannon.exr" and "Cannon.exr" PASS @@ -56,7 +56,7 @@ Reading ../openexr-images/ScanLines/Desk.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/ScanLines/Desk.exr" and "Desk.exr" PASS @@ -75,7 +75,7 @@ Reading ../openexr-images/ScanLines/MtTamWest.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 utcOffset: 25200 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/ScanLines/MtTamWest.exr" and "MtTamWest.exr" PASS @@ -92,7 +92,7 @@ Reading ../openexr-images/ScanLines/PrismsLenses.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/ScanLines/PrismsLenses.exr" and "PrismsLenses.exr" PASS @@ -107,7 +107,7 @@ Reading ../openexr-images/ScanLines/StillLife.exr screenWindowCenter: 0, 0 screenWindowWidth: 0.45 utcOffset: 25200 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/ScanLines/StillLife.exr" and "StillLife.exr" PASS @@ -125,7 +125,7 @@ Reading ../openexr-images/ScanLines/Tree.exr screenWindowWidth: 0.48 utcOffset: 25200 whiteLuminance: 621 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/ScanLines/Tree.exr" and "Tree.exr" PASS @@ -137,7 +137,7 @@ Reading ../openexr-images/TestImages/AllHalfValues.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/TestImages/AllHalfValues.exr" and "AllHalfValues.exr" PASS @@ -149,7 +149,7 @@ Reading ../openexr-images/TestImages/BrightRings.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/TestImages/BrightRings.exr" and "BrightRings.exr" PASS @@ -161,7 +161,7 @@ Reading ../openexr-images/TestImages/BrightRingsNanInf.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/TestImages/BrightRingsNanInf.exr" and "BrightRingsNanInf.exr" PASS @@ -173,7 +173,7 @@ Reading ../openexr-images/TestImages/GammaChart.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/TestImages/GammaChart.exr" and "GammaChart.exr" PASS @@ -185,7 +185,6 @@ Reading ../openexr-images/TestImages/GrayRampsDiagonal.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" oiio:subimages: 1 Comparing "../openexr-images/TestImages/GrayRampsDiagonal.exr" and "GrayRampsDiagonal.exr" PASS @@ -197,7 +196,6 @@ Reading ../openexr-images/TestImages/GrayRampsHorizontal.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" oiio:subimages: 1 Comparing "../openexr-images/TestImages/GrayRampsHorizontal.exr" and "GrayRampsHorizontal.exr" PASS @@ -209,7 +207,7 @@ Reading ../openexr-images/TestImages/RgbRampsDiagonal.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/TestImages/RgbRampsDiagonal.exr" and "RgbRampsDiagonal.exr" PASS @@ -221,7 +219,7 @@ Reading ../openexr-images/TestImages/SquaresSwirls.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/TestImages/SquaresSwirls.exr" and "SquaresSwirls.exr" PASS @@ -234,7 +232,7 @@ Reading ../openexr-images/TestImages/WideColorGamut.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/TestImages/WideColorGamut.exr" and "WideColorGamut.exr" PASS @@ -246,7 +244,6 @@ Reading ../openexr-images/TestImages/WideFloatRange.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" oiio:subimages: 1 Comparing "../openexr-images/TestImages/WideFloatRange.exr" and "WideFloatRange.exr" PASS @@ -270,7 +267,7 @@ Reading ../openexr-images/Tiles/GoldenGate.exr screenWindowCenter: 0, 0 screenWindowWidth: 1.15 utcOffset: 28800 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/Tiles/GoldenGate.exr" and "GoldenGate.exr" PASS @@ -285,7 +282,7 @@ Reading ../openexr-images/Tiles/Ocean.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/Tiles/Ocean.exr" and "Ocean.exr" PASS @@ -306,7 +303,7 @@ Reading ../openexr-images/Tiles/Spirals.exr screenWindowWidth: 1 utcOffset: 28800 whiteLuminance: 90 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/Tiles/Spirals.exr" and "Spirals.exr" PASS @@ -323,7 +320,7 @@ Reading ../openexr-images/Beachball/singlepart.0001.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "rgba" oiio:subimages: 1 Comparing "../openexr-images/Beachball/singlepart.0001.exr" and "singlepart.0001.exr" diff --git a/testsuite/openexr-v2/ref/out.txt b/testsuite/openexr-v2/ref/out.txt index a2c3ed96b4..2e9772be95 100644 --- a/testsuite/openexr-v2/ref/out.txt +++ b/testsuite/openexr-v2/ref/out.txt @@ -15,7 +15,7 @@ Reading ../openexr-images/v2/Stereo/composited.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "left" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "rgba.left" oiio:subimages: 4 openexr:chunkCount: 1078 @@ -32,7 +32,6 @@ Reading ../openexr-images/v2/Stereo/composited.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "left" - oiio:ColorSpace: "Linear" oiio:subimagename: "depth.left" oiio:subimages: 4 openexr:chunkCount: 1078 @@ -49,7 +48,7 @@ Reading ../openexr-images/v2/Stereo/composited.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "right" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "rgba.right" oiio:subimages: 4 openexr:chunkCount: 1078 @@ -66,7 +65,6 @@ Reading ../openexr-images/v2/Stereo/composited.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "right" - oiio:ColorSpace: "Linear" oiio:subimagename: "depth.right" oiio:subimages: 4 openexr:chunkCount: 1078 @@ -99,7 +97,7 @@ Reading ../openexr-images/v2/Stereo/Balls.exr screenWindowWidth: 1 version: 1 view: "left" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "rgba.left" oiio:subimages: 2 openexr:chunkCount: 761 @@ -117,7 +115,7 @@ Reading ../openexr-images/v2/Stereo/Balls.exr screenWindowWidth: 1 version: 1 view: "right" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "rgba.right" oiio:subimages: 2 openexr:chunkCount: 761 @@ -158,7 +156,7 @@ Reading ../openexr-images/v2/Stereo/Leaves.exr screenWindowWidth: 1 version: 1 view: "left" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "rgba.left" oiio:subimages: 2 openexr:chunkCount: 1080 @@ -173,7 +171,7 @@ Reading ../openexr-images/v2/Stereo/Leaves.exr screenWindowWidth: 1 version: 1 view: "right" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "rgba.right" oiio:subimages: 2 openexr:chunkCount: 1080 @@ -215,7 +213,7 @@ Reading ../openexr-images/Beachball/multipart.0001.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "right" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "rgba_right" oiio:subimages: 10 openexr:chunkCount: 876 @@ -231,7 +229,6 @@ Reading ../openexr-images/Beachball/multipart.0001.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "left" - oiio:ColorSpace: "Linear" oiio:subimagename: "depth_left" oiio:subimages: 10 openexr:chunkCount: 876 @@ -247,7 +244,6 @@ Reading ../openexr-images/Beachball/multipart.0001.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "left" - oiio:ColorSpace: "Linear" oiio:subimagename: "forward_left" oiio:subimages: 10 openexr:chunkCount: 876 @@ -263,7 +259,6 @@ Reading ../openexr-images/Beachball/multipart.0001.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "left" - oiio:ColorSpace: "Linear" oiio:subimagename: "whitebarmask_left" oiio:subimages: 10 openexr:chunkCount: 769 @@ -279,7 +274,7 @@ Reading ../openexr-images/Beachball/multipart.0001.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "left" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimagename: "rgba_left" oiio:subimages: 10 openexr:chunkCount: 876 @@ -295,7 +290,6 @@ Reading ../openexr-images/Beachball/multipart.0001.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "right" - oiio:ColorSpace: "Linear" oiio:subimagename: "depth_right" oiio:subimages: 10 openexr:chunkCount: 876 @@ -311,7 +305,6 @@ Reading ../openexr-images/Beachball/multipart.0001.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "right" - oiio:ColorSpace: "Linear" oiio:subimagename: "forward_right" oiio:subimages: 10 openexr:chunkCount: 876 @@ -326,7 +319,6 @@ Reading ../openexr-images/Beachball/multipart.0001.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" oiio:subimagename: "disparityL" oiio:subimages: 10 openexr:chunkCount: 876 @@ -341,7 +333,6 @@ Reading ../openexr-images/Beachball/multipart.0001.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" oiio:subimagename: "disparityR" oiio:subimages: 10 openexr:chunkCount: 876 @@ -357,7 +348,6 @@ Reading ../openexr-images/Beachball/multipart.0001.exr screenWindowCenter: 0, 0 screenWindowWidth: 1 view: "right" - oiio:ColorSpace: "Linear" oiio:subimagename: "whitebarmask_right" oiio:subimages: 10 openexr:chunkCount: 769 diff --git a/testsuite/openexr-window/ref/out.txt b/testsuite/openexr-window/ref/out.txt index 664d71e8a3..628bf69bbb 100644 --- a/testsuite/openexr-window/ref/out.txt +++ b/testsuite/openexr-window/ref/out.txt @@ -6,7 +6,7 @@ Reading ../openexr-images/DisplayWindow/t01.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t01.exr" and "t01.exr" PASS @@ -20,7 +20,7 @@ Reading ../openexr-images/DisplayWindow/t02.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t02.exr" and "t02.exr" PASS @@ -34,7 +34,7 @@ Reading ../openexr-images/DisplayWindow/t03.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t03.exr" and "t03.exr" PASS @@ -48,7 +48,7 @@ Reading ../openexr-images/DisplayWindow/t04.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t04.exr" and "t04.exr" PASS @@ -62,7 +62,7 @@ Reading ../openexr-images/DisplayWindow/t05.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t05.exr" and "t05.exr" PASS @@ -76,7 +76,7 @@ Reading ../openexr-images/DisplayWindow/t06.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t06.exr" and "t06.exr" PASS @@ -90,7 +90,7 @@ Reading ../openexr-images/DisplayWindow/t07.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t07.exr" and "t07.exr" PASS @@ -105,7 +105,7 @@ Reading ../openexr-images/DisplayWindow/t08.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t08.exr" and "t08.exr" PASS @@ -119,7 +119,7 @@ Reading ../openexr-images/DisplayWindow/t09.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t09.exr" and "t09.exr" PASS @@ -133,7 +133,7 @@ Reading ../openexr-images/DisplayWindow/t10.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t10.exr" and "t10.exr" PASS @@ -147,7 +147,7 @@ Reading ../openexr-images/DisplayWindow/t11.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t11.exr" and "t11.exr" PASS @@ -161,7 +161,7 @@ Reading ../openexr-images/DisplayWindow/t12.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t12.exr" and "t12.exr" PASS @@ -175,7 +175,7 @@ Reading ../openexr-images/DisplayWindow/t13.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t13.exr" and "t13.exr" PASS @@ -189,7 +189,7 @@ Reading ../openexr-images/DisplayWindow/t14.exr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t14.exr" and "t14.exr" PASS @@ -203,7 +203,7 @@ Reading ../openexr-images/DisplayWindow/t15.exr PixelAspectRatio: 1.5 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t15.exr" and "t15.exr" PASS @@ -217,7 +217,7 @@ Reading ../openexr-images/DisplayWindow/t16.exr PixelAspectRatio: 0.666667 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 Comparing "../openexr-images/DisplayWindow/t16.exr" and "t16.exr" PASS diff --git a/testsuite/python-colorconfig/ref/out-ocio23.txt b/testsuite/python-colorconfig/ref/out-ocio23.txt index ce01af5931..3c4903bb06 100644 --- a/testsuite/python-colorconfig/ref/out-ocio23.txt +++ b/testsuite/python-colorconfig/ref/out-ocio23.txt @@ -15,7 +15,7 @@ getNumRoles = 9 getRoles = ['aces_interchange', 'cie_xyz_d65_interchange', 'color_picking', 'color_timing', 'compositing_log', 'data', 'matte_paint', 'scene_linear', 'texture_paint'] aliases of 'scene_linear' are ['ACES - ACEScg', 'lin_ap1'] resolve('foo'): foo -resolve('linear'): ACEScg +resolve('linear'): Linear Rec.709 (sRGB) resolve('scene_linear'): ACEScg resolve('lin_srgb'): Linear Rec.709 (sRGB) resolve('srgb'): sRGB - Texture diff --git a/testsuite/python-colorconfig/ref/out-ocio24.txt b/testsuite/python-colorconfig/ref/out-ocio24.txt index df805042c9..ba4d19225a 100644 --- a/testsuite/python-colorconfig/ref/out-ocio24.txt +++ b/testsuite/python-colorconfig/ref/out-ocio24.txt @@ -15,7 +15,7 @@ getNumRoles = 9 getRoles = ['aces_interchange', 'cie_xyz_d65_interchange', 'color_picking', 'color_timing', 'compositing_log', 'data', 'matte_paint', 'scene_linear', 'texture_paint'] aliases of 'scene_linear' are ['ACES - ACEScg', 'lin_ap1', 'lin_ap1_scene'] resolve('foo'): foo -resolve('linear'): ACEScg +resolve('linear'): Linear Rec.709 (sRGB) resolve('scene_linear'): ACEScg resolve('lin_srgb'): Linear Rec.709 (sRGB) resolve('srgb'): sRGB Encoded Rec.709 (sRGB) diff --git a/testsuite/python-colorconfig/ref/out.txt b/testsuite/python-colorconfig/ref/out.txt index 1f9c18c8c7..b4d7580085 100644 --- a/testsuite/python-colorconfig/ref/out.txt +++ b/testsuite/python-colorconfig/ref/out.txt @@ -15,7 +15,7 @@ getNumRoles = 9 getRoles = ['aces_interchange', 'cie_xyz_d65_interchange', 'color_picking', 'color_timing', 'compositing_log', 'data', 'matte_paint', 'scene_linear', 'texture_paint'] aliases of 'scene_linear' are ['ACES - ACEScg', 'lin_ap1'] resolve('foo'): foo -resolve('linear'): ACEScg +resolve('linear'): Linear Rec.709 (sRGB) resolve('scene_linear'): ACEScg resolve('lin_srgb'): Linear Rec.709 (sRGB) resolve('srgb'): sRGB - Texture diff --git a/testsuite/rational/ref/out.txt b/testsuite/rational/ref/out.txt index 45aa115b1e..7d3450ff38 100644 --- a/testsuite/rational/ref/out.txt +++ b/testsuite/rational/ref/out.txt @@ -62,7 +62,7 @@ src/test.exr : 64 x 64, 3 channel, half openexr Software: "OpenImageIO 1.8.5dev : oiiotool cropped-stripped-Isabella.0.exr -cut 64x64+0+0 -o test.exr" timecodeRate: 24 Exif:ImageHistory: "oiiotool cropped-stripped-Isabella.0.exr -cut 64x64+0+0 -o test.exr" - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 smpte:TimeCode: 01:18:19:06 Comparing "src/test.exr" and "test.exr" @@ -76,5 +76,5 @@ rat2.exr : 64 x 64, 3 channel, float openexr PixelAspectRatio: 1 screenWindowCenter: 0, 0 screenWindowWidth: 1 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_rec709" oiio:subimages: 1 diff --git a/testsuite/raw/ref/out-libraw-0.20.2-gh.txt b/testsuite/raw/ref/out-libraw-0.20.2-gh.txt index 0848b7b29d..fda4b1757a 100644 --- a/testsuite/raw/ref/out-libraw-0.20.2-gh.txt +++ b/testsuite/raw/ref/out-libraw-0.20.2-gh.txt @@ -52,7 +52,6 @@ Canon:SpecularWhiteLevel: 12749 Canon:SpotMeteringMode: 0 (center) Exif:ApertureValue: 2.97085 (f/2.8) - Exif:ColorSpace: 1 Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2009:10:09 14:18:45" Exif:DateTimeOriginal: "2009:10:09 14:18:45" @@ -77,7 +76,7 @@ Exif:SubsecTimeDigitized: "00" Exif:SubsecTimeOriginal: "00" Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 2076, 1024, 1584, 1024 raw:cam_xyz: 0.6844, -0.0996, -0.0856, -0.3876, 1.1761, 0.2396, -0.0593, 0.1772, 0.6198, 0, 0, 0 @@ -167,7 +166,7 @@ Nikon:PhaseDetectAF: 0 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -188,7 +187,6 @@ Software: "Digital Camera FinePix F700 Ver2.00" Exif:ApertureValue: 3.69599 (f/3.6) Exif:BrightnessValue: 773/100 (7.73) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 30/10 (3) Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2007:01:06 14:20:22" @@ -241,7 +239,7 @@ Fujifilm:Rating: 0 Fujifilm:ShutterType: 0 Fujifilm:WB_Preset: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 131.532, 80, 97.3451, 80 raw:cam_xyz: 1.0004, -0.3219, -0.1201, -0.7036, 1.5047, 0.2107, -0.1863, 0.2565, 0.7736, 0, 0, 0 @@ -331,7 +329,7 @@ Nikon:PhaseDetectAF: 0 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -354,7 +352,6 @@ PixelAspectRatio: 1 Software: "Version 1.0 " Exif:ApertureValue: 2 (f/2.0) - Exif:ColorSpace: 1 Exif:Contrast: 0 (normal) Exif:CustomRendered: 1 (yes) Exif:DateTimeDigitized: "2008:12:19 12:29:40" @@ -378,7 +375,7 @@ Exif:Sharpness: 1 (soft) Exif:ShutterSpeedValue: 8.32193 (1/319 s) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Olympus:AFFineTune: 0 Olympus:AFPoint: 0 @@ -447,7 +444,7 @@ Exif:ShutterSpeedValue: 7.96578 (1/249 s) Exif:SubjectDistanceRange: 3 (distant) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Pentax:AFAdjustment: 0 Pentax:AFPoint: -2 @@ -496,7 +493,6 @@ Software: "DSLR-A300 v1.00" Exif:ApertureValue: 4.97085 (f/5.6) Exif:BrightnessValue: 137/100 (1.37) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 8/1 (8) Exif:Contrast: 0 (normal) Exif:CustomRendered: 0 (no) @@ -522,7 +518,7 @@ Exif:Sharpness: 0 (normal) Exif:ShutterSpeedValue: 5.90689 (1/59 s) Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 1972, 1024, 1632, 1024 raw:cam_xyz: 0.9847, -0.3091, -0.0928, -0.8485, 1.6345, 0.2225, -0.0715, 0.0595, 0.7103, 0, 0, 0 diff --git a/testsuite/raw/ref/out-libraw-0.20.2.txt b/testsuite/raw/ref/out-libraw-0.20.2.txt index b2ebfb6784..94a5d7d541 100644 --- a/testsuite/raw/ref/out-libraw-0.20.2.txt +++ b/testsuite/raw/ref/out-libraw-0.20.2.txt @@ -52,7 +52,6 @@ Canon:SpecularWhiteLevel: 12749 Canon:SpotMeteringMode: 0 (center) Exif:ApertureValue: 2.97085 (f/2.8) - Exif:ColorSpace: 1 Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2009:10:09 14:18:45" Exif:DateTimeOriginal: "2009:10:09 14:18:45" @@ -77,7 +76,7 @@ Exif:SubsecTimeDigitized: "00" Exif:SubsecTimeOriginal: "00" Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 2076, 1024, 1584, 1024 raw:cam_xyz: 0.6844, -0.0996, -0.0856, -0.3876, 1.1761, 0.2396, -0.0593, 0.1772, 0.6198, 0, 0, 0 @@ -167,7 +166,7 @@ Nikon:PhaseDetectAF: 0 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -188,7 +187,6 @@ Software: "Digital Camera FinePix F700 Ver2.00" Exif:ApertureValue: 3.69599 (f/3.6) Exif:BrightnessValue: 773/100 (7.73) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 30/10 (3) Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2007:01:06 14:20:22" @@ -241,7 +239,7 @@ Fujifilm:Rating: 0 Fujifilm:ShutterType: 0 Fujifilm:WB_Preset: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 131.532, 80, 97.3451, 80 raw:cam_xyz: 1.0004, -0.3219, -0.1201, -0.7036, 1.5047, 0.2107, -0.1863, 0.2565, 0.7736, 0, 0, 0 @@ -331,7 +329,7 @@ Nikon:PhaseDetectAF: 0 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -354,7 +352,6 @@ PixelAspectRatio: 1 Software: "Version 1.0 " Exif:ApertureValue: 2 (f/2.0) - Exif:ColorSpace: 1 Exif:Contrast: 0 (normal) Exif:CustomRendered: 1 (yes) Exif:DateTimeDigitized: "2008:12:19 12:29:40" @@ -378,7 +375,7 @@ Exif:Sharpness: 1 (soft) Exif:ShutterSpeedValue: 8.32193 (1/319 s) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Olympus:AFFineTune: 0 Olympus:AFPoint: 0 @@ -437,7 +434,7 @@ Exif:MaxApertureValue: 925/256 (3.61328) Exif:MeteringMode: 5 (pattern) Exif:ShutterSpeedValue: 8.64386 (1/399 s) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" Panasonic:AFPoint: -1 Panasonic:BlackLevel: 0, 0, 0, 0, 0, 0, 0, 0 Panasonic:CameraFormat: 8 @@ -487,7 +484,7 @@ Exif:ShutterSpeedValue: 7.96578 (1/249 s) Exif:SubjectDistanceRange: 3 (distant) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Pentax:AFAdjustment: 0 Pentax:AFPoint: -2 @@ -536,7 +533,6 @@ Software: "DSLR-A300 v1.00" Exif:ApertureValue: 4.97085 (f/5.6) Exif:BrightnessValue: 137/100 (1.37) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 8/1 (8) Exif:Contrast: 0 (normal) Exif:CustomRendered: 0 (no) @@ -562,7 +558,7 @@ Exif:Sharpness: 0 (normal) Exif:ShutterSpeedValue: 5.90689 (1/59 s) Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 1972, 1024, 1632, 1024 raw:cam_xyz: 0.9847, -0.3091, -0.0928, -0.8485, 1.6345, 0.2225, -0.0715, 0.0595, 0.7103, 0, 0, 0 diff --git a/testsuite/raw/ref/out-libraw0.20.0-gh.txt b/testsuite/raw/ref/out-libraw0.20.0-gh.txt index 5c962a14f8..7b80e3a174 100644 --- a/testsuite/raw/ref/out-libraw0.20.0-gh.txt +++ b/testsuite/raw/ref/out-libraw0.20.0-gh.txt @@ -77,7 +77,7 @@ Exif:SubsecTimeDigitized: "00" Exif:SubsecTimeOriginal: "00" Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 2076, 1024, 1584, 1024 raw:cam_xyz: 0.6844, -0.0996, -0.0856, -0.3876, 1.1761, 0.2396, -0.0593, 0.1772, 0.6198, 0, 0, 0 @@ -167,7 +167,7 @@ Nikon:PhaseDetectAF: 0 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -188,7 +188,6 @@ Software: "Digital Camera FinePix F700 Ver2.00" Exif:ApertureValue: 3.69599 (f/3.6) Exif:BrightnessValue: 773/100 (7.73) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 30/10 (3) Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2007:01:06 14:20:22" @@ -241,7 +240,7 @@ Fujifilm:Rating: 0 Fujifilm:ShutterType: 0 Fujifilm:WB_Preset: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 131.532, 80, 97.3451, 80 raw:cam_xyz: 1.0004, -0.3219, -0.1201, -0.7036, 1.5047, 0.2107, -0.1863, 0.2565, 0.7736, 0, 0, 0 @@ -331,7 +330,7 @@ Nikon:PhaseDetectAF: 0 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -354,7 +353,6 @@ PixelAspectRatio: 1 Software: "Version 1.0 " Exif:ApertureValue: 2 (f/2.0) - Exif:ColorSpace: 1 Exif:Contrast: 0 (normal) Exif:CustomRendered: 1 (yes) Exif:DateTimeDigitized: "2008:12:19 12:29:40" @@ -378,7 +376,7 @@ Exif:Sharpness: 1 (soft) Exif:ShutterSpeedValue: 8.32193 (1/319 s) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Olympus:AFFineTune: 0 Olympus:AFPoint: 0 @@ -447,7 +445,7 @@ Exif:ShutterSpeedValue: 7.96578 (1/249 s) Exif:SubjectDistanceRange: 3 (distant) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Pentax:AFAdjustment: 0 Pentax:AFPoint: -2 @@ -496,7 +494,6 @@ Software: "DSLR-A300 v1.00" Exif:ApertureValue: 4.97085 (f/5.6) Exif:BrightnessValue: 137/100 (1.37) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 8/1 (8) Exif:Contrast: 0 (normal) Exif:CustomRendered: 0 (no) @@ -522,7 +519,7 @@ Exif:Sharpness: 0 (normal) Exif:ShutterSpeedValue: 5.90689 (1/59 s) Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 1972, 1024, 1632, 1024 raw:cam_xyz: 0.9847, -0.3091, -0.0928, -0.8485, 1.6345, 0.2225, -0.0715, 0.0595, 0.7103, 0, 0, 0 diff --git a/testsuite/raw/ref/out-libraw0.20.0.txt b/testsuite/raw/ref/out-libraw0.20.0.txt index 144dd0d478..0ef132cb8d 100644 --- a/testsuite/raw/ref/out-libraw0.20.0.txt +++ b/testsuite/raw/ref/out-libraw0.20.0.txt @@ -52,7 +52,6 @@ Canon:SpecularWhiteLevel: 12749 Canon:SpotMeteringMode: 0 (center) Exif:ApertureValue: 2.97085 (f/2.8) - Exif:ColorSpace: 1 Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2009:10:09 14:18:45" Exif:DateTimeOriginal: "2009:10:09 14:18:45" @@ -77,7 +76,7 @@ Exif:SubsecTimeDigitized: "00" Exif:SubsecTimeOriginal: "00" Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 2076, 1024, 1584, 1024 raw:cam_xyz: 0.6844, -0.0996, -0.0856, -0.3876, 1.1761, 0.2396, -0.0593, 0.1772, 0.6198, 0, 0, 0 @@ -167,7 +166,7 @@ Nikon:PhaseDetectAF: 0 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -188,7 +187,6 @@ Software: "Digital Camera FinePix F700 Ver2.00" Exif:ApertureValue: 3.69599 (f/3.6) Exif:BrightnessValue: 773/100 (7.73) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 30/10 (3) Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2007:01:06 14:20:22" @@ -241,7 +239,7 @@ Fujifilm:Rating: 0 Fujifilm:ShutterType: 0 Fujifilm:WB_Preset: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 131.532, 80, 97.3451, 80 raw:cam_xyz: 1.0004, -0.3219, -0.1201, -0.7036, 1.5047, 0.2107, -0.1863, 0.2565, 0.7736, 0, 0, 0 @@ -331,7 +329,7 @@ Nikon:PhaseDetectAF: 0 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -354,7 +352,6 @@ PixelAspectRatio: 1 Software: "Version 1.0 " Exif:ApertureValue: 2 (f/2.0) - Exif:ColorSpace: 1 Exif:Contrast: 0 (normal) Exif:CustomRendered: 1 (yes) Exif:DateTimeDigitized: "2008:12:19 12:29:40" @@ -378,7 +375,7 @@ Exif:Sharpness: 1 (soft) Exif:ShutterSpeedValue: 8.32193 (1/319 s) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Olympus:AFFineTune: 0 Olympus:AFPoint: 0 @@ -437,7 +434,7 @@ Exif:MaxApertureValue: 925/256 (3.61328) Exif:MeteringMode: 5 (pattern) Exif:ShutterSpeedValue: 8.64386 (1/399 s) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" Panasonic:AFPoint: -1 Panasonic:BlackLevel: 0, 0, 0, 0, 0, 0, 0, 0 Panasonic:CameraFormat: 8 @@ -487,7 +484,7 @@ Exif:ShutterSpeedValue: 7.96578 (1/249 s) Exif:SubjectDistanceRange: 3 (distant) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Pentax:AFAdjustment: 0 Pentax:AFPoint: -2 @@ -536,7 +533,6 @@ Software: "DSLR-A300 v1.00" Exif:ApertureValue: 4.97085 (f/5.6) Exif:BrightnessValue: 137/100 (1.37) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 8/1 (8) Exif:Contrast: 0 (normal) Exif:CustomRendered: 0 (no) @@ -562,7 +558,7 @@ Exif:Sharpness: 0 (normal) Exif:ShutterSpeedValue: 5.90689 (1/59 s) Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 1972, 1024, 1632, 1024 raw:cam_xyz: 0.9847, -0.3091, -0.0928, -0.8485, 1.6345, 0.2225, -0.0715, 0.0595, 0.7103, 0, 0, 0 diff --git a/testsuite/raw/ref/out-libraw0.21.0-gh.txt b/testsuite/raw/ref/out-libraw0.21.0-gh.txt index 42f2621dc3..8136c0438a 100644 --- a/testsuite/raw/ref/out-libraw0.21.0-gh.txt +++ b/testsuite/raw/ref/out-libraw0.21.0-gh.txt @@ -49,7 +49,6 @@ Canon:SpecularWhiteLevel: 12749 Canon:SpotMeteringMode: 0 (center) Exif:ApertureValue: 2.97085 (f/2.8) - Exif:ColorSpace: 1 Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2009:10:09 14:18:45" Exif:DateTimeOriginal: "2009:10:09 14:18:45" @@ -74,7 +73,7 @@ Exif:SubsecTimeDigitized: "00" Exif:SubsecTimeOriginal: "00" Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 2076, 1024, 1584, 1024 raw:cam_xyz: 0.6844, -0.0996, -0.0856, -0.3876, 1.1761, 0.2396, -0.0593, 0.1772, 0.6198, 0, 0, 0 @@ -161,7 +160,7 @@ Nikon:NEFCompression: 3 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -182,7 +181,6 @@ Software: "Digital Camera FinePix F700 Ver2.00" Exif:ApertureValue: 3.69599 (f/3.6) Exif:BrightnessValue: 773/100 (7.73) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 30/10 (3) Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2007:01:06 14:20:22" @@ -233,7 +231,7 @@ Fujifilm:Rating: 0 Fujifilm:ShutterType: 0 Fujifilm:WB_Preset: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 131, 80, 97, 80 raw:cam_xyz: 1.0004, -0.3219, -0.1201, -0.7036, 1.5047, 0.2107, -0.1863, 0.2565, 0.7736, 0, 0, 0 @@ -320,7 +318,7 @@ Nikon:NEFCompression: 3 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -343,7 +341,6 @@ PixelAspectRatio: 1 Software: "Version 1.0 " Exif:ApertureValue: 2 (f/2.0) - Exif:ColorSpace: 1 Exif:Contrast: 0 (normal) Exif:CustomRendered: 1 (yes) Exif:DateTimeDigitized: "2008:12:19 12:29:40" @@ -367,7 +364,7 @@ Exif:Sharpness: 1 (soft) Exif:ShutterSpeedValue: 8.32193 (1/319 s) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Olympus:AFFineTune: 255 Olympus:AFFineTuneAdj: -32768, -32768, -32768 @@ -437,7 +434,7 @@ Exif:ShutterSpeedValue: 7.96578 (1/249 s) Exif:SubjectDistanceRange: 3 (distant) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Pentax:AFAdjustment: 0 Pentax:AFPoint: -2 @@ -486,7 +483,6 @@ Software: "DSLR-A300 v1.00" Exif:ApertureValue: 4.97085 (f/5.6) Exif:BrightnessValue: 137/100 (1.37) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 8/1 (8) Exif:Contrast: 0 (normal) Exif:CustomRendered: 0 (no) @@ -512,7 +508,7 @@ Exif:Sharpness: 0 (normal) Exif:ShutterSpeedValue: 5.90689 (1/59 s) Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 1972, 1024, 1632, 1024 raw:cam_xyz: 0.9847, -0.3091, -0.0928, -0.8485, 1.6345, 0.2225, -0.0715, 0.0595, 0.7103, 0, 0, 0 diff --git a/testsuite/raw/ref/out-libraw0.21.0-mac.txt b/testsuite/raw/ref/out-libraw0.21.0-mac.txt index 9a829f8f7a..2ecf30bfb2 100644 --- a/testsuite/raw/ref/out-libraw0.21.0-mac.txt +++ b/testsuite/raw/ref/out-libraw0.21.0-mac.txt @@ -49,7 +49,6 @@ Canon:SpecularWhiteLevel: 12749 Canon:SpotMeteringMode: 0 (center) Exif:ApertureValue: 2.97085 (f/2.8) - Exif:ColorSpace: 1 Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2009:10:09 14:18:45" Exif:DateTimeOriginal: "2009:10:09 14:18:45" @@ -74,7 +73,7 @@ Exif:SubsecTimeDigitized: "00" Exif:SubsecTimeOriginal: "00" Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 2076, 1024, 1584, 1024 raw:cam_xyz: 0.6844, -0.0996, -0.0856, -0.3876, 1.1761, 0.2396, -0.0593, 0.1772, 0.6198, 0, 0, 0 @@ -161,7 +160,7 @@ Nikon:NEFCompression: 3 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -182,7 +181,6 @@ Software: "Digital Camera FinePix F700 Ver2.00" Exif:ApertureValue: 3.69599 (f/3.6) Exif:BrightnessValue: 773/100 (7.73) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 30/10 (3) Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2007:01:06 14:20:22" @@ -233,7 +231,7 @@ Fujifilm:Rating: 0 Fujifilm:ShutterType: 0 Fujifilm:WB_Preset: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 131, 80, 97, 80 raw:cam_xyz: 1.0004, -0.3219, -0.1201, -0.7036, 1.5047, 0.2107, -0.1863, 0.2565, 0.7736, 0, 0, 0 @@ -320,7 +318,7 @@ Nikon:NEFCompression: 3 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -343,7 +341,6 @@ PixelAspectRatio: 1 Software: "Version 1.0 " Exif:ApertureValue: 2 (f/2.0) - Exif:ColorSpace: 1 Exif:Contrast: 0 (normal) Exif:CustomRendered: 1 (yes) Exif:DateTimeDigitized: "2008:12:19 12:29:40" @@ -367,7 +364,7 @@ Exif:Sharpness: 1 (soft) Exif:ShutterSpeedValue: 8.32193 (1/319 s) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Olympus:AFFineTune: 255 Olympus:AFFineTuneAdj: -32768, -32768, -32768 @@ -427,7 +424,7 @@ Exif:MaxApertureValue: 925/256 (3.61328) Exif:MeteringMode: 5 (pattern) Exif:ShutterSpeedValue: 8.64386 (1/399 s) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" Panasonic:AFPoint: -1 Panasonic:BlackLevel: 0, 0, 0, 0, 0, 0, 0, 0 Panasonic:CameraFormat: 8 @@ -477,7 +474,7 @@ Exif:ShutterSpeedValue: 7.96578 (1/249 s) Exif:SubjectDistanceRange: 3 (distant) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Pentax:AFAdjustment: 0 Pentax:AFPoint: -2 @@ -526,7 +523,6 @@ Software: "DSLR-A300 v1.00" Exif:ApertureValue: 4.97085 (f/5.6) Exif:BrightnessValue: 137/100 (1.37) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 8/1 (8) Exif:Contrast: 0 (normal) Exif:CustomRendered: 0 (no) @@ -552,7 +548,7 @@ Exif:Sharpness: 0 (normal) Exif:ShutterSpeedValue: 5.90689 (1/59 s) Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 1972, 1024, 1632, 1024 raw:cam_xyz: 0.9847, -0.3091, -0.0928, -0.8485, 1.6345, 0.2225, -0.0715, 0.0595, 0.7103, 0, 0, 0 diff --git a/testsuite/raw/ref/out.txt b/testsuite/raw/ref/out.txt index 7532e6d87f..6db36bd127 100644 --- a/testsuite/raw/ref/out.txt +++ b/testsuite/raw/ref/out.txt @@ -51,7 +51,6 @@ Canon:SpecularWhiteLevel: 12749 Canon:SpotMeteringMode: 0 (center) Exif:ApertureValue: 2.97085 (f/2.8) - Exif:ColorSpace: 1 Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2009:10:09 14:18:45" Exif:DateTimeOriginal: "2009:10:09 14:18:45" @@ -76,7 +75,7 @@ Exif:SubsecTimeDigitized: "00" Exif:SubsecTimeOriginal: "00" Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 2076, 1024, 1584, 1024 raw:cam_xyz: 0.6844, -0.0996, -0.0856, -0.3876, 1.1761, 0.2396, -0.0593, 0.1772, 0.6198, 0, 0, 0 @@ -166,7 +165,7 @@ Nikon:PhaseDetectAF: 0 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -187,7 +186,6 @@ Software: "Digital Camera FinePix F700 Ver2.00" Exif:ApertureValue: 3.69599 (f/3.6) Exif:BrightnessValue: 773/100 (7.73) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 30/10 (3) Exif:CustomRendered: 0 (no) Exif:DateTimeDigitized: "2007:01:06 14:20:22" @@ -238,7 +236,7 @@ Fujifilm:Rating: 0 Fujifilm:ShutterType: 0 Fujifilm:WB_Preset: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 131.532, 80, 97.3451, 80 raw:cam_xyz: 1.0004, -0.3219, -0.1201, -0.7036, 1.5047, 0.2107, -0.1863, 0.2565, 0.7736, 0, 0, 0 @@ -328,7 +326,7 @@ Nikon:PhaseDetectAF: 0 Nikon:ShootingMode: 0 Nikon:VRMode: 0 - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 463, 256, 396, 256 raw:cam_xyz: 0.7171, -0.1986, -0.0648, -0.8085, 1.5555, 0.2718, -0.217, 0.2512, 0.7457, 0, 0, 0 @@ -351,7 +349,6 @@ PixelAspectRatio: 1 Software: "Version 1.0 " Exif:ApertureValue: 2 (f/2.0) - Exif:ColorSpace: 1 Exif:Contrast: 0 (normal) Exif:CustomRendered: 1 (yes) Exif:DateTimeDigitized: "2008:12:19 12:29:40" @@ -375,7 +372,7 @@ Exif:Sharpness: 1 (soft) Exif:ShutterSpeedValue: 8.32193 (1/319 s) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Olympus:AFFineTune: 0 Olympus:AFPoint: 0 @@ -433,7 +430,7 @@ Exif:MaxApertureValue: 925/256 (3.61328) Exif:MeteringMode: 5 (pattern) Exif:ShutterSpeedValue: 8.64386 (1/399 s) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" Panasonic:AFPoint: -1 Panasonic:BlackLevel: 0, 0, 0, 0, 0, 0, 0, 0 Panasonic:CanonFocalUnits: 1 @@ -478,7 +475,7 @@ Exif:ShutterSpeedValue: 7.96578 (1/249 s) Exif:SubjectDistanceRange: 3 (distant) Exif:WhiteBalance: 1 (manual) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 Pentax:AFAdjustment: 0 Pentax:AFPoint: -1 @@ -527,7 +524,6 @@ Software: "DSLR-A300 v1.00" Exif:ApertureValue: 4.97085 (f/5.6) Exif:BrightnessValue: 137/100 (1.37) - Exif:ColorSpace: 1 Exif:CompressedBitsPerPixel: 8/1 (8) Exif:Contrast: 0 (normal) Exif:CustomRendered: 0 (no) @@ -553,7 +549,7 @@ Exif:Sharpness: 0 (normal) Exif:ShutterSpeedValue: 5.90689 (1/59 s) Exif:WhiteBalance: 0 (auto) - oiio:ColorSpace: "linear" + oiio:ColorSpace: "lin_rec709" oiio:MakerNoteOffset: 0 raw:cam_mul: 1972, 1024, 1632, 1024 raw:cam_xyz: 0.9847, -0.3091, -0.0928, -0.8485, 1.6345, 0.2225, -0.0715, 0.0595, 0.7103, 0, 0, 0 diff --git a/testsuite/rla/ref/out.txt b/testsuite/rla/ref/out.txt index fa529c6850..b0cbdd1e01 100644 --- a/testsuite/rla/ref/out.txt +++ b/testsuite/rla/ref/out.txt @@ -90,7 +90,7 @@ Reading ../oiio-images/rla/imgmake_rgba_nc10.rla compression: "rle" HostComputer: "hawk073.spimageworks.com" oiio:BitsPerSample: 10 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_srgb" rla:Aspect: " 1.333" rla:BlueChroma: 0.14, 0.14, 0.08 rla:ColorChannel: "rgb" @@ -193,7 +193,7 @@ Reading ../oiio-images/rla/imgmake_rgba_nc16.rla compression: "rle" HostComputer: "hawk073.spimageworks.com" oiio:BitsPerSample: 16 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_srgb" rla:Aspect: " 1.333" rla:BlueChroma: 0.14, 0.14, 0.08 rla:ColorChannel: "rgb" @@ -296,7 +296,7 @@ Reading ../oiio-images/rla/imgmake_rgba_nc8.rla compression: "rle" HostComputer: "hawk073.spimageworks.com" oiio:BitsPerSample: 8 - oiio:ColorSpace: "Linear" + oiio:ColorSpace: "lin_srgb" rla:Aspect: " 1.333" rla:BlueChroma: 0.14, 0.14, 0.08 rla:ColorChannel: "rgb"