Skip to content

Request: "API-5" to transcode between supported formats #398

Description

@gregbenz

In pursuing support for transcoding in 3rd party applications, it has become clear that it would be useful if both the C++ and CLI utility offered a mechanism to offer transcodes via libultrahdr. I'll call this "API-5". I am happy to help support, but would welcome feedback on the ideal shape of a solution here.

I believe the following should be supported:

  • input / output may be gain map encoding/format supported by libultrahdr for decoding / encoding (ISO/XMP JPG now, ISO AVIF/HEIF when added to libultra)
  • supported operations include: resize, crop, mirror (all supported already)

I believe the interface should include:

  • a single C++ high-level wrapper function to manage the request, and delegates as needed to execute.
  • support in the CLI utility to call that function. I need to review the current CLI flags to see if they are sufficient. At a minimum, it should include some simple logic to reject/warn for invalid requests (such as trying to alter gain map metadata or output raw file formats, as this should be unchanged for this kind of transcoding - I don't think this transcoding needs to offer features like changes from 3 to 1 channel, etc).

I believe this work should come after the current roadmap (support for AVIF/HEIF) is complete, I am just raising at this time to start a discussion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions