[FFmpeg-devel] [PATCH]lavc/x264: Use FF_CODEC_CAP_INIT_THREADSAFE if x264 is new

Carl Eugen Hoyos ceffmpeg at gmail.com
Sun Aug 25 19:21:57 EEST 2019


Am So., 25. Aug. 2019 um 17:48 Uhr schrieb James Almer <jamrial at gmail.com>:
>
> On 8/25/2019 11:55 AM, Carl Eugen Hoyos wrote:
> > Am So., 25. Aug. 2019 um 16:15 Uhr schrieb Carl Eugen Hoyos
> > <ceffmpeg at gmail.com>:
> >> Hi!
> >>
> >> x264 removed the usage of strtok(), using FF_CODEC_CAP_INIT_THREADSAFE
> >> is ok with new libx264.
> > New patch attached.
> >
> > Carl Eugen
> >
> >
> > 0001-lavc-x264-Use-FF_CODEC_CAP_INIT_THREADSAFE-if-x264-i.patch
> >
> > From e65319ab33f9cb2cb3d1db45bbc0fc8e69a80535 Mon Sep 17 00:00:00 2001
> > From: Carl Eugen Hoyos <ceffmpeg at gmail.com>
> > Date: Sun, 25 Aug 2019 16:12:28 +0200
> > Subject: [PATCH] lavc/x264: Use FF_CODEC_CAP_INIT_THREADSAFE if x264 is new.
> >
> > Usage of strtok() was removed from x264, see also b02490a4
> > ---
> >  libavcodec/libx264.c | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> >
> > diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
> > index 86e3530e79..1b9043d2cc 100644
> > --- a/libavcodec/libx264.c
> > +++ b/libavcodec/libx264.c
> > @@ -1168,7 +1168,11 @@ AVCodec ff_libx264_encoder = {
> >      .priv_class       = &x264_class,
> >      .defaults         = x264_defaults,
> >      .init_static_data = X264_init_static,
> > +#if X264_BUILD >= 158
> > +    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
> > +#else
> >      .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
> > +#endif
> >      .wrapper_name     = "libx264",
> >  };
> >  #endif
> > @@ -1195,7 +1199,11 @@ AVCodec ff_libx264rgb_encoder = {
> >      .priv_class     = &rgbclass,
> >      .defaults       = x264_defaults,
> >      .pix_fmts       = pix_fmts_8bit_rgb,
> > +#if X264_BUILD >= 158
> > +    .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
> > +#else
> >      .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
> > +#endif
> >      .wrapper_name   = "libx264",
> >  };
> >  #endif
> > @@ -1222,7 +1230,11 @@ AVCodec ff_libx262_encoder = {
>
> Does this also apply for libx262? Are both codebases in sync?
>
> >      .priv_class       = &X262_class,
> >      .defaults         = x264_defaults,
> >      .pix_fmts         = pix_fmts_8bit,
> > +#if X264_BUILD >= 158
> > +    .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
> > +#else
> >      .caps_internal    = FF_CODEC_CAP_INIT_CLEANUP,
> > +#endif
> >      .wrapper_name     = "libx264",
> >  };
> >  #endif

I have no idea, removed locally.

Carl Eugen


More information about the ffmpeg-devel mailing list