AcademySoftwareFoundation / AcademySoftwareFoundation/openfx

Desired Premult.

Open
#66 3 comments 0 reactions 0 assignees View on GitHub
standard change
Dominant language
C++
Stars
570
Forks
152
Avg merge
5m
Merged PRs (30d)
2

Description

## Standard Change Workflow
- [x] Create proposal as issue (you're doing this now!)
- [x] Tag this issue with `standard change` tag
- [ ] Identify subcommittee: at least one plug-in vendor, and at least one host
- [x] Discuss the idea in this issue
- [x] Write new or updated code
- [x] Publish updates as a pull request on a `feature/PROPOSAL-NAME` branch
- [x] Make sure that PR references this issue number to keep them in sync
- [ ] Discuss and review code in the PR
- [ ] When subcommittee signs off and other members don't have any further review comments,
maintainer merges PR to master which closes PR and issue

## Requirements for accepting a standard change:
- [x] Header files updated
- [ ] Documentation updated
- [ ] Release notes added
- [ ] Compatibility review completed
- [ ] Working code demonstrated with at least one host and one plugin
- [ ] At least two members sign off
- [ ] No further changes requested from membership

# Summary
Add a new plugin property that hosts can set to suggest that effects should premultiply their output.

# Motivation

The standard currently has premult properties for input clips; however there is no way for the host to communicate to a generator plugin, or a plugin taking only an opaque or RGB input, whether it should premultiply its output or not.

# Explanation
This effect property allows an effect generating alpha to know whether to output premult or straight alpha. If the input is `ImageOpaque` or the effect's type is `Generator` it can't use its input(s) to know this.

The value is only advisory; the effect may or may not check this property and may in any case create output clips of any premultiplication state.

Effects using this property should still tag their outputs with the correct premultiplication state.

The property is set on the image effect's effect instance.

## Context
This property, when set by the host, should be set during the following calls:
* `kOfxImageEffectActionBeginSequenceRender`
* `kOfxImageEffectActionRender`
* `kOfxImageEffectActionEndSequenceRender`

## Valid Values
* `kOfxImagePreMultiplied`
* `kOfxImageUnPreMultiplied`

# Documentation Impact
* Should be added to the Programming Guide in the discussion of premult.
* Should be added to the Programming Reference in the discussion of premult, and in the section oin the properties valid on an effect instance.

see pull request #62: Desired Premult

Contributor guide

Open the contributing guide

Research direction

Start with the standard change workflow and pull request #62, then review the header updates and the Programming Guide and Programming Reference sections named under Documentation Impact. Done requires documentation and release notes, compatibility review, a working host/plugin demonstration, and the required member sign-offs.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
api, documentation
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.