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".

Reply via email to