[FFmpeg-devel] [PATCH] lavc/{av1, h264, h265}_metadata_bsf: fix description of tick_rate
mypopy at gmail.com
mypopy at gmail.com
Wed Dec 15 05:25:51 EET 2021
On Tue, Dec 14, 2021 at 11:26 AM mypopy at gmail.com <mypopy at gmail.com> wrote:
>
> On Fri, Aug 27, 2021 at 3:14 PM Zhao Zhili <quinkblack at foxmail.com> wrote:
> >
> > Users may take the description literally which leads to inverted
> > results.
> > ---
> > doc/bitstream_filters.texi | 8 ++++----
> > libavcodec/av1_metadata_bsf.c | 2 +-
> > libavcodec/h264_metadata_bsf.c | 2 +-
> > libavcodec/h265_metadata_bsf.c | 2 +-
> > 4 files changed, 7 insertions(+), 7 deletions(-)
> >
> > diff --git a/doc/bitstream_filters.texi b/doc/bitstream_filters.texi
> > index 1900eb4352..6051dc28d2 100644
> > --- a/doc/bitstream_filters.texi
> > +++ b/doc/bitstream_filters.texi
> > @@ -81,7 +81,7 @@ Top-left position.
> > @end table
> >
> > @item tick_rate
> > -Set the tick rate (@emph{num_units_in_display_tick / time_scale}) in
> > +Set the tick rate (@emph{time_scale / num_units_in_display_tick}) in
> > the timing info in the sequence header.
> > @item num_ticks_per_picture
> > Set the number of ticks in each picture, to indicate that the stream
> > @@ -244,7 +244,7 @@ Set the chroma sample location in the stream (see H.264 section
> > E.2.1 and figure E-1).
> >
> > @item tick_rate
> > -Set the tick rate (num_units_in_tick / time_scale) in the VUI
> > +Set the tick rate (time_scale / num_units_in_tick) in the VUI
> > parameters. This is the smallest time unit representable in the
> > stream, and in many cases represents the field rate of the stream
> > (double the frame rate).
> > @@ -352,8 +352,8 @@ Set the chroma sample location in the stream (see H.265 section
> > E.3.1 and figure E.1).
> >
> > @item tick_rate
> > -Set the tick rate in the VPS and VUI parameters (num_units_in_tick /
> > -time_scale). Combined with @option{num_ticks_poc_diff_one}, this can
> > +Set the tick rate in the VPS and VUI parameters (time_scale /
> > +num_units_in_tick). Combined with @option{num_ticks_poc_diff_one}, this can
> > set a constant framerate in the stream. Note that it is likely to be
> > overridden by container parameters when the stream is in a container.
> >
> > diff --git a/libavcodec/av1_metadata_bsf.c b/libavcodec/av1_metadata_bsf.c
> > index 1fb85d88b7..c52673bf6a 100644
> > --- a/libavcodec/av1_metadata_bsf.c
> > +++ b/libavcodec/av1_metadata_bsf.c
> > @@ -194,7 +194,7 @@ static const AVOption av1_metadata_options[] = {
> > { "colocated", "Top-left chroma sample position", 0, AV_OPT_TYPE_CONST,
> > { .i64 = AV1_CSP_COLOCATED }, .flags = FLAGS, .unit = "csp" },
> >
> > - { "tick_rate", "Set display tick rate (num_units_in_display_tick / time_scale)",
> > + { "tick_rate", "Set display tick rate (time_scale / num_units_in_display_tick)",
> > OFFSET(tick_rate), AV_OPT_TYPE_RATIONAL,
> > { .dbl = 0.0 }, 0, UINT_MAX, FLAGS },
> > { "num_ticks_per_picture", "Set display ticks per picture for CFR streams",
> > diff --git a/libavcodec/h264_metadata_bsf.c b/libavcodec/h264_metadata_bsf.c
> > index 452a8ec5dc..c79d91dcef 100644
> > --- a/libavcodec/h264_metadata_bsf.c
> > +++ b/libavcodec/h264_metadata_bsf.c
> > @@ -617,7 +617,7 @@ static const AVOption h264_metadata_options[] = {
> > OFFSET(chroma_sample_loc_type), AV_OPT_TYPE_INT,
> > { .i64 = -1 }, -1, 6, FLAGS },
> >
> > - { "tick_rate", "Set VUI tick rate (num_units_in_tick / time_scale)",
> > + { "tick_rate", "Set VUI tick rate (time_scale / num_units_in_tick)",
> > OFFSET(tick_rate), AV_OPT_TYPE_RATIONAL,
> > { .dbl = 0.0 }, 0, UINT_MAX, FLAGS },
> > { "fixed_frame_rate_flag", "Set VUI fixed frame rate flag",
> > diff --git a/libavcodec/h265_metadata_bsf.c b/libavcodec/h265_metadata_bsf.c
> > index d841839762..e5f70cfbc1 100644
> > --- a/libavcodec/h265_metadata_bsf.c
> > +++ b/libavcodec/h265_metadata_bsf.c
> > @@ -439,7 +439,7 @@ static const AVOption h265_metadata_options[] = {
> > { .i64 = -1 }, -1, 6, FLAGS },
> >
> > { "tick_rate",
> > - "Set VPS and VUI tick rate (num_units_in_tick / time_scale)",
> > + "Set VPS and VUI tick rate (time_scale / num_units_in_tick)",
> > OFFSET(tick_rate), AV_OPT_TYPE_RATIONAL,
> > { .dbl = 0.0 }, 0, UINT_MAX, FLAGS },
> > { "num_ticks_poc_diff_one",
> > --
>
> Patch is Ok,tick rate is likes to frame rate, so time_scale /
> num_units_in_tick is the correct way to calculate it. Thx
Will apply if no other comments after 3 days, thx
More information about the ffmpeg-devel
mailing list