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
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".