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) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".