Lossless 10-bit colorspace (yuvj420p) video output Using GoPro footage which are in 10-bit color space (yuvj420p), and using Blender as a video editor, the output seems to always be in 8-bit color space.

How can I preserve the 10-bit color space?

Tried:


Output: AVI RAW
Output: H.264 + Encoding Format: H.264 + [X] Lossless
Output: H.264 + Encoding Format: AVI + Codec: H.264 + [X] Lossless
Output: H.264 + Encoding Format: Quicktime + Codec: H.264 + [X] Lossless
Output: H.264 + Encoding Format: AVI + Codec: HuffYUV
Float color space in sequencer


No matter these, in the end ffprobe always shows it's not anymore in yuvj420p but in yuv420p (or what should be another 8-bit color space format). This results in washed out colors visible on HDR monitors (barely noticeable on older monitors).

Similar questions without good answers yet:


Lossless compression for video with audio
What setting should I use to keep the same quality of video file?
⚓ T44827 Video sequencer does not recognize pixel format 'yuvj420p' correctly


Note: Input video file format (from ffprobe):

Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 1920x1080 [SAR 1:1 DAR 16:9], 8217 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 119.88 tbc (default)
You can't.

When working on footage, it is always most prudent to operate on the frame level, with controlled decoding to the file format you choose. Codecs always have been and always will be an awful choice.

Currently in Blender, all codecs via the VSE (and otherwise I believe) are decoded using the FFMPEG call that converts them to an 8 bit buffer.

So, decode outside to a suitable 16 bit container such as TIFF, then properly linearize the results via a controlled transform.

Also, “8 bit” is not a colour space, nor is “10 bit”, nor is “float color space”.