@FranceBB
Well the automatic detection from a player does not apply for me because I'm converting to progressive and with a resolution of 640x480 with no flags VLC seems to apply some arbitrary colorspace, definitely not BT601. I'm assuming it's using BT470BG. That led me to a lot of frustration and opening a bug report on VLC.
And I don't use ffmpeg to flag the MKV file because ffmpeg outputs a Matroska V2 file and those flags are not compliant with that spec, so when ran against mkclean to optimize the file (cues in front), the flags are dropped. I use this for smpte170m and then a mkclean. I believe mkvmerge creates a V4 MKV by default. I also had to compile mkclean from source to change the doc_read_type to V2 for the V4 matroska (--doctype 6) because nothing seems to support V4 doc_read_type.
Code:
mkvmerge.exe --colour-range 0:1 --colour-transfer-characteristics 0:6 --colour-primaries 0:6 --colour-matrix-coefficients 0:6 -o OUTPUT INPUT
Thank you for the clarification on the colors. I'll just flag all of them as BT601/smpte170m.