On 1/6/17, James Almer <jamr...@gmail.com> wrote:
> Signed-off-by: James Almer <jamr...@gmail.com>
> ---
>  libavcodec/atrac3.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c
> index 256990b..208762d 100644
> --- a/libavcodec/atrac3.c
> +++ b/libavcodec/atrac3.c
> @@ -771,7 +771,7 @@ static int atrac3_decode_frame(AVCodecContext *avctx,
> void *data,
>      return avctx->block_align;
>  }
>
> -static av_cold void atrac3_init_static_data(void)
> +static av_cold void atrac3_decode_init_static_data(AVCodec *codec)
>  {
>      int i;
>
> @@ -791,7 +791,6 @@ static av_cold void atrac3_init_static_data(void)
>
>  static av_cold int atrac3_decode_init(AVCodecContext *avctx)
>  {
> -    static int static_init_done;
>      int i, ret;
>      int version, delay, samples_per_frame, frame_factor;
>      const uint8_t *edata_ptr = avctx->extradata;
> @@ -802,10 +801,6 @@ static av_cold int atrac3_decode_init(AVCodecContext
> *avctx)
>          return AVERROR(EINVAL);
>      }
>
> -    if (!static_init_done)
> -        atrac3_init_static_data();
> -    static_init_done = 1;
> -
>      /* Take care of the codec-specific extradata. */
>      if (avctx->extradata_size == 14) {
>          /* Parse the extradata, WAV format */
> @@ -932,6 +927,7 @@ AVCodec ff_atrac3_decoder = {
>      .id               = AV_CODEC_ID_ATRAC3,
>      .priv_data_size   = sizeof(ATRAC3Context),
>      .init             = atrac3_decode_init,
> +    .init_static_data = atrac3_decode_init_static_data,
>      .close            = atrac3_decode_close,
>      .decode           = atrac3_decode_frame,
>      .capabilities     = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
> --
> 2.10.2

The issue is that init_static_data is called even when codec is never
gonna be used.
And it is called for both encoder and decoder.

Do we really want such startup speed and memory overhead?
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to