GstVideoInfo chroma_site is wrong for YUV444 formats (e.g. Y444_LE)
GstVideoInfo chroma_site information should be GST_VIDEO_CHROMA_SITE_JPEG for YUV444 formats (e.g.Y444_LE)
Due to this condition, it is set to GST_VIDEO_CHROMA_SITE_MPEG2 whatever the YUV format.
static void
set_default_colorimetry (GstVideoInfo * info)
{
const GstVideoFormatInfo *finfo = info->finfo;
if (GST_VIDEO_FORMAT_INFO_IS_YUV (finfo)) {
if (info->height > 576) {
info->chroma_site = GST_VIDEO_CHROMA_SITE_H_COSITED;
info->colorimetry = default_color[DEFAULT_YUV_HD];
} else {
info->chroma_site = GST_VIDEO_CHROMA_SITE_NONE;
info->colorimetry = default_color[DEFAULT_YUV_SD];
}
} else if (GST_VIDEO_FORMAT_INFO_IS_GRAY (finfo)) {
info->colorimetry = default_color[DEFAULT_GRAY];
} else if (GST_VIDEO_FORMAT_INFO_IS_RGB (finfo)) {
info->colorimetry = default_color[DEFAULT_RGB];
} else {
info->colorimetry = default_color[DEFAULT_UNKNOWN];
}
}
Here is a gst-launch-1.0 command line to run to get the "error".
gst-launch-1.0.exe videotestsrc ! "video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, format=Y444_16LE" ! autovideosink