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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions