From ec0719264cb9a9d5cbaf225da48929aea24997a3 Mon Sep 17 00:00:00 2001 From: Rostislav Pehlivanov Date: Fri, 27 Nov 2015 17:51:42 +0000 Subject: aac: temporarily un-share aac_table_init AVOnce variable AAC-Fixed decoder segfaulted. This commit makes the aac encoder and decoder init the table twice in case of transcoding again. Signed-off-by: Rostislav Pehlivanov --- libavcodec/aacdec_template.c | 2 ++ libavcodec/aacenc.c | 3 +++ libavcodec/aactab.c | 3 --- libavcodec/aactab.h | 3 --- 4 files changed, 5 insertions(+), 6 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c index 82f4fb4..620600c 100644 --- a/libavcodec/aacdec_template.c +++ b/libavcodec/aacdec_template.c @@ -1103,6 +1103,8 @@ static av_cold void aac_static_table_init(void) AAC_RENAME(cbrt_tableinit)(); } +static AVOnce aac_table_init = AV_ONCE_INIT; + static av_cold int aac_decode_init(AVCodecContext *avctx) { AACContext *ac = avctx->priv_data; diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c index d6cac47..e49cf4b 100644 --- a/libavcodec/aacenc.c +++ b/libavcodec/aacenc.c @@ -29,6 +29,7 @@ * add sane pulse detection ***********************************/ +#include "libavutil/thread.h" #include "libavutil/float_dsp.h" #include "libavutil/opt.h" #include "avcodec.h" @@ -46,6 +47,8 @@ #include "psymodel.h" +static AVOnce aac_table_init = AV_ONCE_INIT; + /** * Make AAC audio config object. * @see 1.6.2.1 "Syntax - AudioSpecificConfig" diff --git a/libavcodec/aactab.c b/libavcodec/aactab.c index c6e797e..dc9acc1 100644 --- a/libavcodec/aactab.c +++ b/libavcodec/aactab.c @@ -27,15 +27,12 @@ * @author Maxim Gavrilov ( maxim.gavrilov gmail com ) */ -#include "libavutil/thread.h" #include "libavutil/mem.h" #include "aac.h" #include "aac_tablegen.h" #include -AVOnce aac_table_init = AV_ONCE_INIT; - DECLARE_ALIGNED(32, float, ff_aac_kbd_long_1024)[1024]; DECLARE_ALIGNED(32, float, ff_aac_kbd_short_128)[128]; DECLARE_ALIGNED(32, int, ff_aac_kbd_long_1024_fixed)[1024]; diff --git a/libavcodec/aactab.h b/libavcodec/aactab.h index e7d5d48..321c5d3 100644 --- a/libavcodec/aactab.h +++ b/libavcodec/aactab.h @@ -30,7 +30,6 @@ #ifndef AVCODEC_AACTAB_H #define AVCODEC_AACTAB_H -#include "libavutil/thread.h" #include "libavutil/mem.h" #include "aac.h" #include "aac_tablegen_decl.h" @@ -41,8 +40,6 @@ * Tables in this file are shared by the AAC decoders and encoder */ -extern AVOnce aac_table_init; /* Protects ff_aac_tableinit() */ - /* @name ltp_coef * Table of the LTP coefficients */ -- cgit v1.1