[FFmpeg-user] Setting colour range.

Paul B Mahol onemda at gmail.com
Tue Nov 27 22:29:30 EET 2018


On 11/27/18, Kieran O Leary <kieran.o.leary at gmail.com> wrote:
> On Tue, Nov 27, 2018 at 8:03 PM Dave Rice <dave at dericed.com> wrote:
>
>>
>> > 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
>>
>
> I tried adding the -movflags +write_colr argument in my testing but it
> didn't do anything. And it looks like the colr atom doesn't store a value
> for colour range anyhow:
> https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html
> But +1 to enabling by default.

I think prores encoder will soon get color_range writing from prores_ks.


More information about the ffmpeg-user mailing list