[FFmpeg-devel] [PATCH 18/18] h264_ps: pass AVCodecContext as void* where possible
Anton Khirnov
anton at khirnov.net
Sun Mar 15 19:02:04 EET 2020
Quoting Michael Niedermayer (2020-03-13 23:29:12)
> On Fri, Mar 13, 2020 at 11:28:50AM +0100, Anton Khirnov wrote:
> > Makes sure it is only used for logging and nothing else.
> > ---
> > libavcodec/h264_ps.c | 18 +++++++++---------
> > 1 file changed, 9 insertions(+), 9 deletions(-)
> >
> > diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c
> > index 1951bb1161..4ef25aa514 100644
> > --- a/libavcodec/h264_ps.c
> > +++ b/libavcodec/h264_ps.c
> > @@ -104,14 +104,14 @@ static void remove_sps(H264ParamSets *s, int id)
> > av_buffer_unref(&s->sps_list[id]);
> > }
> >
> > -static inline int decode_hrd_parameters(GetBitContext *gb, AVCodecContext *avctx,
> > +static inline int decode_hrd_parameters(GetBitContext *gb, void *logctx,
>
> this is a double sided sword
> while fields of logctx cannot be used its after this possible to pass
> wrong things as logctx
Right, but that should be easily noticeable since it will crash on
dereferencing the AVClass. I consider the danger of people accessing the
AVCodecContext inappropriately to be bigger (since it's done in many
places already).
But we might want to consider something like
typedef AVClass* AVLogger
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list