Port DucatiVidDec to the Gstreamer 1.0 API
[gstreamer-omap:gst-ducati.git] / src / gstducatimeta.h
1 /*
2  * GStreamer
3  *
4  * Copyright (C) 2012 Texas Instruments
5  * Copyright (C) 2012 Collabora Ltd
6  *
7  * Authors:
8  *  Alessandro Decina <alessandro.decina@collabora.co.uk>
9  *  Rob Clark <rob.clark@linaro.org>
10  *
11  * This library is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU Lesser General Public
13  * License as published by the Free Software Foundation
14  * version 2.1 of the License.
15  *
16  * This library is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  * Lesser General Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser General Public
22  * License along with this library; if not, write to the Free Software
23  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
24  */
25
26 #ifndef __GSTDUCATIBUFFERPRIV_H__
27 #define __GSTDUCATIBUFFERPRIV_H__
28
29 #include <stdint.h>
30 #include <gst/gst.h>
31 #include <omap_drm.h>
32 #include <omap_drmif.h>
33 #include <gst/video/gstvideoutils.h>
34
35 G_BEGIN_DECLS
36
37 /*
38  * per-buffer private data for gst-ducati
39  */
40
41 #define GST_DUCATI_PRIV_META_API_TYPE (gst_ducati_priv_meta_api_get_type())
42 #define GST_DUCATI_PRIV_META_INFO  (gst_ducati_priv_meta_get_info())
43
44 typedef struct _GstDucatiPrivMeta      GstDucatiPrivMeta;
45
46
47 struct _GstDucatiPrivMeta
48 {
49   GstMeta meta;
50
51   struct omap_bo *bo;
52   gint uv_offset, size;
53 };
54
55
56 GType gst_ducati_priv_meta_api_get_type            (void);
57 const GstMetaInfo * gst_ducati_priv_meta_get_info  (void);
58 GstDucatiPrivMeta* gst_buffer_add_ducati_priv_meta (GstBuffer * buffer,
59                                                     struct omap_device *device,
60                                                     GstVideoInfo * info);
61
62 #define gst_buffer_get_ducati_priv_meta(b) ((GstDucatiPrivMeta*)gst_buffer_get_meta((b), GST_DUCATI_PRIV_META_API_TYPE))
63
64 G_END_DECLS
65
66
67 #endif /* __GSTDUCATIBUFFERPRIV_H__ */
68