avfilter/vf_hysteresis: allow using framesync options
authorPaul B Mahol <onemda@gmail.com>
Sun, 12 Nov 2017 10:48:52 +0000 (11:48 +0100)
committerPaul B Mahol <onemda@gmail.com>
Sun, 12 Nov 2017 10:48:52 +0000 (11:48 +0100)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavfilter/vf_hysteresis.c

index edca40f..551b33f 100644 (file)
@@ -33,6 +33,7 @@
 
 typedef struct HysteresisContext {
     const AVClass *class;
+    FFFrameSync fs;
 
     int planes;
     int threshold;
@@ -40,7 +41,6 @@ typedef struct HysteresisContext {
     int width[4], height[4];
     int nb_planes;
     int depth;
-    FFFrameSync fs;
 
     uint8_t *map;
     uint32_t *xy;
@@ -58,8 +58,6 @@ static const AVOption hysteresis_options[] = {
     { NULL }
 };
 
-AVFILTER_DEFINE_CLASS(hysteresis);
-
 static int query_formats(AVFilterContext *ctx)
 {
     static const enum AVPixelFormat pix_fmts[] = {
@@ -350,6 +348,8 @@ static av_cold void uninit(AVFilterContext *ctx)
     av_freep(&s->xy);
 }
 
+FRAMESYNC_DEFINE_CLASS(hysteresis, HysteresisContext, fs);
+
 static const AVFilterPad hysteresis_inputs[] = {
     {
         .name         = "base",
@@ -375,6 +375,7 @@ static const AVFilterPad hysteresis_outputs[] = {
 AVFilter ff_vf_hysteresis = {
     .name          = "hysteresis",
     .description   = NULL_IF_CONFIG_SMALL("Grow first stream into second stream by connecting components."),
+    .preinit       = hysteresis_framesync_preinit,
     .priv_size     = sizeof(HysteresisContext),
     .uninit        = uninit,
     .query_formats = query_formats,