repositories
/
deb_ffmpeg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Debian version 2.5.0~trusty1.1
[deb_ffmpeg.git]
/
ffmpeg
/
libavcodec
/
atrac3.c
diff --git
a/ffmpeg/libavcodec/atrac3.c
b/ffmpeg/libavcodec/atrac3.c
index d1dfa6b0edcffc1b911f5b027e6b82445e06007c..9dc0811dab6791aa2c3cc7148572894b6554f611 100644
(file)
--- a/
ffmpeg/libavcodec/atrac3.c
+++ b/
ffmpeg/libavcodec/atrac3.c
@@
-109,7
+109,7
@@
typedef struct ATRAC3Context {
AtracGCContext gainc_ctx;
FFTContext mdct_ctx;
FmtConvertContext fmt_conv;
AtracGCContext gainc_ctx;
FFTContext mdct_ctx;
FmtConvertContext fmt_conv;
- AVFloatDSPContext fdsp;
+ AVFloatDSPContext
*
fdsp;
} ATRAC3Context;
static DECLARE_ALIGNED(32, float, mdct_window)[MDCT_SIZE];
} ATRAC3Context;
static DECLARE_ALIGNED(32, float, mdct_window)[MDCT_SIZE];
@@
-142,7
+142,7
@@
static void imlt(ATRAC3Context *q, float *input, float *output, int odd_band)
q->mdct_ctx.imdct_calc(&q->mdct_ctx, output, input);
/* Perform windowing on the output. */
q->mdct_ctx.imdct_calc(&q->mdct_ctx, output, input);
/* Perform windowing on the output. */
- q->fdsp
.
vector_fmul(output, output, mdct_window, MDCT_SIZE);
+ q->fdsp
->
vector_fmul(output, output, mdct_window, MDCT_SIZE);
}
/*
}
/*
@@
-190,8
+190,9
@@
static av_cold int atrac3_decode_close(AVCodecContext *avctx)
{
ATRAC3Context *q = avctx->priv_data;
{
ATRAC3Context *q = avctx->priv_data;
- av_free(q->units);
- av_free(q->decoded_bytes_buffer);
+ av_freep(&q->units);
+ av_freep(&q->decoded_bytes_buffer);
+ av_freep(&q->fdsp);
ff_mdct_end(&q->mdct_ctx);
ff_mdct_end(&q->mdct_ctx);
@@
-915,11
+916,11
@@
static av_cold int atrac3_decode_init(AVCodecContext *avctx)
}
ff_atrac_init_gain_compensation(&q->gainc_ctx, 4, 3);
}
ff_atrac_init_gain_compensation(&q->gainc_ctx, 4, 3);
-
avpriv_float_dsp_init(&q->fdsp,
avctx->flags & CODEC_FLAG_BITEXACT);
+
q->fdsp = avpriv_float_dsp_alloc(
avctx->flags & CODEC_FLAG_BITEXACT);
ff_fmt_convert_init(&q->fmt_conv, avctx);
q->units = av_mallocz_array(avctx->channels, sizeof(*q->units));
ff_fmt_convert_init(&q->fmt_conv, avctx);
q->units = av_mallocz_array(avctx->channels, sizeof(*q->units));
- if (!q->units) {
+ if (!q->units
|| !q->fdsp
) {
atrac3_decode_close(avctx);
return AVERROR(ENOMEM);
}
atrac3_decode_close(avctx);
return AVERROR(ENOMEM);
}