diff mbox

[FFmpeg-devel,v3] avfilter/buffersrc: deprecate sws_param option

Message ID 20191204050611.25551-1-quinkblack@foxmail.com
State Superseded
Headers show

Commit Message

Zhao Zhili Dec. 4, 2019, 5:06 a.m. UTC
From: Zhao Zhili <zhilizhao@tencent.com>

---
patch v3: document how to set the parameters for automatically inserted filters.

 doc/filters.texi        |  7 +++----
 libavfilter/buffersrc.c | 14 ++++++++++++--
 libavfilter/version.h   |  5 ++++-
 3 files changed, 19 insertions(+), 7 deletions(-)

Comments

Nicolas George Dec. 4, 2019, 9:45 a.m. UTC | #1
quinkblack@foxmail.com (12019-12-04):
> From: Zhao Zhili <zhilizhao@tencent.com>
> 
> ---
> patch v3: document how to set the parameters for automatically inserted filters.
> 
>  doc/filters.texi        |  7 +++----
>  libavfilter/buffersrc.c | 14 ++++++++++++--
>  libavfilter/version.h   |  5 ++++-
>  3 files changed, 19 insertions(+), 7 deletions(-)
> 
> diff --git a/doc/filters.texi b/doc/filters.texi
> index 5fdec6f015..7a700c7cc4 100644
> --- a/doc/filters.texi
> +++ b/doc/filters.texi
> @@ -21014,9 +21014,8 @@ Specify the frame rate expected for the video stream.
>  The sample (pixel) aspect ratio of the input video.
>  
>  @item sws_param
> -Specify the optional parameters to be used for the scale filter which
> -is automatically inserted when an input change is detected in the
> -input size or format.

> +This option is deprecated and ignored. Use @ref{sws_flags,,sws_flags,ffmpeg-scaler}
> +instead to specify swscale flags for those automatically inserted scalers.

It says what option to use, but it does not say HOW to use it. It seems
to be set on the filter graph itself, but IIRC there is a syntax to do
it.

Regards,
diff mbox

Patch

diff --git a/doc/filters.texi b/doc/filters.texi
index 5fdec6f015..7a700c7cc4 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -21014,9 +21014,8 @@  Specify the frame rate expected for the video stream.
 The sample (pixel) aspect ratio of the input video.
 
 @item sws_param
-Specify the optional parameters to be used for the scale filter which
-is automatically inserted when an input change is detected in the
-input size or format.
+This option is deprecated and ignored. Use @ref{sws_flags,,sws_flags,ffmpeg-scaler}
+instead to specify swscale flags for those automatically inserted scalers.
 
 @item hw_frames_ctx
 When using a hardware pixel format, this should be a reference to an
@@ -21041,7 +21040,7 @@  buffer=size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1
 Alternatively, the options can be specified as a flat string, but this
 syntax is deprecated:
 
-@var{width}:@var{height}:@var{pix_fmt}:@var{time_base.num}:@var{time_base.den}:@var{pixel_aspect.num}:@var{pixel_aspect.den}[:@var{sws_param}]
+@var{width}:@var{height}:@var{pix_fmt}:@var{time_base.num}:@var{time_base.den}:@var{pixel_aspect.num}:@var{pixel_aspect.den}
 
 @section cellauto
 
diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c
index bae7d86695..73a7eb82ca 100644
--- a/libavfilter/buffersrc.c
+++ b/libavfilter/buffersrc.c
@@ -52,7 +52,9 @@  typedef struct BufferSourceContext {
     int               w, h;
     enum AVPixelFormat  pix_fmt;
     AVRational        pixel_aspect;
+#if FF_API_SWS_PARAM_OPTION
     char              *sws_param;
+#endif
 
     AVBufferRef *hw_frames_ctx;
 
@@ -287,10 +289,16 @@  static av_cold int init_video(AVFilterContext *ctx)
     if (!(c->fifo = av_fifo_alloc(sizeof(AVFrame*))))
         return AVERROR(ENOMEM);
 
-    av_log(ctx, AV_LOG_VERBOSE, "w:%d h:%d pixfmt:%s tb:%d/%d fr:%d/%d sar:%d/%d sws_param:%s\n",
+    av_log(ctx, AV_LOG_VERBOSE, "w:%d h:%d pixfmt:%s tb:%d/%d fr:%d/%d sar:%d/%d\n",
            c->w, c->h, av_get_pix_fmt_name(c->pix_fmt),
            c->time_base.num, c->time_base.den, c->frame_rate.num, c->frame_rate.den,
-           c->pixel_aspect.num, c->pixel_aspect.den, (char *)av_x_if_null(c->sws_param, ""));
+           c->pixel_aspect.num, c->pixel_aspect.den);
+
+#if FF_API_SWS_PARAM_OPTION
+    if (c->sws_param)
+        av_log(ctx, AV_LOG_WARNING, "sws_param option is deprecated and ignored\n");
+#endif
+
     return 0;
 }
 
@@ -312,7 +320,9 @@  static const AVOption buffer_options[] = {
     { "pixel_aspect",  "sample aspect ratio",    OFFSET(pixel_aspect),     AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, V },
     { "time_base",     NULL,                     OFFSET(time_base),        AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, V },
     { "frame_rate",    NULL,                     OFFSET(frame_rate),       AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, V },
+#if FF_API_SWS_PARAM_OPTION
     { "sws_param",     NULL,                     OFFSET(sws_param),        AV_OPT_TYPE_STRING,                    .flags = V },
+#endif
     { NULL },
 };
 
diff --git a/libavfilter/version.h b/libavfilter/version.h
index 7e8d849e0c..bf57d64d1f 100644
--- a/libavfilter/version.h
+++ b/libavfilter/version.h
@@ -31,7 +31,7 @@ 
 
 #define LIBAVFILTER_VERSION_MAJOR   7
 #define LIBAVFILTER_VERSION_MINOR  67
-#define LIBAVFILTER_VERSION_MICRO 100
+#define LIBAVFILTER_VERSION_MICRO 101
 
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
@@ -59,6 +59,9 @@ 
 #ifndef FF_API_FILTER_GET_SET
 #define FF_API_FILTER_GET_SET               (LIBAVFILTER_VERSION_MAJOR < 8)
 #endif
+#ifndef FF_API_SWS_PARAM_OPTION
+#define FF_API_SWS_PARAM_OPTION             (LIBAVFILTER_VERSION_MAJOR < 8)
+#endif
 #ifndef FF_API_NEXT
 #define FF_API_NEXT                         (LIBAVFILTER_VERSION_MAJOR < 8)
 #endif