matroskademux: add support for VVC/H.266 video

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8441>
This commit is contained in:
Carlos Bentzen 2025-02-08 16:19:58 +01:00 committed by GStreamer Marge Bot
parent deaa9260f3
commit 1be3d7f37b

View file

@ -6843,6 +6843,25 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *
NULL);
}
*codec_name = g_strdup ("HEVC");
} else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_MPEGI_VVC)) {
caps = gst_caps_new_empty_simple ("video/x-h266");
if (data) {
GstBuffer *priv;
gst_codec_utils_h266_caps_set_level_tier_and_profile (caps, data, size);
priv = gst_buffer_new_memdup (data, size);
gst_caps_set_simple (caps, "codec_data", GST_TYPE_BUFFER, priv, NULL);
gst_buffer_unref (priv);
gst_caps_set_simple (caps, "stream-format", G_TYPE_STRING, "vvc1",
"alignment", G_TYPE_STRING, "au", NULL);
} else {
GST_WARNING ("No codec data found, assuming output is byte-stream");
gst_caps_set_simple (caps, "stream-format", G_TYPE_STRING, "byte-stream",
NULL);
}
*codec_name = g_strdup ("VVC");
} else if ((!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_REALVIDEO1)) ||
(!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_REALVIDEO2)) ||
(!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_REALVIDEO3)) ||