VideoHelp Forum




+ Reply to Thread
Results 1 to 12 of 12
  1. 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.
    Quote Quote  
  2. 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
    -vf "colorspace=...": Applies the colorspace video filter.
    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.
    Quote Quote  
  3. "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.
    Quote Quote  
  4. Originally Posted by Aug View Post
    Here the display monitor use YCbCr444 instead RGB and even so is done that convertion between colors ?
    Your eyes can't see YCbCr. It has to be converted by RGB for you to see it. The colormatrix is used to create the correct RGB values.
    Quote Quote  
  5. You are saying about matrix means color primaries or color transfer ?
    no there are three things that define (tune up a bit) colors (google ai search sums it up nicely):
    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
    There is one more thou, you did not mentioned it, and it is color range, minimum and maximum signal values used to represent colors. It is limited or full. Though but mostly neglected, because almost all videos are limited (in YUV space) and almost always full when in RGB space. If you deviate from this, you are asking for a trouble sooner than later, because your video is presented (in RGB) washed out or with crushed whites and black.
    Quote Quote  
  6. " 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.
    Quote Quote  
  7. Originally Posted by Aug View Post
    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 ?
    Yes.
    Quote Quote  
  8. Originally Posted by Aug View Post


    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.


    bt709 flags might cause the player to display with slightly off colors
    Quote Quote  
  9. 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)
    Quote Quote  
  10. 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.
    Quote Quote  
  11. Originally Posted by Aug View Post
    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.
    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?
    Quote Quote  
  12. 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 =)
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!