summaryrefslogtreecommitdiff
path: root/gst-libs/gst/vaapi/gstvaapiencoder_priv.h
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/gst/vaapi/gstvaapiencoder_priv.h')
-rw-r--r--gst-libs/gst/vaapi/gstvaapiencoder_priv.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_priv.h b/gst-libs/gst/vaapi/gstvaapiencoder_priv.h
index 5cf748a7..a80ba76f 100644
--- a/gst-libs/gst/vaapi/gstvaapiencoder_priv.h
+++ b/gst-libs/gst/vaapi/gstvaapiencoder_priv.h
@@ -164,6 +164,17 @@ G_BEGIN_DECLS
#define GST_VAAPI_ENCODER_TUNE(encoder) \
(GST_VAAPI_ENCODER_CAST (encoder)->tune)
+/**
+ * GST_VAAPI_ENCODER_QUALITY_LEVEL:
+ * @encoder: a #GstVaapiEncoder
+ *
+ * Macro that evaluates to the quality level
+ * This is an internal macro that does not do any run-time type check.
+ */
+#undef GST_VAAPI_ENCODER_QUALITY_LEVEL
+#define GST_VAAPI_ENCODER_QUALITY_LEVEL(encoder) \
+ (GST_VAAPI_ENCODER_CAST (encoder)->quality_level)
+
/* Generate a mask for the supplied tuning option (internal) */
#define GST_VAAPI_ENCODER_TUNE_MASK(TUNE) \
(1U << G_PASTE (GST_VAAPI_ENCODER_TUNE_, TUNE))
@@ -216,6 +227,7 @@ struct _GstVaapiEncoder
guint32 rate_control_mask;
guint bitrate; /* kbps */
guint keyframe_period;
+ guint quality_level;
GMutex mutex;
GCond surface_free;
@@ -340,6 +352,11 @@ gst_vaapi_encoder_release_surface (GstVaapiEncoder * encoder,
gst_vaapi_surface_proxy_unref (proxy);
}
+G_GNUC_INTERNAL
+gboolean
+gst_vaapi_encoder_ensure_param_quality_level (GstVaapiEncoder * encoder,
+ GstVaapiEncPicture * picture);
+
G_END_DECLS
#endif /* GST_VAAPI_ENCODER_PRIV_H */