summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-06-13 19:10:19 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-06-13 19:51:35 +0200
commit97c285e61bc39d0f6e556988d71476c8e8798bab (patch)
tree89659e4bd419467ff960c4c647bc81e1ce40671d
parent684a9152c3b9d036c2a46c7ca3b772953e493de6 (diff)
parent27631796c9d1b8146ad4a16e6539ecc08afa7565 (diff)
Merge commit '27631796c9d1b8146ad4a16e6539ecc08afa7565'
* commit '27631796c9d1b8146ad4a16e6539ecc08afa7565': ac3: Only initialize float_dsp for the float encoder variant Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/ac3enc.c1
-rw-r--r--libavcodec/ac3enc.h1
-rw-r--r--libavcodec/ac3enc_float.c8
-rw-r--r--libavcodec/eac3enc.c2
4 files changed, 9 insertions, 3 deletions
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index c13c50bbaf..9bc22bede4 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -2479,7 +2479,6 @@ av_cold int ff_ac3_encode_init(AVCodecContext *avctx)
goto init_fail;
ff_dsputil_init(&s->dsp, avctx);
- avpriv_float_dsp_init(&s->fdsp, avctx->flags & CODEC_FLAG_BITEXACT);
ff_ac3dsp_init(&s->ac3dsp, avctx->flags & CODEC_FLAG_BITEXACT);
dprint_options(s);
diff --git a/libavcodec/ac3enc.h b/libavcodec/ac3enc.h
index 94312ba46f..13490340b3 100644
--- a/libavcodec/ac3enc.h
+++ b/libavcodec/ac3enc.h
@@ -266,6 +266,7 @@ typedef struct AC3EncodeContext {
extern const uint64_t ff_ac3_channel_layouts[19];
int ff_ac3_encode_init(AVCodecContext *avctx);
+int ff_ac3_float_encode_init(AVCodecContext *avctx);
int ff_ac3_encode_close(AVCodecContext *avctx);
diff --git a/libavcodec/ac3enc_float.c b/libavcodec/ac3enc_float.c
index 85ff66344e..fca95b1819 100644
--- a/libavcodec/ac3enc_float.c
+++ b/libavcodec/ac3enc_float.c
@@ -134,6 +134,12 @@ static CoefType calc_cpl_coord(CoefSumType energy_ch, CoefSumType energy_cpl)
return FFMIN(coord, COEF_MAX);
}
+av_cold int ff_ac3_float_encode_init(AVCodecContext *avctx)
+{
+ AC3EncodeContext *s = avctx->priv_data;
+ avpriv_float_dsp_init(&s->fdsp, avctx->flags & CODEC_FLAG_BITEXACT);
+ return ff_ac3_encode_init(avctx);
+}
AVCodec ff_ac3_encoder = {
.name = "ac3",
@@ -141,7 +147,7 @@ AVCodec ff_ac3_encoder = {
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_AC3,
.priv_data_size = sizeof(AC3EncodeContext),
- .init = ff_ac3_encode_init,
+ .init = ff_ac3_float_encode_init,
.encode2 = ff_ac3_float_encode_frame,
.close = ff_ac3_encode_close,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
diff --git a/libavcodec/eac3enc.c b/libavcodec/eac3enc.c
index 951122d80d..e1d61f68bf 100644
--- a/libavcodec/eac3enc.c
+++ b/libavcodec/eac3enc.c
@@ -257,7 +257,7 @@ AVCodec ff_eac3_encoder = {
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_EAC3,
.priv_data_size = sizeof(AC3EncodeContext),
- .init = ff_ac3_encode_init,
+ .init = ff_ac3_float_encode_init,
.encode2 = ff_ac3_float_encode_frame,
.close = ff_ac3_encode_close,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,