[FFmpeg-devel] [PATCH v3 09/22] lavfi/vpp_qsv: add vpp_preinit callback

Haihao Xiang haihao.xiang at intel.com
Tue Jun 15 09:13:50 EEST 2021


Set the expected default value for options in this callback, hence we
have the right values even if these options are not included in the
option arrray. This is in preparation for re-using VPPContext but with a
different option array for other QSV filters
---
 libavfilter/vf_vpp_qsv.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c
index fd45c4f352..fb950001c0 100644
--- a/libavfilter/vf_vpp_qsv.c
+++ b/libavfilter/vf_vpp_qsv.c
@@ -256,6 +256,19 @@ release:
     return ret;
 }
 
+static av_cold int vpp_preinit(AVFilterContext *ctx)
+{
+    VPPContext  *vpp  = ctx->priv;
+    /* For AV_OPT_TYPE_STRING options, NULL is handled in other way so
+     * we needn't set default value here
+     */
+    vpp->saturation = 1.0;
+    vpp->contrast = 1.0;
+    vpp->transpose = -1;
+
+    return 0;
+}
+
 static av_cold int vpp_init(AVFilterContext *ctx)
 {
     VPPContext  *vpp  = ctx->priv;
@@ -637,6 +650,7 @@ const AVFilter ff_vf_vpp_qsv = {
     .description   = NULL_IF_CONFIG_SMALL("Quick Sync Video VPP."),
     .priv_size     = sizeof(VPPContext),
     .query_formats = query_formats,
+    .preinit       = vpp_preinit,
     .init          = vpp_init,
     .uninit        = vpp_uninit,
     .inputs        = vpp_inputs,
-- 
2.25.1



More information about the ffmpeg-devel mailing list