The write_colr flag has been marked as experimental for over 5 years.
It should be safe to enable its behavior by default as follows:
- Write the colr atom by default for mp4/mov if any of the following:
- The primaries/trc/matrix are all specified, OR
- There is an ICC profile, OR
- The user specified +write_colr
- Keep the write_colr flag for situations where the user wants to
write the colr atom even if the color info is unspecified (e.g.,
http://ffmpeg.org/pipermail/ffmpeg-devel/2020-March/259334.html)
This fixes https://trac.ffmpeg.org/ticket/7961
Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
{"delay_moov","Delay writing the initial moov until the first fragment is cut, or until the first fragment flush",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_DELAY_MOOV},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},
{"delay_moov","Delay writing the initial moov until the first fragment is cut, or until the first fragment flush",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_DELAY_MOOV},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},
{"global_sidx","Write a global sidx index at the start of the file",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_GLOBAL_SIDX},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},
{"global_sidx","Write a global sidx index at the start of the file",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_GLOBAL_SIDX},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},
{"skip_sidx","Skip writing of sidx atom",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_SKIP_SIDX},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},
{"skip_sidx","Skip writing of sidx atom",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_SKIP_SIDX},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},
{"write_colr","Write colr atom (Experimental, may be renamed or changed, do not use from scripts)",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_WRITE_COLR},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},
{"write_colr","Write colr atom even if the color info is unspecified (Experimental, may be renamed or changed, do not use from scripts)",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_WRITE_COLR},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},
{"prefer_icc","If writing colr atom prioritise usage of ICC profile if it exists in stream packet side data",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_PREFER_ICC},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},
{"prefer_icc","If writing colr atom prioritise usage of ICC profile if it exists in stream packet side data",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_PREFER_ICC},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},
{"use_metadata_tags","Use mdta atom for metadata.",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_USE_MDTA},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},
{"use_metadata_tags","Use mdta atom for metadata.",0,AV_OPT_TYPE_CONST,{.i64=FF_MOV_FLAG_USE_MDTA},INT_MIN,INT_MAX,AV_OPT_FLAG_ENCODING_PARAM,"movflags"},