Workflow for render yuvj (color range: jpeg) to yuv (color range:mpeg)

For historical reasons, almost every piece of video software uses limited (mpeg or TV) range. But sometimes you have to deal with files encoded utilizing the full (jpeg) range. For example, some video cameras encode full range files. The simplest way to deal with them is just to re-encode in limited range4:

        ffmpeg -i input.mp4 -c:v libx264 -preset fast -crf 19
-c:a copy -pix_fmt yuv420p output.mp4

However, this is not an option for you if you're either a perfectionist or trying to fight color banding. Color banding is a video artifact that could be visible in smooth areas of the video.

Here's an example: https://youtu.be/KL8CIZej19o

If you don't see the ugly background, then you don't need to worry about the whole issue. Color banding is different from compression artifacts. You can't fix it just by increasing the bitrate of your video. Color banding comes from color correction performed too much or in inaccurate way. And it accumulates, so if you have it, then you should get rid of dynamic range compression every step of the way.

CINELERRA-GG has a native full color range support, and you can enable it via:

Settings Preferences Appearance YUV color range: JPEG

Also see: Color section and Color Space and Color Range Affecting Playback.

Note how everything will lose contrast in the Compositor window and become grey-ish. But, in this mode, CINELERRA-GG will also render full range video files. There are two reasons why it could be a bad thing:

That's why you should make a couple of corrections:

Since you're already fighting color banding, you should choose 32-bit colors via Settings Format Color model, the RGB(A)-FLOAT option. Note this could slow down your playback and rendering.


Footnotes

... range4
credit to Tarantas.
The CINELERRA-GG Community, 2021
https://www.cinelerra-gg.org