]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/vf_remap.c
Merge commit '533339bdcc3b39bbd708c723b3cd0b5898350f0f'
[ffmpeg] / libavfilter / vf_remap.c
index b7182e955626590fe276549f201cd87505eb4396..d24284703b85572a02426221b0af4f4eb8207b71 100644 (file)
@@ -83,6 +83,9 @@ static int query_formats(AVFilterContext *ctx)
         AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
         AV_PIX_FMT_RGB48, AV_PIX_FMT_BGR48,
         AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
+        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
+        AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12,
+        AV_PIX_FMT_GRAY16,
         AV_PIX_FMT_NONE
     };
     static const enum AVPixelFormat map_fmts[] = {
@@ -353,17 +356,12 @@ static int config_output(AVFilterLink *outlink)
     return ff_framesync_configure(&s->fs);
 }
 
-static int filter_frame(AVFilterLink *inlink, AVFrame *buf)
+static int activate(AVFilterContext *ctx)
 {
-    RemapContext *s = inlink->dst->priv;
-    return ff_framesync_filter_frame(&s->fs, inlink, buf);
+    RemapContext *s = ctx->priv;
+    return ff_framesync_activate(&s->fs);
 }
 
-static int request_frame(AVFilterLink *outlink)
-{
-    RemapContext *s = outlink->src->priv;
-    return ff_framesync_request_frame(&s->fs, outlink);
-}
 
 static av_cold void uninit(AVFilterContext *ctx)
 {
@@ -376,18 +374,15 @@ static const AVFilterPad remap_inputs[] = {
     {
         .name         = "source",
         .type         = AVMEDIA_TYPE_VIDEO,
-        .filter_frame = filter_frame,
         .config_props = config_input,
     },
     {
         .name         = "xmap",
         .type         = AVMEDIA_TYPE_VIDEO,
-        .filter_frame = filter_frame,
     },
     {
         .name         = "ymap",
         .type         = AVMEDIA_TYPE_VIDEO,
-        .filter_frame = filter_frame,
     },
     { NULL }
 };
@@ -397,7 +392,6 @@ static const AVFilterPad remap_outputs[] = {
         .name          = "default",
         .type          = AVMEDIA_TYPE_VIDEO,
         .config_props  = config_output,
-        .request_frame = request_frame,
     },
     { NULL }
 };
@@ -408,6 +402,7 @@ AVFilter ff_vf_remap = {
     .priv_size     = sizeof(RemapContext),
     .uninit        = uninit,
     .query_formats = query_formats,
+    .activate      = activate,
     .inputs        = remap_inputs,
     .outputs       = remap_outputs,
     .priv_class    = &remap_class,