[FFmpeg-devel] [PATCH v4] avfilter/buffersrc: deprecate sws_param option
mypopy at gmail.com
mypopy at gmail.com
Thu Dec 12 09:04:19 EET 2019
On Wed, Dec 11, 2019 at 11:33 PM Zhao Zhili <quinkblack at foxmail.com> wrote:
>
> Ping for review, thanks!
>
> > On Dec 4, 2019, at 6:57 PM, quinkblack at foxmail.com wrote:
> >
> > From: Zhao Zhili <zhilizhao at tencent.com>
> >
> > ---
> > patch v4: update doc
> >
> > doc/filters.texi | 8 ++++----
> > libavfilter/buffersrc.c | 14 ++++++++++++--
> > libavfilter/version.h | 5 ++++-
> > 3 files changed, 20 insertions(+), 7 deletions(-)
> >
> > diff --git a/doc/filters.texi b/doc/filters.texi
> > index 5fdec6f015..d15cf74c84 100644
> > --- a/doc/filters.texi
> > +++ b/doc/filters.texi
> > @@ -21014,9 +21014,9 @@ 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. Prepend @code{sws_flags=@var{flags};}
> > +to the filtergraph description to specify swscale flags for automatically
> > +inserted scalers. See @ref{Filtergraph syntax}.
> >
> > @item hw_frames_ctx
> > When using a hardware pixel format, this should be a reference to an
> > @@ -21041,7 +21041,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:
> >
> > - at 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}]
> > + at 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
> > --
> > 2.22.0
> >
> > From: Zhao Zhili <zhilizhao at tencent.com>
> >
> > ---
> > patch v4: update doc
> >
> > doc/filters.texi | 8 ++++----
> > libavfilter/buffersrc.c | 14 ++++++++++++--
> > libavfilter/version.h | 5 ++++-
> > 3 files changed, 20 insertions(+), 7 deletions(-)
> >
> > diff --git a/doc/filters.texi b/doc/filters.texi
> > index 5fdec6f015..d15cf74c84 100644
> > --- a/doc/filters.texi
> > +++ b/doc/filters.texi
> > @@ -21014,9 +21014,9 @@ 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. Prepend @code{sws_flags=@var{flags};}
> > +to the filtergraph description to specify swscale flags for automatically
> > +inserted scalers. See @ref{Filtergraph syntax}.
> >
> > @item hw_frames_ctx
> > When using a hardware pixel format, this should be a reference to an
> > @@ -21041,7 +21041,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:
> >
> > - at 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}]
> > + at 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
> > --
> > 2.22.0
> >
>
LGTM, but need to wait next release cycle?
More information about the ffmpeg-devel
mailing list