summaryrefslogtreecommitdiff
path: root/libavcodec/psymodel.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-01-24 02:41:53 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-01-24 02:41:53 +0100
commit0bb57f8bf029427059be21a562527dcfa0e264c9 (patch)
tree8e6743c4fc1f16f36899bdea87e485735c0d8d59 /libavcodec/psymodel.c
parentb955d4072e3e563b230c9ab4d6575577a3dc7314 (diff)
parent0fec2cb15cc6ff1fcc724c774ec36abadcb7b6ad (diff)
downloadffmpeg-0bb57f8bf029427059be21a562527dcfa0e264c9.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: Remove ffmpeg. aacenc: Simplify windowing aacenc: Move saved overlap samples to the beginning of the same buffer as incoming samples. aacenc: Deinterleave input samples before processing. aacenc: Store channel count in AACEncContext. aacenc: Move Q^3/4 calculation to it's own table aacenc: Request normalized float samples instead of converting s16 samples to float. aacpsy: Replace an if with FFMAX in LAME windowing. aacenc: cosmetics, replace 'rd' with 'bits' in codebook_trellis_rate to make it more clear what is being calculated. aacpsy: cosmetics, change a FIXME to a NOTE about subshort comparisons aacenc: cosmetics: move init() and end() to the bottom of the file. aacenc: aac_encode_init() cleanup XWD encoder and decoder vc1: don't read the interpfrm and bfraction elements for interlaced frames mxfdec: fix memleak on mxf_read_close() westwood: split the AUD and VQA demuxers into separate files. Conflicts: .gitignore Changelog Makefile configure doc/ffmpeg.texi ffmpeg.c libavcodec/Makefile libavcodec/aacenc.c libavcodec/allcodecs.c libavcodec/avcodec.h libavcodec/version.h libavformat/Makefile libavformat/img2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/psymodel.c')
-rw-r--r--libavcodec/psymodel.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/libavcodec/psymodel.c b/libavcodec/psymodel.c
index faadb1b870..b3cfb0e75f 100644
--- a/libavcodec/psymodel.c
+++ b/libavcodec/psymodel.c
@@ -112,20 +112,15 @@ av_cold struct FFPsyPreprocessContext* ff_psy_preprocess_init(AVCodecContext *av
return ctx;
}
-void ff_psy_preprocess(struct FFPsyPreprocessContext *ctx,
- const int16_t *audio, int16_t *dest,
- int tag, int channels)
+void ff_psy_preprocess(struct FFPsyPreprocessContext *ctx, float **audio, int channels)
{
- int ch, i;
+ int ch;
+ int frame_size = ctx->avctx->frame_size;
+
if (ctx->fstate) {
for (ch = 0; ch < channels; ch++)
- ff_iir_filter(ctx->fcoeffs, ctx->fstate[tag+ch], ctx->avctx->frame_size,
- audio + ch, ctx->avctx->channels,
- dest + ch, ctx->avctx->channels);
- } else {
- for (ch = 0; ch < channels; ch++)
- for (i = 0; i < ctx->avctx->frame_size; i++)
- dest[i*ctx->avctx->channels + ch] = audio[i*ctx->avctx->channels + ch];
+ ff_iir_filter_flt(ctx->fcoeffs, ctx->fstate[ch], frame_size,
+ &audio[ch][frame_size], 1, &audio[ch][frame_size], 1);
}
}