diff options
Diffstat (limited to 'gst-libs/gst/vaapi/gstvaapiblend.h')
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiblend.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapiblend.h b/gst-libs/gst/vaapi/gstvaapiblend.h new file mode 100644 index 00000000..60c30c83 --- /dev/null +++ b/gst-libs/gst/vaapi/gstvaapiblend.h @@ -0,0 +1,65 @@ +/* + * gstvaapiblend.h - Video processing blend + * + * Copyright (C) 2019 Intel Corporation + * Author: U. Artie Eoff <ullysses.a.eoff@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_BLEND_H +#define GST_VAAPI_BLEND_H + +#include <gst/vaapi/gstvaapisurface.h> + +G_BEGIN_DECLS + +#define GST_TYPE_VAAPI_BLEND \ + (gst_vaapi_blend_get_type ()) +#define GST_VAAPI_BLEND(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VAAPI_BLEND, GstVaapiBlend)) +#define GST_IS_VAAPI_BLEND(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VAAPI_BLEND)) + +typedef struct _GstVaapiBlend GstVaapiBlend; + +GstVaapiBlend * +gst_vaapi_blend_new (GstVaapiDisplay * display); + +void +gst_vaapi_blend_replace (GstVaapiBlend ** old_blend_ptr, + GstVaapiBlend * new_blend); + +gboolean +gst_vaapi_blend_process_begin (GstVaapiBlend * blend, + GstVaapiSurface * surface); + +gboolean +gst_vaapi_blend_process_render (GstVaapiBlend * blend, + const GstVaapiSurface * surface, const GstVaapiRectangle * crop_rect, + const GstVaapiRectangle * target_rect, gdouble alpha); + +gboolean +gst_vaapi_blend_process_end (GstVaapiBlend * blend); + +GType +gst_vaapi_blend_get_type (void) G_GNUC_CONST; + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstVaapiBlend, gst_object_unref) + +G_END_DECLS + +#endif /* GST_VAAPI_FILTER_H */ |