How to force "full range" flag on export

I have an ffmpeg command to remap audio tracks to discrete channels in a ProRes 4444 quicktime file. Even if the input video is copied to the output, the exported file is interpreted by a professional video player software as video range (16-234 values) instead of the original full range (0-255 values), making it look more contrasted.

The content is actually correct, changing manually the range setting in the player software gives back the right light range, so I think the output file just lose some kind of range flag.

I already tried the following options without results:

  • -colorspace bt709 -movflags +write_colr 
    
  • -dst_range 1 -color_range 2 
    
  • -vf scale=out_range=full 
    
  • -vf scale=in_range=full:out_range=full
    

Original command is:

ffmpeg -i F:\_IMPORT\TST_ProRes4444_4k.mov -map 0:0 -c copy -map 0:1 -c copy -map_channel 0.2.0:0.2 -c:a pcm_s24le F:\_EXPORT\TEST\test.mov

Thank you for your help.


The Quicktime MOV format does not support signaling color range.

The remaining component values that fall outside the mapping for scheme B (1 to 15 and 241 to 254 for n = 8 bits and 4 to 63 and 961 to 1019 for n = 10 bits) accommodate occasional filter undershoot and overshoot in image processing. In some applications, these values are used to carry other information (e.g., transparency). The writer of a QuickTime image may use these values and the reader of a QuickTime image must expect these values.

from https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html#//apple_ref/doc/uid/TP40000939-CH205-143693

Also see https://www.mail-archive.com/[email protected]/msg19491.html