[FFmpeg-devel] ICC profile support in avcodec

Niklas Haas ffmpeg at haasn.xyz
Tue Jun 28 16:41:05 EEST 2022


Hi,

I'm not entirely sure I'm happy with this series. I would appreciate any
sort of comment.

The motivating use case is given in #9672 and #9673 - basically, it's
somewhat expected that ffmpeg should, out of the box, handle files with
embedded ICC profiles, mapping between them and its internal color enums
as possible/needed.

The ICC profile *decoding* code works well as-is as far as I'm
concerned, but I might end up deciding to scrap the ICC *encoding* code
in avcodec/encode.c in favor of letting encoders handle that themselves,
simply because it allows mjpegenc/apng do the correct thing (as opposed
to the status quo of an ICC profile being attached to every single
frame, which might not be the smartest choice).

I'm also not entirely happy with the way fflcms2 is being shared between
libavcodec and libavfilter, but we have a precedent here (vulkan.c) and
it's probably still better than locking this API into ABI hell for all
eternity. I can see myself wanting to make more changes to it, in the
future.




More information about the ffmpeg-devel mailing list