* http://wiki.multimedia.cx/index.php?title=Nellymoser
*/
+#include "libavutil/common.h"
#include "libavutil/float_dsp.h"
#include "libavutil/mathematics.h"
-#include "nellymoser.h"
-#include "avcodec.h"
+
#include "audio_frame_queue.h"
+#include "avcodec.h"
#include "fft.h"
#include "internal.h"
+#include "nellymoser.h"
#include "sinewin.h"
#define BITSTREAM_WRITER_LE
DECLARE_ALIGNED(32, float, mdct_out)[NELLY_SAMPLES];
DECLARE_ALIGNED(32, float, in_buff)[NELLY_SAMPLES];
DECLARE_ALIGNED(32, float, buf)[3 * NELLY_BUF_LEN]; ///< sample buffer
- float (*opt )[NELLY_BANDS];
- uint8_t (*path)[NELLY_BANDS];
+ float (*opt )[OPT_SIZE];
+ uint8_t (*path)[OPT_SIZE];
} NellyMoserEncodeContext;
static float pow_table[POW_TABLE_SIZE]; ///< -pow(2, -i / 2048.0 - 3.0);
}
avctx->frame_size = NELLY_SAMPLES;
- avctx->delay = NELLY_BUF_LEN;
+ avctx->initial_padding = NELLY_BUF_LEN;
ff_af_queue_init(avctx, &s->afq);
s->avctx = avctx;
if ((ret = ff_mdct_init(&s->mdct_ctx, 8, 0, 32768.0)) < 0)
int i, j, band, best_idx;
float power_candidate, best_val;
- float (*opt )[NELLY_BANDS] = s->opt ;
- uint8_t(*path)[NELLY_BANDS] = s->path;
+ float (*opt )[OPT_SIZE] = s->opt ;
+ uint8_t(*path)[OPT_SIZE] = s->path;
- for (i = 0; i < NELLY_BANDS * OPT_SIZE; i++) {
+ for (i = 0; i < OPT_SIZE; i++) {
opt[0][i] = INFINITY;
}