• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2012,2018 Collabora Ltd.
3  *   Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation
8  * version 2.1 of the License.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
18  *
19  */
20 
21 #ifndef __GST_AMC_CODECLIST_H__
22 #define __GST_AMC_CODECLIST_H__
23 
24 #include <gst/gst.h>
25 
26 G_BEGIN_DECLS
27 
28 typedef struct _GstAmcCodecInfoHandle GstAmcCodecInfoHandle;
29 typedef struct _GstAmcCodecCapabilitiesHandle GstAmcCodecCapabilitiesHandle;
30 typedef struct _GstAmcCodecProfileLevel GstAmcCodecProfileLevel;
31 
32 struct _GstAmcCodecProfileLevel
33 {
34   gint profile;
35   gint level;
36 };
37 
38 gboolean gst_amc_codeclist_static_init (void);
39 
40 gboolean gst_amc_codeclist_get_count (gint * count, GError **err);
41 GstAmcCodecInfoHandle * gst_amc_codeclist_get_codec_info_at (gint index,
42     GError **err);
43 
44 void gst_amc_codec_info_handle_free (GstAmcCodecInfoHandle * handle);
45 gchar * gst_amc_codec_info_handle_get_name (GstAmcCodecInfoHandle * handle,
46     GError ** err);
47 gboolean gst_amc_codec_info_handle_is_encoder (GstAmcCodecInfoHandle * handle,
48     gboolean * is_encoder, GError ** err);
49 gchar ** gst_amc_codec_info_handle_get_supported_types (
50     GstAmcCodecInfoHandle * handle, gsize * length, GError ** err);
51 GstAmcCodecCapabilitiesHandle * gst_amc_codec_info_handle_get_capabilities_for_type (
52     GstAmcCodecInfoHandle * handle, const gchar * type, GError ** err);
53 
54 void gst_amc_codec_capabilities_handle_free (
55     GstAmcCodecCapabilitiesHandle * handle);
56 gint * gst_amc_codec_capabilities_handle_get_color_formats (
57     GstAmcCodecCapabilitiesHandle * handle, gsize * length, GError ** err);
58 GstAmcCodecProfileLevel * gst_amc_codec_capabilities_handle_get_profile_levels (
59     GstAmcCodecCapabilitiesHandle * handle, gsize * length, GError ** err);
60 
61 G_END_DECLS
62 
63 #endif /* __GST_AMC_CODECLIST_H__ */
64