/* GStreamer * Copyright (C) 2009 Benjamin Otte * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __GST_CAIRO_FORMAT_PRIVATE_H__ #define __GST_CAIRO_FORMAT_PRIVATE_H__ #include #include G_BEGIN_DECLS struct _GstCairoFormat { volatile unsigned int refcount; cairo_surface_type_t surface_type; /* type of surfaces passed in this format or 0 for any/none */ cairo_format_t format; /* cairo format in use or 0 for unknown */ cairo_color_space_t color_space; /* cairo color space in use */ guint n_planes; /* number of planes for this format */ GstVideoFormat video_format; /* the corresponding GStreamer video format */ int width; /* width of images */ int height; /* height of images */ struct { int num; int denom; } framerate; /* framerate as a fraction */ struct { int num; int denom; } par; /* pixel aspect ratio as a fraction - unset if num == 0 */ }; gsize gst_cairo_format_get_offset (const GstCairoFormat * format, guint plane); gsize gst_cairo_format_get_stride (const GstCairoFormat * format, guint plane); cairo_color_space_t gst_cairo_format_get_color_space (const GstCairoFormat * format); cairo_format_t gst_cairo_format_get_cairo_format (const GstCairoFormat * format); G_END_DECLS #endif /* __GST_CAIRO_FORMAT_PRIVATE_H__ */