avutil/csp: add EOTF function definitions

The existing av_csp_trc_func_from_id() mostly implements the OETF, except for
PQ. As such, we are currently missing a precise definition of an ITU-R EOTF.
Introduce the new functions av_csp_itu_eotf() and av_csp_itu_eotf_inv(), to fill
this void. Note that this is not possible in all cases, e.g. AVCOL_TRC_LOG which
has no corresponding EOTF definition in any ITU-R standard.

Note that we cannot implement the proper HLG and SMPTE 428 OOTFs without access
to all three color channels, because they are not independent per channel. As a
result, we need to define them on double[3] instead of double (*func)(double).
This commit is contained in:
Niklas Haas
2024-11-25 13:52:30 +01:00
parent bf0a6c4111
commit 06f084468e
4 changed files with 242 additions and 1 deletions

View File

@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07
API changes, most recent first:
2024-12-05 - xxxxxxxxxx - lavu 59.49.100 - csp.h
Add av_csp_itu_eotf() and av_csp_itu_eotf_inv().
2024-12-05 - xxxxxxxxxx - lavu 59.48.100 - csp.h
Add av_csp_trc_func_inv_from_id().