[FFmpeg-devel] [PATCH v2] avutil: deprecate AVRational field inside AVOption::default_val

Tomas Härdin git at haerdin.se
Tue May 9 13:02:39 EEST 2023


tis 2023-05-02 klockan 08:39 -0300 skrev James Almer:
> On 5/2/2023 8:34 AM, Tomas Härdin wrote:
> > tis 2023-05-02 klockan 15:48 +0800 skrev Zhao Zhili:
> > > From: Zhao Zhili <zhilizhao at tencent.com>
> > > 
> > > Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>
> > > ---
> > >   libavutil/opt.h     | 2 ++
> > >   libavutil/version.h | 1 +
> > >   2 files changed, 3 insertions(+)
> > > 
> > > diff --git a/libavutil/opt.h b/libavutil/opt.h
> > > index 461b5d3b6b..46915754ea 100644
> > > --- a/libavutil/opt.h
> > > +++ b/libavutil/opt.h
> > > @@ -271,8 +271,10 @@ typedef struct AVOption {
> > >           int64_t i64;
> > >           double dbl;
> > >           const char *str;
> > > +#if FF_API_AVOPTION_AVRATIONAL
> > >           /* TODO those are unused now */
> > >           AVRational q;
> > > +#endif
> > 
> > Surely rationals options are useful?
> 
> They are, but this union is where the default value is stored when
> you 
> define an AVOption. At some point it seems it was decided that
> rational 
> (and video_rate) type AVOptions should set dbl instead of q, which is
> then av_q2d()'d into an AVRational.

Cursed and very wrong in many contexts

/Tomas



More information about the ffmpeg-devel mailing list