Hello.
Thanks for reading my topic.
I see enconders have options to select an color format for color primaries , color transfer and color space.
I see for 720P and 1080P the color format is bt709.
Thus for better quality the correct is choice the same color format bt709 for color primaries, color transfer and color space ?
Selecting the same color format optimize the enconding compression ? Selecting alternate colors format for the same video file can break the quality ?
Have an nice week.
+ Reply to Thread
Results 1 to 12 of 12
-
-
Technically it has nothing to do with quality. Only if you use wrong flag for a video, it is shown in slightly wrong colors.
Those are just flags in your video, telling a player what equations to use to get RGB values. Your video is encoded using YUV values, so to view any YUV video, it needs to be converted to RGB for a preview on RGB screen.
So if you know those flags, you set them the same, as your original video was in encoding settings.
Other thing is to change them. For example, you have matrix BT601, your original video, your video was 720x480, and you are upscaling to HD resolution, so you better use BT709 flags for upscaled video, to prevent confusion during playback. To do that, you have to change those values, not just flags, so you have to encode to your new values to your new matrix, primaries, transfer. You cannot just simply change your flags only.
so:
- so if you know your original flags, encode them the same
- if you are changing them, you convert, to those matrixes, if conversion effect is not available, you might get hands on some LUT, that does the same, or apps like avisynth or vapoursynth do that (not easy to use, where you specify input and convert to output).
Or for example ffmpeg, I just google it, do not use ffmpeg for these conversion:
Code:ffmpeg -i input.mp4 -vf "colorspace=all=bt709:iall=bt601-6-625" output.mp4
all=bt709: Sets the output color space, primaries, and transfer function to BT.709.
iall=bt601-6-625: Specifies that the input color space, primaries, and transfer function should be treated as BT.601-6-625 (for PAL). For NTSC, you would use iall=bt601-6-525. -
"it needs to be converted to RGB for a preview on RGB screen."
Here the display monitor use YCbCr444 instead RGB and even so is done that convertion between colors ?
Color transfer is the value used to convert YUV to RGB ?
"For example, you have matrix BT601, your original video, your video was 720x480, and you are upscaling to HD resolution, so you better use BT709 flags for upscaled video"
You are saying about matrix means color primaries or color transfer ?
If the video originally is 480I bt601 using xvid converting for H.264 without changing the resolution the correct way is when enconding select bt709 for both color primaries , color transfer and color space ?Last edited by Aug; 23rd Sep 2025 at 15:07.
-
-
You are saying about matrix means color primaries or color transfer ?
Code:color primaries, the color matrix, and transfer characteristics work together to define a specific color space. Color primaries specify the exact red, green, and blue hues that form the foundation of the color space. The color matrix (also called matrix coefficients) describes the mathematical relationship between RGB components and other color components, like Y'CbCr, allowing for transformations between different color spaces. The transfer characteristic, also known as gamma correction, is a function that converts linear RGB values to non-linear ones, which is necessary for display devices to interpret and present colors accurately
-
" So if you know those flags, you set them the same, as your original video was in encoding settings."
If using BT 709 for color primaries, color transfer and color space not does any issues ?
Thanks for all replies above. How I am an novice in enconding need an simple explanation.
Example 1
If original file is xvid 240I or 480I being BT601 and converting to H.264 using the same resolution being played only in computer :
- using the original bt601 to both color primaries transfer and space is the better choice ?
- using BT709 to both color primaries transfer and space not does issues in video quality and color values ?
In moment I only need understand if will be an problem converting video from xvid bt601 to H264 bt709. -
-
And if it's for computer playback, why not leave it as is ? You only lose quality converting it (or require a massive increase in filesize to same quality)
-
Now I understand ... the video internally is YUV and that three colors values not are exactly the color used in the video.
The better choice is in video enconder not choice any color primaries, transfer and space settings so the enconding will use the same value from original file.
I want convert because several files are xvid and converting to H.264 will be much less file size.
The problem is the correct bitrate value in that enconding. Converting is much complex.
For example for videos originally 240I and 480I with less of 30 FPS without fast scenes is as in convertion need the bitrate to be less 40 % of original xvid value.
For me having the correct bitrate value is the detail more complex to understand about convertions from xvid to H.264.
Perhaps converting from xvid to H265 is an better choice, but the GPU only allow nvenc to H.264 and so enconding to H.265 will be long time. -
If you do not set them for your encoder, they will not be set. Encoder does not know metadata of your original file. And later, when playing that encoded video, a video player would default. Most likely, if your video is SD, it would choose BT.601 as colormatrix, but that is not guaranteed. It might simply use BT.709.
As your encoding settings, trying to make your very low XviD video even smaller. You were given an advice not to encode, if there is a chance, bitrates are most likely very low already. In theory H.265 might give you a better results as oppose to H.264 for those tiny videos, but H.265 needs more power for a playback, not sure if it is applicable to you.
What does 240I and 480I mean? -
I see any video being resolution below of 720P need to be bt601 and bt709 to 720P and 1080P.
Here has enough power to playback H.265. Only not is possible enconding using GPU.
I have done some tests converting from xvid to H264 and the file size is less 35 % without lose in quality.
The problem is how figure the correct bitrate value for an type of video.
240I and 480I are 320X240 and 640X480 and 720X480 interlaced =)
Similar Threads
-
XMedia Recode does not convert color primaries
By banaguitar in forum Video ConversionReplies: 1Last Post: 6th May 2025, 07:56 -
PotPlayer doesn't show correct colors, changing Color Space does not help.
By ObjectNull85 in forum Software PlayingReplies: 26Last Post: 24th Oct 2024, 13:02 -
Capturing with GFE, color space
By Amaze in forum Capturing and VCRReplies: 12Last Post: 25th May 2023, 08:32 -
color space bt709 to bt2020, but the player display color is different
By KaGaWu in forum Newbie / General discussionsReplies: 5Last Post: 14th Feb 2023, 03:43 -
[HELP] Correct color space
By darkslayer00 in forum DVD RippingReplies: 1Last Post: 29th Nov 2021, 02:59