Skip to content

fourcc: add the color model to the chroma description

Steve Lhomme requested to merge robUx4/vlc:fourcc_desc into master

When the vlc_chroma_description_t is going to be read, it's faster to get this information here than having to call vlc_fourcc_IsYUV(). And we have more information here.

Opaque chromas can be YUV, RGB or unknown. They were listed in p_list_YUV.


I checked that all values listed in mapping_video match the result of vlc_fourcc_IsYUV() with this code:

for (size_t i = 0; i < ARRAY_SIZE(mapping_video); i++)
{
    const struct fourcc_mapping *entry = &mapping_video[i];
    const vlc_chroma_description_t *desc = vlc_fourcc_GetChromaDescription(entry->fourcc);
    const bool is_yuv = vlc_fourcc_IsYUV(entry->fourcc);
    assert((!is_yuv && (desc == NULL || desc->color_model != COLOR_MODEL_YUV)) || (is_yuv && desc != NULL && desc->color_model == COLOR_MODEL_YUV));
}

VLC_CODEC_YUV2 was missing from the list of YUV formats.

Merge request reports