Re: [FFmpeg-devel] [PATCH 1/2] avfilter/vf_fps: clean-up filter options

2017-09-25 Thread Tobias Rapp

On 23.09.2017 17:05, Michael Niedermayer wrote:

On Fri, Sep 22, 2017 at 08:52:26AM +0200, Tobias Rapp wrote:

On 22.09.2017 01:58, Michael Niedermayer wrote:

On Thu, Sep 21, 2017 at 04:55:51PM +0200, Tobias Rapp wrote:

Align order of "start_time" option to documentation and add missing
AV_OPT_FLAG_FILTERING_PARAM flag. Fix indent of "round" named constants
and clear unused field values.

Also fix some documentation cosmetics.

Signed-off-by: Tobias Rapp 
---
  doc/filters.texi |  4 ++--
  libavfilter/vf_fps.c | 12 ++--
  2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index 830de54..96b3dfd 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -8670,12 +8670,12 @@ It accepts the following parameters:
  The desired output frame rate. The default is @code{25}.
  @item round
-Rounding method.
+Timestamp (PTS) rounding method.
  Possible values are:
  @table @option
  @item zero
-zero round towards 0
+round towards 0
  @item inf
  round away from 0
  @item down
diff --git a/libavfilter/vf_fps.c b/libavfilter/vf_fps.c
index 1e5d07e..0db2b48 100644
--- a/libavfilter/vf_fps.c
+++ b/libavfilter/vf_fps.c
@@ -65,13 +65,13 @@ typedef struct FPSContext {
  #define F AV_OPT_FLAG_FILTERING_PARAM
  static const AVOption fps_options[] = {
  { "fps", "A string describing desired output framerate", OFFSET(framerate), 
AV_OPT_TYPE_VIDEO_RATE, { .str = "25" }, 0, INT_MAX, V|F },
-{ "start_time", "Assume the first PTS should be this value.", 
OFFSET(start_time), AV_OPT_TYPE_DOUBLE, { .dbl = DBL_MAX}, -DBL_MAX, DBL_MAX, V },
  { "round", "set rounding method for timestamps", OFFSET(rounding), AV_OPT_TYPE_INT, 
{ .i64 = AV_ROUND_NEAR_INF }, 0, 5, V|F, "round" },
-{ "zero", "round towards 0",  OFFSET(rounding), AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_ZERO }, 0, 5, V|F, "round" },
-{ "inf",  "round away from 0",OFFSET(rounding), AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_INF  }, 0, 5, V|F, "round" },
-{ "down", "round towards -infty", OFFSET(rounding), AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_DOWN }, 0, 5, V|F, "round" },
-{ "up",   "round towards +infty", OFFSET(rounding), AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_UP   }, 0, 5, V|F, "round" },
-{ "near", "round to nearest", OFFSET(rounding), AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_NEAR_INF }, 0, 5, V|F, "round" },
+{ "zero", "round towards 0", 0, AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_ZERO }, 0, 0, V|F, "round" },
+{ "inf",  "round away from 0",   0, AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_INF  }, 0, 0, V|F, "round" },
+{ "down", "round towards -infty",0, AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_DOWN }, 0, 0, V|F, "round" },
+{ "up",   "round towards +infty",0, AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_UP   }, 0, 0, V|F, "round" },
+{ "near", "round to nearest",0, AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_NEAR_INF }, 0, 0, V|F, "round" },
+{ "start_time", "Assume the first PTS should be this value.", 
OFFSET(start_time), AV_OPT_TYPE_DOUBLE, { .dbl = DBL_MAX}, -DBL_MAX, DBL_MAX, V|F },
  { NULL }


This breaks shorthand notation like fps=30:-0.01


The order of options according to the documentation is
[fps]:[round]:[start_time] (see
https://ffmpeg.org/ffmpeg-filters.html#fps). It even explicitly
says:

"Alternatively, the options can be specified as a flat string: fps[:round]."

But if preferred I can update the documentation instead.


Whichever makes more users happy.

(we maybe should avoid 2 different implementation behaviours if we
  dont already have 2, i have not checked if we had a different order in
  the code in the past)


Looking at the history of vf_fps.c apparently the current order of 
options exists since August 2013 (commit 
b69b075ac607419a840da798b089de8ea7630d4b). So it might be better to just 
update documentation to the established implementation.


Regards,
Tobias

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 1/2] avfilter/vf_fps: clean-up filter options

2017-09-23 Thread Michael Niedermayer
On Fri, Sep 22, 2017 at 08:52:26AM +0200, Tobias Rapp wrote:
> On 22.09.2017 01:58, Michael Niedermayer wrote:
> >On Thu, Sep 21, 2017 at 04:55:51PM +0200, Tobias Rapp wrote:
> >>Align order of "start_time" option to documentation and add missing
> >>AV_OPT_FLAG_FILTERING_PARAM flag. Fix indent of "round" named constants
> >>and clear unused field values.
> >>
> >>Also fix some documentation cosmetics.
> >>
> >>Signed-off-by: Tobias Rapp 
> >>---
> >>  doc/filters.texi |  4 ++--
> >>  libavfilter/vf_fps.c | 12 ++--
> >>  2 files changed, 8 insertions(+), 8 deletions(-)
> >>
> >>diff --git a/doc/filters.texi b/doc/filters.texi
> >>index 830de54..96b3dfd 100644
> >>--- a/doc/filters.texi
> >>+++ b/doc/filters.texi
> >>@@ -8670,12 +8670,12 @@ It accepts the following parameters:
> >>  The desired output frame rate. The default is @code{25}.
> >>  @item round
> >>-Rounding method.
> >>+Timestamp (PTS) rounding method.
> >>  Possible values are:
> >>  @table @option
> >>  @item zero
> >>-zero round towards 0
> >>+round towards 0
> >>  @item inf
> >>  round away from 0
> >>  @item down
> >>diff --git a/libavfilter/vf_fps.c b/libavfilter/vf_fps.c
> >>index 1e5d07e..0db2b48 100644
> >>--- a/libavfilter/vf_fps.c
> >>+++ b/libavfilter/vf_fps.c
> >>@@ -65,13 +65,13 @@ typedef struct FPSContext {
> >>  #define F AV_OPT_FLAG_FILTERING_PARAM
> >>  static const AVOption fps_options[] = {
> >>  { "fps", "A string describing desired output framerate", 
> >> OFFSET(framerate), AV_OPT_TYPE_VIDEO_RATE, { .str = "25" }, 0, INT_MAX, 
> >> V|F },
> >>-{ "start_time", "Assume the first PTS should be this value.", 
> >>OFFSET(start_time), AV_OPT_TYPE_DOUBLE, { .dbl = DBL_MAX}, -DBL_MAX, 
> >>DBL_MAX, V },
> >>  { "round", "set rounding method for timestamps", OFFSET(rounding), 
> >> AV_OPT_TYPE_INT, { .i64 = AV_ROUND_NEAR_INF }, 0, 5, V|F, "round" },
> >>-{ "zero", "round towards 0",  OFFSET(rounding), AV_OPT_TYPE_CONST, 
> >>{ .i64 = AV_ROUND_ZERO }, 0, 5, V|F, "round" },
> >>-{ "inf",  "round away from 0",OFFSET(rounding), AV_OPT_TYPE_CONST, 
> >>{ .i64 = AV_ROUND_INF  }, 0, 5, V|F, "round" },
> >>-{ "down", "round towards -infty", OFFSET(rounding), AV_OPT_TYPE_CONST, 
> >>{ .i64 = AV_ROUND_DOWN }, 0, 5, V|F, "round" },
> >>-{ "up",   "round towards +infty", OFFSET(rounding), AV_OPT_TYPE_CONST, 
> >>{ .i64 = AV_ROUND_UP   }, 0, 5, V|F, "round" },
> >>-{ "near", "round to nearest", OFFSET(rounding), AV_OPT_TYPE_CONST, 
> >>{ .i64 = AV_ROUND_NEAR_INF }, 0, 5, V|F, "round" },
> >>+{ "zero", "round towards 0", 0, AV_OPT_TYPE_CONST, 
> >>{ .i64 = AV_ROUND_ZERO }, 0, 0, V|F, "round" },
> >>+{ "inf",  "round away from 0",   0, AV_OPT_TYPE_CONST, 
> >>{ .i64 = AV_ROUND_INF  }, 0, 0, V|F, "round" },
> >>+{ "down", "round towards -infty",0, AV_OPT_TYPE_CONST, 
> >>{ .i64 = AV_ROUND_DOWN }, 0, 0, V|F, "round" },
> >>+{ "up",   "round towards +infty",0, AV_OPT_TYPE_CONST, 
> >>{ .i64 = AV_ROUND_UP   }, 0, 0, V|F, "round" },
> >>+{ "near", "round to nearest",0, AV_OPT_TYPE_CONST, 
> >>{ .i64 = AV_ROUND_NEAR_INF }, 0, 0, V|F, "round" },
> >>+{ "start_time", "Assume the first PTS should be this value.", 
> >>OFFSET(start_time), AV_OPT_TYPE_DOUBLE, { .dbl = DBL_MAX}, -DBL_MAX, 
> >>DBL_MAX, V|F },
> >>  { NULL }
> >
> >This breaks shorthand notation like fps=30:-0.01
> 
> The order of options according to the documentation is
> [fps]:[round]:[start_time] (see
> https://ffmpeg.org/ffmpeg-filters.html#fps). It even explicitly
> says:
> 
> "Alternatively, the options can be specified as a flat string: fps[:round]."
> 
> But if preferred I can update the documentation instead.

Whichever makes more users happy.

(we maybe should avoid 2 different implementation behaviours if we
 dont already have 2, i have not checked if we had a different order in
 the code in the past)

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

There will always be a question for which you do not know the correct answer.


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 1/2] avfilter/vf_fps: clean-up filter options

2017-09-22 Thread Tobias Rapp

On 22.09.2017 01:58, Michael Niedermayer wrote:

On Thu, Sep 21, 2017 at 04:55:51PM +0200, Tobias Rapp wrote:

Align order of "start_time" option to documentation and add missing
AV_OPT_FLAG_FILTERING_PARAM flag. Fix indent of "round" named constants
and clear unused field values.

Also fix some documentation cosmetics.

Signed-off-by: Tobias Rapp 
---
  doc/filters.texi |  4 ++--
  libavfilter/vf_fps.c | 12 ++--
  2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index 830de54..96b3dfd 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -8670,12 +8670,12 @@ It accepts the following parameters:
  The desired output frame rate. The default is @code{25}.
  
  @item round

-Rounding method.
+Timestamp (PTS) rounding method.
  
  Possible values are:

  @table @option
  @item zero
-zero round towards 0
+round towards 0
  @item inf
  round away from 0
  @item down
diff --git a/libavfilter/vf_fps.c b/libavfilter/vf_fps.c
index 1e5d07e..0db2b48 100644
--- a/libavfilter/vf_fps.c
+++ b/libavfilter/vf_fps.c
@@ -65,13 +65,13 @@ typedef struct FPSContext {
  #define F AV_OPT_FLAG_FILTERING_PARAM
  static const AVOption fps_options[] = {
  { "fps", "A string describing desired output framerate", OFFSET(framerate), 
AV_OPT_TYPE_VIDEO_RATE, { .str = "25" }, 0, INT_MAX, V|F },
-{ "start_time", "Assume the first PTS should be this value.", 
OFFSET(start_time), AV_OPT_TYPE_DOUBLE, { .dbl = DBL_MAX}, -DBL_MAX, DBL_MAX, V },
  { "round", "set rounding method for timestamps", OFFSET(rounding), AV_OPT_TYPE_INT, 
{ .i64 = AV_ROUND_NEAR_INF }, 0, 5, V|F, "round" },
-{ "zero", "round towards 0",  OFFSET(rounding), AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_ZERO }, 0, 5, V|F, "round" },
-{ "inf",  "round away from 0",OFFSET(rounding), AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_INF  }, 0, 5, V|F, "round" },
-{ "down", "round towards -infty", OFFSET(rounding), AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_DOWN }, 0, 5, V|F, "round" },
-{ "up",   "round towards +infty", OFFSET(rounding), AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_UP   }, 0, 5, V|F, "round" },
-{ "near", "round to nearest", OFFSET(rounding), AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_NEAR_INF }, 0, 5, V|F, "round" },
+{ "zero", "round towards 0", 0, AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_ZERO }, 0, 0, V|F, "round" },
+{ "inf",  "round away from 0",   0, AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_INF  }, 0, 0, V|F, "round" },
+{ "down", "round towards -infty",0, AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_DOWN }, 0, 0, V|F, "round" },
+{ "up",   "round towards +infty",0, AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_UP   }, 0, 0, V|F, "round" },
+{ "near", "round to nearest",0, AV_OPT_TYPE_CONST, { .i64 = 
AV_ROUND_NEAR_INF }, 0, 0, V|F, "round" },
+{ "start_time", "Assume the first PTS should be this value.", 
OFFSET(start_time), AV_OPT_TYPE_DOUBLE, { .dbl = DBL_MAX}, -DBL_MAX, DBL_MAX, V|F },
  { NULL }


This breaks shorthand notation like fps=30:-0.01


The order of options according to the documentation is 
[fps]:[round]:[start_time] (see 
https://ffmpeg.org/ffmpeg-filters.html#fps). It even explicitly says:


"Alternatively, the options can be specified as a flat string: fps[:round]."

But if preferred I can update the documentation instead.

Regards,
Tobias

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 1/2] avfilter/vf_fps: clean-up filter options

2017-09-21 Thread Michael Niedermayer
On Thu, Sep 21, 2017 at 04:55:51PM +0200, Tobias Rapp wrote:
> Align order of "start_time" option to documentation and add missing
> AV_OPT_FLAG_FILTERING_PARAM flag. Fix indent of "round" named constants
> and clear unused field values.
> 
> Also fix some documentation cosmetics.
> 
> Signed-off-by: Tobias Rapp 
> ---
>  doc/filters.texi |  4 ++--
>  libavfilter/vf_fps.c | 12 ++--
>  2 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/doc/filters.texi b/doc/filters.texi
> index 830de54..96b3dfd 100644
> --- a/doc/filters.texi
> +++ b/doc/filters.texi
> @@ -8670,12 +8670,12 @@ It accepts the following parameters:
>  The desired output frame rate. The default is @code{25}.
>  
>  @item round
> -Rounding method.
> +Timestamp (PTS) rounding method.
>  
>  Possible values are:
>  @table @option
>  @item zero
> -zero round towards 0
> +round towards 0
>  @item inf
>  round away from 0
>  @item down
> diff --git a/libavfilter/vf_fps.c b/libavfilter/vf_fps.c
> index 1e5d07e..0db2b48 100644
> --- a/libavfilter/vf_fps.c
> +++ b/libavfilter/vf_fps.c
> @@ -65,13 +65,13 @@ typedef struct FPSContext {
>  #define F AV_OPT_FLAG_FILTERING_PARAM
>  static const AVOption fps_options[] = {
>  { "fps", "A string describing desired output framerate", 
> OFFSET(framerate), AV_OPT_TYPE_VIDEO_RATE, { .str = "25" }, 0, INT_MAX, V|F },
> -{ "start_time", "Assume the first PTS should be this value.", 
> OFFSET(start_time), AV_OPT_TYPE_DOUBLE, { .dbl = DBL_MAX}, -DBL_MAX, DBL_MAX, 
> V },
>  { "round", "set rounding method for timestamps", OFFSET(rounding), 
> AV_OPT_TYPE_INT, { .i64 = AV_ROUND_NEAR_INF }, 0, 5, V|F, "round" },
> -{ "zero", "round towards 0",  OFFSET(rounding), AV_OPT_TYPE_CONST, { 
> .i64 = AV_ROUND_ZERO }, 0, 5, V|F, "round" },
> -{ "inf",  "round away from 0",OFFSET(rounding), AV_OPT_TYPE_CONST, { 
> .i64 = AV_ROUND_INF  }, 0, 5, V|F, "round" },
> -{ "down", "round towards -infty", OFFSET(rounding), AV_OPT_TYPE_CONST, { 
> .i64 = AV_ROUND_DOWN }, 0, 5, V|F, "round" },
> -{ "up",   "round towards +infty", OFFSET(rounding), AV_OPT_TYPE_CONST, { 
> .i64 = AV_ROUND_UP   }, 0, 5, V|F, "round" },
> -{ "near", "round to nearest", OFFSET(rounding), AV_OPT_TYPE_CONST, { 
> .i64 = AV_ROUND_NEAR_INF }, 0, 5, V|F, "round" },
> +{ "zero", "round towards 0", 0, AV_OPT_TYPE_CONST, { 
> .i64 = AV_ROUND_ZERO }, 0, 0, V|F, "round" },
> +{ "inf",  "round away from 0",   0, AV_OPT_TYPE_CONST, { 
> .i64 = AV_ROUND_INF  }, 0, 0, V|F, "round" },
> +{ "down", "round towards -infty",0, AV_OPT_TYPE_CONST, { 
> .i64 = AV_ROUND_DOWN }, 0, 0, V|F, "round" },
> +{ "up",   "round towards +infty",0, AV_OPT_TYPE_CONST, { 
> .i64 = AV_ROUND_UP   }, 0, 0, V|F, "round" },
> +{ "near", "round to nearest",0, AV_OPT_TYPE_CONST, { 
> .i64 = AV_ROUND_NEAR_INF }, 0, 0, V|F, "round" },
> +{ "start_time", "Assume the first PTS should be this value.", 
> OFFSET(start_time), AV_OPT_TYPE_DOUBLE, { .dbl = DBL_MAX}, -DBL_MAX, DBL_MAX, 
> V|F },
>  { NULL }

This breaks shorthand notation like fps=30:-0.01

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

No human being will ever know the Truth, for even if they happen to say it
by chance, they would not even known they had done so. -- Xenophanes


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH 1/2] avfilter/vf_fps: clean-up filter options

2017-09-21 Thread Tobias Rapp
Align order of "start_time" option to documentation and add missing
AV_OPT_FLAG_FILTERING_PARAM flag. Fix indent of "round" named constants
and clear unused field values.

Also fix some documentation cosmetics.

Signed-off-by: Tobias Rapp 
---
 doc/filters.texi |  4 ++--
 libavfilter/vf_fps.c | 12 ++--
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index 830de54..96b3dfd 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -8670,12 +8670,12 @@ It accepts the following parameters:
 The desired output frame rate. The default is @code{25}.
 
 @item round
-Rounding method.
+Timestamp (PTS) rounding method.
 
 Possible values are:
 @table @option
 @item zero
-zero round towards 0
+round towards 0
 @item inf
 round away from 0
 @item down
diff --git a/libavfilter/vf_fps.c b/libavfilter/vf_fps.c
index 1e5d07e..0db2b48 100644
--- a/libavfilter/vf_fps.c
+++ b/libavfilter/vf_fps.c
@@ -65,13 +65,13 @@ typedef struct FPSContext {
 #define F AV_OPT_FLAG_FILTERING_PARAM
 static const AVOption fps_options[] = {
 { "fps", "A string describing desired output framerate", 
OFFSET(framerate), AV_OPT_TYPE_VIDEO_RATE, { .str = "25" }, 0, INT_MAX, V|F },
-{ "start_time", "Assume the first PTS should be this value.", 
OFFSET(start_time), AV_OPT_TYPE_DOUBLE, { .dbl = DBL_MAX}, -DBL_MAX, DBL_MAX, V 
},
 { "round", "set rounding method for timestamps", OFFSET(rounding), 
AV_OPT_TYPE_INT, { .i64 = AV_ROUND_NEAR_INF }, 0, 5, V|F, "round" },
-{ "zero", "round towards 0",  OFFSET(rounding), AV_OPT_TYPE_CONST, { 
.i64 = AV_ROUND_ZERO }, 0, 5, V|F, "round" },
-{ "inf",  "round away from 0",OFFSET(rounding), AV_OPT_TYPE_CONST, { 
.i64 = AV_ROUND_INF  }, 0, 5, V|F, "round" },
-{ "down", "round towards -infty", OFFSET(rounding), AV_OPT_TYPE_CONST, { 
.i64 = AV_ROUND_DOWN }, 0, 5, V|F, "round" },
-{ "up",   "round towards +infty", OFFSET(rounding), AV_OPT_TYPE_CONST, { 
.i64 = AV_ROUND_UP   }, 0, 5, V|F, "round" },
-{ "near", "round to nearest", OFFSET(rounding), AV_OPT_TYPE_CONST, { 
.i64 = AV_ROUND_NEAR_INF }, 0, 5, V|F, "round" },
+{ "zero", "round towards 0", 0, AV_OPT_TYPE_CONST, { 
.i64 = AV_ROUND_ZERO }, 0, 0, V|F, "round" },
+{ "inf",  "round away from 0",   0, AV_OPT_TYPE_CONST, { 
.i64 = AV_ROUND_INF  }, 0, 0, V|F, "round" },
+{ "down", "round towards -infty",0, AV_OPT_TYPE_CONST, { 
.i64 = AV_ROUND_DOWN }, 0, 0, V|F, "round" },
+{ "up",   "round towards +infty",0, AV_OPT_TYPE_CONST, { 
.i64 = AV_ROUND_UP   }, 0, 0, V|F, "round" },
+{ "near", "round to nearest",0, AV_OPT_TYPE_CONST, { 
.i64 = AV_ROUND_NEAR_INF }, 0, 0, V|F, "round" },
+{ "start_time", "Assume the first PTS should be this value.", 
OFFSET(start_time), AV_OPT_TYPE_DOUBLE, { .dbl = DBL_MAX}, -DBL_MAX, DBL_MAX, 
V|F },
 { NULL }
 };
 
-- 
2.7.4


___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel