summaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorRostislav Pehlivanov <atomnuker@gmail.com>2015-11-27 17:51:42 +0000
committerRostislav Pehlivanov <atomnuker@gmail.com>2015-11-27 17:51:42 +0000
commitec0719264cb9a9d5cbaf225da48929aea24997a3 (patch)
tree15735cb77c99acf4aa64f2fd6b990549382f019a /libavcodec
parent591fbd629ef5fcff874a5cca8a9edd094f0c9ea4 (diff)
downloadffmpeg-streaming-ec0719264cb9a9d5cbaf225da48929aea24997a3.zip
ffmpeg-streaming-ec0719264cb9a9d5cbaf225da48929aea24997a3.tar.gz
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 <atomnuker@gmail.com>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/aacdec_template.c2
-rw-r--r--libavcodec/aacenc.c3
-rw-r--r--libavcodec/aactab.c3
-rw-r--r--libavcodec/aactab.h3
4 files changed, 5 insertions, 6 deletions
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 <stdint.h>
-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
*/
OpenPOWER on IntegriCloud