Hi, thanks for the response!

Good call on the error check. It's reporting:

err after ImageInput::create() failure was: Unsupported compression type

Not sure what type it is yet, but that's an excellent clue.

Sorry I was unclear on the message, I just found it in the code itself in
the version (1.8.12) I'm upgrading from and thought it might be related,
but it doesn't seem to be.

bool
DDSOutput::open (const std::string &name, const ImageSpec &userspec,
                 OpenMode mode)
{
    error ("DDS writing is not supported yet, please poke Leszek in the "
        "mailing list");
    return false;
}

               -- Alex

On Wed, Nov 16, 2022 at 6:02 PM Larry Gritz <l...@larrygritz.com> wrote:

> We don't support DDS for output, it's true.
>
> I don't see that error message anywhere in the source code (either at the
> current head, or at v2.3.16.0), so I'm not sure where that's coming from. I
> can believe it was there at some point. Is that a message from the much
> older OIIO version you are converting FROM?
>
> As far as the input, that call should work. What is the value of
> inputFile?
>
> ImageInput::open() returns an open II, but ImageInput::create just creates
> an II capable of being opened for that format -- i.e., it doesn't try to
> open the file. So I'm curious as to what could be broken, unless your OIIO
> is built with support for DDS disabled?
>
> After the failed
>
> OIIO::ImageInput::unique_ptr in = OIIO::ImageInput::create(inputFile);
>
> what happens with this:
>
>         if (! in) {
>             std::string err = OIIO::geterror();
>             std::cout << "err after ImageInput::create(" << inputFile <<
> ") failure was: " << err << "\n";
>         }
>
> Is that where you're seeing the message about Leszek? Or do you see a
> different error message?
>
>
> On Nov 16, 2022, at 5:29 PM, Alex Suter <asu...@ilm.com> wrote:
>
> Heya,
>
> Judging by the docs this isn't a preferred format, so I apologize.
>
> I'm upgrading some code from an older OIIO to 2.3.16 and the unit test
> that reads in some example dds files is failing as:
>
>   OIIO::ImageInput::unique_ptr in = OIIO::ImageInput::create(inputFile);
>
> seems to return a nullptr. Other formats read fine. Looking at the header
> ImageInput::create reports that it will return an empty pointer if the
> required writer was not able to be created which might be what's happening.
>
> ddsoutput code says, "DDS writing is not supported yet, please poke Leszek
> in the mailing list."
>
> I don't actually need DDS writing, but am I doing something wrong in the
> create() call so as to get the nullptr in recent versions of OIIO? Or is
> reading dds through the create interface ddeprecated and there's a better
> way?
>
> Thanks,
> Alex
>
> --
> |o|  Alex Suter  |o|  R&D SF  |o|
> _______________________________________________
> Oiio-dev mailing list
> Oiio-dev@lists.openimageio.org
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>
>
> --
> Larry Gritz
> l...@larrygritz.com
>
>
>
>
>
> _______________________________________________
> Oiio-dev mailing list
> Oiio-dev@lists.openimageio.org
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>


-- 
|o|  Alex Suter  |o|  R&D SF  |o|
_______________________________________________
Oiio-dev mailing list
Oiio-dev@lists.openimageio.org
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to