[FFmpeg-devel] [PATCH 0/5] adding ICC profile support to MOV decode/encode

vectronic hello.vectronic at gmail.com
Mon Oct 7 13:40:41 EEST 2019


> On 23 Sep 2019, at 21:43, vectronic <hello.vectronic at gmail.com> wrote:
> 
> As discussed earlier on this mailing list, I needed to implement support for reading and writing ICC profiles which can be stored in MOV/MP4 sample descriptor colour information.
> 
> The overall changes are:
> 
> 1. Add a new enum value AVPacketSideDataType.AV_PKT_DATA_ICC_PROFILE. (Not sure if update to APIchanges is correct.) Added to ff_decode_frame_props() to ensure ICC profiles are attached to decoded frames. Added support for the new side data type to format dump as well.
> 
> 2. Use av_stream_new_side_data() when reading from the MOV/MP4 in libavformat/mov.c => mov_read_colr() to store ICC profile if it exists.
> 
> 3. Use av_stream_get_side_data() when writing to the MOV/MP4 in libavformat/moveenc.c => mov_write_colr_tag() to write ICC profile it it exists. Added a movflag 'prefer_icc' to ensure backwards compatible behaviour of 'write_colr' movflag.
> 
> 
> 
> 
> vectronic (5):
>  API: add AV_PKT_DATA_ICC_PROFILE to AVPacketSideDataType
>  DOC: add AV_PKT_DATA_ICC_PROFILE to API changes
>  avformat/mov: add ICC profile support for colr atom
>  avformat/mov: whitespace indent
>  avformat/movenc: add ICC profile support to colr atom. If 'write_colr' movflag
>    is set, then movflag 'prefer_icc' can be used to first look for an
>    AV_PKT_DATA_ICC_PROFILE entry to encode. If ICC profile doesn't
>    exist, default behaviour enabled by 'write_colr' occurs.
> 
> doc/APIchanges        |  3 +++
> libavcodec/avcodec.h  |  6 +++++
> libavcodec/avpacket.c |  1 +
> libavcodec/decode.c   |  1 +
> libavformat/dump.c    |  3 +++
> libavformat/mov.c     | 63 +++++++++++++++++++++++++------------------
> libavformat/movenc.c  | 23 ++++++++++++++--
> libavformat/movenc.h  |  1 +
> 8 files changed, 73 insertions(+), 28 deletions(-)
> 
> -- 
> 2.21.0 (Apple Git-122)
> 

Hello,

Wondering if anyone would be able to review these changes? I’m currently using this in production and it is working well.

Thanks




More information about the ffmpeg-devel mailing list