google / google/libultrahdr

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

Open
#398 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
344
Forks
67
Avg merge
15d 2h
Merged PRs (30d)
7

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.