[0.11] gst-plugins-base: debug: add some performance debug
Wim Taymans
wtay at kemper.freedesktop.org
Thu Feb 9 06:29:31 PST 2012
Module: gst-plugins-base
Branch: 0.11
Commit: f31d5d75056f839f5529bcc975b9afbcd7b16de6
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=f31d5d75056f839f5529bcc975b9afbcd7b16de6
Author: Wim Taymans <wim.taymans at collabora.co.uk>
Date: Thu Feb 9 15:28:54 2012 +0100
debug: add some performance debug
---
gst-libs/gst/video/video.c | 2 ++
gst/videoconvert/gstvideoconvert.c | 13 ++++++-------
gst/videoscale/gstvideoscale.c | 14 +++++++++++---
3 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/gst-libs/gst/video/video.c b/gst-libs/gst/video/video.c
index 311da67..d15551f 100644
--- a/gst-libs/gst/video/video.c
+++ b/gst-libs/gst/video/video.c
@@ -1154,6 +1154,8 @@ gst_video_frame_copy (GstVideoFrame * dest, const GstVideoFrame * src)
n_planes = dinfo->finfo->n_planes;
+ GST_DEBUG ("doing video frame copy");
+
for (i = 0; i < n_planes; i++) {
guint w, h, j;
guint8 *sp, *dp;
diff --git a/gst/videoconvert/gstvideoconvert.c b/gst/videoconvert/gstvideoconvert.c
index 69646bf..89b41d3 100644
--- a/gst/videoconvert/gstvideoconvert.c
+++ b/gst/videoconvert/gstvideoconvert.c
@@ -47,7 +47,8 @@
GST_DEBUG_CATEGORY (videoconvert_debug);
#define GST_CAT_DEFAULT videoconvert_debug
-GST_DEBUG_CATEGORY (videoconvert_performance);
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
+
enum
{
@@ -385,17 +386,15 @@ gst_video_convert_transform_frame (GstVideoFilter * filter,
space = GST_VIDEO_CONVERT_CAST (filter);
- GST_DEBUG ("from %s -> to %s", GST_VIDEO_INFO_NAME (&filter->in_info),
+ GST_CAT_DEBUG_OBJECT (GST_CAT_PERFORMANCE, filter,
+ "doing colorspace conversion from %s -> to %s",
+ GST_VIDEO_INFO_NAME (&filter->in_info),
GST_VIDEO_INFO_NAME (&filter->out_info));
videoconvert_convert_set_dither (space->convert, space->dither);
videoconvert_convert_convert (space->convert, out_frame, in_frame);
- /* baseclass copies timestamps */
- GST_DEBUG ("from %s -> to %s done", GST_VIDEO_INFO_NAME (&filter->in_info),
- GST_VIDEO_INFO_NAME (&filter->out_info));
-
return GST_FLOW_OK;
}
@@ -404,7 +403,7 @@ plugin_init (GstPlugin * plugin)
{
GST_DEBUG_CATEGORY_INIT (videoconvert_debug, "videoconvert", 0,
"Colorspace Converter");
- GST_DEBUG_CATEGORY_GET (videoconvert_performance, "GST_PERFORMANCE");
+ GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
return gst_element_register (plugin, "videoconvert",
GST_RANK_NONE, GST_TYPE_VIDEO_CONVERT);
diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c
index 65d24cb..0acc554 100644
--- a/gst/videoscale/gstvideoscale.c
+++ b/gst/videoscale/gstvideoscale.c
@@ -87,6 +87,7 @@
/* debug variable definition */
GST_DEBUG_CATEGORY (video_scale_debug);
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
#define DEFAULT_PROP_METHOD GST_VIDEO_SCALE_BILINEAR
#define DEFAULT_PROP_ADD_BORDERS FALSE
@@ -492,9 +493,12 @@ gst_video_scale_set_info (GstVideoFilter * filter, GstCaps * in,
g_free (videoscale->tmp_buf);
videoscale->tmp_buf = g_malloc (out_info->width * 8 * 4);
- gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (filter),
- (in_info->width == out_info->width
- && in_info->height == out_info->height));
+ if (in_info->width == out_info->width && in_info->height == out_info->height) {
+ gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (filter), TRUE);
+ } else {
+ GST_CAT_DEBUG_OBJECT (GST_CAT_PERFORMANCE, filter, "setup videoscaling");
+ gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (filter), FALSE);
+ }
GST_DEBUG_OBJECT (videoscale, "from=%dx%d (par=%d/%d dar=%d/%d), size %"
G_GSIZE_FORMAT " -> to=%dx%d (par=%d/%d dar=%d/%d borders=%d:%d), "
@@ -1083,6 +1087,9 @@ gst_video_scale_transform_frame (GstVideoFilter * filter,
videoscale->borders_w, videoscale->borders_h);
}
+ GST_CAT_DEBUG_OBJECT (GST_CAT_PERFORMANCE, filter,
+ "doing videoscale format %s", GST_VIDEO_INFO_NAME (&filter->in_info));
+
switch (format) {
case GST_VIDEO_FORMAT_RGBx:
case GST_VIDEO_FORMAT_xRGB:
@@ -1369,6 +1376,7 @@ plugin_init (GstPlugin * plugin)
GST_DEBUG_CATEGORY_INIT (video_scale_debug, "videoscale", 0,
"videoscale element");
+ GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
vs_4tap_init ();
More information about the gstreamer-commits
mailing list