Wrong Colorspace Taging?

When the source is not BT.709 (for example, all SD content) and you set the color space under Project Settings → Color Space (e.g., BT.470BG), Topaz upscale does correctly conversion to BT.709 which is SDR Standard for HD content. Problem: The Topaz output could be incorrectly taged as BT.470, while the upscaled stream is BT.709.

When you play this file in VLC, it appears correct because VLC looks deeper into the stream and takes it as BT.709. However, in other players or workflows, it may be interpreted as BT.470 even though it is actually BT.709, resulting in super worse color shifts.

Solution: Topaz should fix this outputs gets correctly taged as BT.709 color space. Until this is fixed, a workaround is to re-tag color shifted Topaz outputs as BT.709.

ffmpeg -i "INPUT.mkv" -c:v ffv1 -level 3 -g 1 -slicecrc 1 \
-color_primaries bt709 -color_trc bt709 -colorspace bt709 \
-c:a copy "OUTPUT.mkv"

OR

convert your SD source to BT.709, so this is not a common colorspace for lowres SD but Topaz can take it directly as bt.709 for upscaling.

ffmpeg -i "INPUT.mkv" -vf "zscale=tin=bt470bg:pin=bt470m:t=bt709:m=bt709:r=tv,format=yuv420p10le" -c:v ffv1 -level 3 -g 1 -slicecrc 1 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -c:a copy "OUTPUT.mkv"

using “zscale”, you need the master(full) ffmpeg build because zscale is not included in the essential build.

Do you have a log where this is being seen on a file to share with the devs to look further into? Going to try and get this tested and replicated on our end for their knowledge as well.

My understanding is that the Project Settings simply overrides the metadata tags for the exported output file, and no actual colour space conversions take place based on those settings.

Looking back at an older version where you could still examine the FFmpeg command used for export, the following code was inserted:

setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709

Looking at online sources suggests that this code only alters the metadata tags and nothing more.

Has this whole process been changed in recent versions of Topaz Video?

UPDATE: Based on a test I’ve done, I don’t believe anything has changed.