[FFmpeg-user] Setting colour range.

Dave Rice dave at dericed.com
Tue Nov 27 22:03:38 EET 2018

> On Nov 27, 2018, at 10:29 AM, Kieran O Leary <kieran.o.leary at gmail.com> wrote:
> On Tue, 27 Nov 2018, 15:21 Paul B Mahol <onemda at gmail.com <mailto:onemda at gmail.com> wrote:
>> On 11/27/18, Kieran O'Leary <kieran.oleary at irishfilm.ie> wrote:
>>> When creating MOV files, setting the -color_range option does not seem to
>>> have any effect. What am I doing wrong? Could it have anything to do with
>>> the removal of the yuvj pixel formats?
>>> Is setting this metadata even possible in the MOV container, or is it
>>> something that is expected to be flagged at the stream level? I was
>> having
>>> difficulty finding info on where this info is even located in a file in
>>> both:
>>> https://developer.apple.com/library/archive/technotes/tn2162/_index.html
>> and
>> https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFPreface/qtffPreface.html
>>> Worrying, if I set a value of jpeg, mpeg, or 0, ffprobe says that the
>> file
>>> has TV range.
>>> How to replicate:
>>> $ ./ffmpeg -f lavfi -i testsrc  -color_range jpeg -c:v prores -t 1
>>> prores_jpeg.mov
>> That encoder incorrectly never changes color range.
> Can this metadata ever be set at a container level for mov? Must it always
> be the stream that holds this info?

By default the colr atom is not written by ffmpeg, even when mandated (such as described in TN2162 for uncompressed in QuickTime). You can enable the colr atom while muxing by adding, -movflags write_colr. It’s been over 4 years since Vittorio added colr atom support, perhaps time to consider making it enabled by default.
Dave Rice 

More information about the ffmpeg-user mailing list