From: Matthew Waters Date: Mon, 14 Dec 2015 01:26:01 +0000 (+1100) Subject: gl: add convenience function for the start of a video frame X-Git-Tag: 1.19.3~511^2~1989^2~559 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=caee3e41f91d4904822d4b05071c7634327c6aa8;p=platform%2Fupstream%2Fgstreamer.git gl: add convenience function for the start of a video frame Get's the start of the video frame based on a GstVideoInfo and GstVideoAlignment. --- diff --git a/gst-libs/gst/gl/gstglutils.c b/gst-libs/gst/gl/gstglutils.c index a57bbda..080c17b 100644 --- a/gst-libs/gst/gl/gstglutils.c +++ b/gst-libs/gst/gl/gstglutils.c @@ -904,6 +904,25 @@ gst_gl_get_plane_data_size (GstVideoInfo * info, GstVideoAlignment * align, return plane_size; } +/* find the difference between the start of the plane and where the video + * data starts in the plane */ +gsize +gst_gl_get_plane_start (GstVideoInfo * info, GstVideoAlignment * valign, + guint plane) +{ + gsize plane_start; + gint i; + + /* find the start of the plane data including padding */ + plane_start = 0; + for (i = 0; i < plane; i++) { + plane_start += gst_gl_get_plane_data_size (info, valign, i); + } + + /* offset between the plane data start and where the video frame starts */ + return (GST_VIDEO_INFO_PLANE_OFFSET (info, plane)) - plane_start; +} + GstCaps * gst_gl_caps_replace_all_caps_features (const GstCaps * caps, const gchar * feature_name) diff --git a/gst-libs/gst/gl/gstglutils.h b/gst-libs/gst/gl/gstglutils.h index ee606e0..3c8460b 100644 --- a/gst-libs/gst/gl/gstglutils.h +++ b/gst-libs/gst/gl/gstglutils.h @@ -106,6 +106,8 @@ gboolean gst_gl_run_query (GstElement * element, GstQuery * query, GstPadDirection direction); gsize gst_gl_get_plane_data_size (GstVideoInfo * info, GstVideoAlignment * align, guint plane); +gsize gst_gl_get_plane_start (GstVideoInfo * info, GstVideoAlignment * valign, + guint plane); GstCaps * gst_gl_caps_replace_all_caps_features (const GstCaps * caps, const gchar * feature_name);