[FFmpeg-devel] [PATCH] avcodec: do not use init_static_data on some codecs
wm4
nfxjfg at googlemail.com
Sat Feb 3 12:30:39 EET 2018
On Sat, 3 Feb 2018 03:29:40 +0100
Michael Niedermayer <michael at niedermayer.cc> wrote:
> On Sat, Feb 03, 2018 at 01:36:37AM +0700, Muhammad Faiz wrote:
> > They don't modify AVCodec, no needs to call it at register. They will be
> > wasteful if these codecs are unused. Instead, call static data initialization
> > at codecs' init.
> >
> > Benchmark:
> > old: 51281340 decicycles in avcodec_register_all, 1 runs, 0 skips
> > new: 6738960 decicycles in avcodec_register_all, 1 runs, 0 skips
> >
> > Signed-off-by: Muhammad Faiz <mfcc64 at gmail.com>
> > ---
> > libavcodec/jpeg2000dec.c | 16 +++++++++-------
> > libavcodec/qdmc.c | 7 +++++--
> > libavcodec/wmavoice.c | 7 +++++--
> > 3 files changed, 19 insertions(+), 11 deletions(-)
>
> LGTM
>
> it would be better though if this would happen for all
> init_static_data() without the need for extra code per codec
AFAIK these are the only ones that use it, other than some encoder
wrappers which change AVCodec.pix_fmts (and thus need to be done it as
soon as the user could see the AVCodec pointer).
More information about the ffmpeg-devel
mailing list