PROP_DEINTERLACE,
PROP_DEINTERLACE_MODE,
PROP_DEINTERLACE_METHOD,
+ PROP_DENOISE,
+ PROP_DENOISE_LEVEL,
+ PROP_FORMAT,
+ PROP_WIDTH,
+ PROP_HEIGHT,
};
typedef enum _GstVaapiDeinterlaceMethod GstVaapiDeinterlaceMethod;
#define GST_VAAPI_TYPE_DEINTERLACE_METHOD \
gst_vaapi_deinterlace_method_get_type()
+#include "sysdeps.h"
+#if USE_VA_VPP
+#include <va/va_vpp.h>
+
+#define GST_VAAPI_TYPE_POSTPROCESS \
+ (gst_vaapi_postprocess_get_type())
+
+#define GST_VAAPI_POSTPROCESS(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj), \
+ GST_VAAPI_TYPE_POSTPROCESS, \
+ GstVaapiPostprocess))
+
+#define GST_VAAPI_POSTPROCESS_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass), \
+ GST_VAAPI_TYPE_POSTPROCESS, \
+ GstVaapiPostprocessClass))
+
+#define GST_VAAPI_IS_POSTPROCESS(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_VAAPI_TYPE_POSTPROCESS))
+
+#define GST_VAAPI_IS_POSTPROCESS_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass), GST_VAAPI_TYPE_POSTPROCESS))
+
+#define GST_VAAPI_POSTPROCESS_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS((obj), \
+ GST_VAAPI_TYPE_POSTPROCESS, \
+ GstVaapiPostprocessClass))
+
+/**
+ * GST_VAAPI_POSTPROCESS_SUPPORTED:
+ * @postprocess: a #GstVaapiPostprocess
+ *
+ * Macro that evaluates supported or not of post-processing @postprocess.
+ */
+#define GST_VAAPI_POSTPROCESS_SUPPORTED(postprocess) gst_vaapi_postprocess_supported(postprocess)
+
+typedef struct _GstVaapiPostprocess GstVaapiPostprocess;
+typedef struct _GstVaapiPostprocessPrivate GstVaapiPostprocessPrivate;
+typedef struct _GstVaapiPostprocessClass GstVaapiPostprocessClass;
+
+ /**
+ * GstVaapiPostprocess:
+ *
+ * Video Postprocessing
+ */
+ typedef int (*fun_ptr)(int,int);
+typedef gboolean
+(*vaapipostprocess_process)(GstVaapiPostprocess *postproc, GstVaapiSurface *in_surface, GstVaapiSurface **out_surface);
+
+struct _GstVaapiPostprocess {
+ /*< private >*/
+ GstVaapiObject parent_instance;
+
+ GstVaapiPostprocessPrivate *priv;
+ vaapipostprocess_process process;
+};
+
+/**
+ * GstVaapiPostprocessClass:
+ *
+ * Video Postprocessing class
+ */
+struct _GstVaapiPostprocessClass {
+ /*< private >*/
+ GstVaapiObjectClass parent_class;
+};
+
+GType
+gst_vaapi_postprocess_get_type(void) G_GNUC_CONST;
+
+GstVaapiPostprocess *
+gst_vaapi_postprocess_new(
+ GstVaapiDisplay *display);
+
+gboolean
+gst_vaapi_postprocess_get_supported(GstVaapiPostprocess *postprocess);
+#endif
+
G_END_DECLS
#endif /* GST_VAAPI_POSTPROCESS_H */