diff options
author | Sreerenj Balachandran <sreerenj.balachandran@intel.com> | 2015-04-13 14:53:46 +0300 |
---|---|---|
committer | Sreerenj Balachandran <sreerenj.balachandran@intel.com> | 2015-04-13 14:53:46 +0300 |
commit | 8c5f1b1c4b8bb89db207b2a57cebea45bf43d599 (patch) | |
tree | 3cdd3ca5a3298fbcf3df3fd87ebc1827ece06c96 /gst-libs/gst/vaapi/gstvaapiutils_h265.h | |
parent | 23bf2ff9e5130484e81e7dff8f6994ae59e82801 (diff) | |
download | gst-vaapi-8c5f1b1c4b8bb89db207b2a57cebea45bf43d599.tar.gz |
HEVC: Add codec utility methods to core libgstvaapi
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Diffstat (limited to 'gst-libs/gst/vaapi/gstvaapiutils_h265.h')
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiutils_h265.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapiutils_h265.h b/gst-libs/gst/vaapi/gstvaapiutils_h265.h new file mode 100644 index 00000000..fff6e641 --- /dev/null +++ b/gst-libs/gst/vaapi/gstvaapiutils_h265.h @@ -0,0 +1,88 @@ +/* + * gstvaapiutils_h265.h - H.265 related utilities + * + * Copyright (C) 2015 Intel Corporation + * Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free + * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#ifndef GST_VAAPI_UTILS_H265_H +#define GST_VAAPI_UTILS_H265_H + +#include <va/va.h> +#include <gst/vaapi/gstvaapiprofile.h> +#include <gst/vaapi/gstvaapisurface.h> + +G_BEGIN_DECLS + +/** + * GstVaapiLevelH265: + * @GST_VAAPI_LEVEL_H265_L1: H.265 level 1. + * @GST_VAAPI_LEVEL_H265_L2: H.265 level 2. + * @GST_VAAPI_LEVEL_H265_L2_1: H.265 level 2.1. + * @GST_VAAPI_LEVEL_H265_L3: H.265 level 3. + * @GST_VAAPI_LEVEL_H265_L3_1: H.265 level 3.1. + * @GST_VAAPI_LEVEL_H265_L4: H.265 level 4. + * @GST_VAAPI_LEVEL_H265_L4_1: H.265 level 4.1. + * @GST_VAAPI_LEVEL_H265_L5: H.265 level 5. + * @GST_VAAPI_LEVEL_H265_L5_1: H.265 level 5.1. + * @GST_VAAPI_LEVEL_H265_L5_2: H.265 level 5.2. + * @GST_VAAPI_LEVEL_H265_L6: H.265 level 6. + * @GST_VAAPI_LEVEL_H265_L6_1: H.265 level 6.1. + * @GST_VAAPI_LEVEL_H265_L6_2: H.265 level 6.2. + * + * The set of all levels for #GstVaapiLevelH265. + */ +typedef enum { + GST_VAAPI_LEVEL_H265_L1 = 1, + GST_VAAPI_LEVEL_H265_L2, + GST_VAAPI_LEVEL_H265_L2_1, + GST_VAAPI_LEVEL_H265_L3, + GST_VAAPI_LEVEL_H265_L3_1, + GST_VAAPI_LEVEL_H265_L4, + GST_VAAPI_LEVEL_H265_L4_1, + GST_VAAPI_LEVEL_H265_L5, + GST_VAAPI_LEVEL_H265_L5_1, + GST_VAAPI_LEVEL_H265_L5_2, + GST_VAAPI_LEVEL_H265_L6, + GST_VAAPI_LEVEL_H265_L6_1, + GST_VAAPI_LEVEL_H265_L6_2, +} GstVaapiLevelH265; + +/* Returns a relative score for the supplied GstVaapiProfile */ +guint +gst_vaapi_utils_h265_get_profile_score (GstVaapiProfile profile); + +/* Returns GstVaapiProfile from a string representation */ +GstVaapiProfile +gst_vaapi_utils_h265_get_profile_from_string (const gchar * str); + +/* Returns a string representation for the supplied H.265 profile */ +const gchar * +gst_vaapi_utils_h265_get_profile_string (GstVaapiProfile profile); + +/* Returns GstVaapiLevelH265 from a string representation */ +GstVaapiLevelH265 +gst_vaapi_utils_h265_get_level_from_string (const gchar * str); + +/* Returns a string representation for the supplied H.265 level */ +const gchar * +gst_vaapi_utils_h265_get_level_string (GstVaapiLevelH265 level); + +G_END_DECLS + +#endif /* GST_VAAPI_UTILS_H265_H */ |