mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 07:58:51 +00:00
gl: Add a print function to dump all EGL image drm format
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4877>
This commit is contained in:
parent
fc6e6fb547
commit
0b981a216c
1 changed files with 64 additions and 0 deletions
|
@ -1523,6 +1523,68 @@ failure:
|
||||||
}
|
}
|
||||||
|
|
||||||
#if GST_GL_HAVE_DMABUF
|
#if GST_GL_HAVE_DMABUF
|
||||||
|
static void
|
||||||
|
_print_all_dma_formats (GstGLContext * context, GArray * dma_formats)
|
||||||
|
{
|
||||||
|
#ifndef GST_DISABLE_GST_DEBUG
|
||||||
|
GstGLDmaFormat *dma_fmt;
|
||||||
|
GstGLDmaModifier *dma_modifier;
|
||||||
|
const gchar *fmt_str, *gst_fmt_str;
|
||||||
|
GString *str;
|
||||||
|
guint i, j;
|
||||||
|
|
||||||
|
if (gst_debug_category_get_threshold (GST_CAT_DEFAULT) < GST_LEVEL_INFO)
|
||||||
|
return;
|
||||||
|
|
||||||
|
str = g_string_new (NULL);
|
||||||
|
g_string_append_printf (str, "\n============= All DMA Formats With"
|
||||||
|
" Modifiers =============");
|
||||||
|
g_string_append_printf (str, "\n| Gst Format | DRM Format "
|
||||||
|
" | External Flag |");
|
||||||
|
g_string_append_printf (str, "\n|================================"
|
||||||
|
"========================|");
|
||||||
|
|
||||||
|
for (i = 0; i < dma_formats->len; i++) {
|
||||||
|
dma_fmt = &g_array_index (dma_formats, GstGLDmaFormat, i);
|
||||||
|
|
||||||
|
gst_fmt_str = gst_video_format_to_string
|
||||||
|
(gst_video_dma_drm_fourcc_to_format (dma_fmt->fourcc));
|
||||||
|
|
||||||
|
g_string_append_printf (str, "\n| %-12s |", gst_fmt_str);
|
||||||
|
|
||||||
|
if (!dma_fmt->modifiers) {
|
||||||
|
fmt_str = gst_video_dma_drm_fourcc_to_string (dma_fmt->fourcc, 0);
|
||||||
|
g_string_append_printf (str, " %-23s |", fmt_str);
|
||||||
|
g_string_append_printf (str, " %-13s |\n", "external only");
|
||||||
|
} else {
|
||||||
|
for (j = 0; j < dma_fmt->modifiers->len; j++) {
|
||||||
|
dma_modifier = &g_array_index (dma_fmt->modifiers, GstGLDmaModifier, j);
|
||||||
|
|
||||||
|
fmt_str = gst_video_dma_drm_fourcc_to_string (dma_fmt->fourcc,
|
||||||
|
dma_modifier->modifier);
|
||||||
|
|
||||||
|
if (j > 0)
|
||||||
|
g_string_append_printf (str, "| |");
|
||||||
|
|
||||||
|
g_string_append_printf (str, " %-23s |", fmt_str);
|
||||||
|
g_string_append_printf (str, " %-13s |\n", dma_modifier->external_only ?
|
||||||
|
"external only" : "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i < dma_formats->len - 1)
|
||||||
|
g_string_append_printf (str, "|--------------------------------"
|
||||||
|
"------------------------|");
|
||||||
|
}
|
||||||
|
|
||||||
|
g_string_append_printf (str, "================================="
|
||||||
|
"=========================");
|
||||||
|
|
||||||
|
GST_INFO_OBJECT (context, "%s", str->str);
|
||||||
|
g_string_free (str, TRUE);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_compare_dma_formats (gconstpointer a, gconstpointer b)
|
_compare_dma_formats (gconstpointer a, gconstpointer b)
|
||||||
{
|
{
|
||||||
|
@ -1692,6 +1754,8 @@ gst_gl_context_egl_fetch_dma_formats (GstGLContext * context)
|
||||||
|
|
||||||
g_array_sort (dma_formats, _compare_dma_formats);
|
g_array_sort (dma_formats, _compare_dma_formats);
|
||||||
|
|
||||||
|
_print_all_dma_formats (context, dma_formats);
|
||||||
|
|
||||||
GST_OBJECT_LOCK (context);
|
GST_OBJECT_LOCK (context);
|
||||||
egl->dma_formats = dma_formats;
|
egl->dma_formats = dma_formats;
|
||||||
GST_OBJECT_UNLOCK (context);
|
GST_OBJECT_UNLOCK (context);
|
||||||
|
|
Loading…
Reference in a new issue