X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fnellymoserenc.c;h=9d120816e0dcd8ce654ca3abcbcb19e4338f5cea;hb=6aa4ba7131b6e8668e33430e18101a051fe492eb;hp=34a15e5a50d0d5ab77973bf7ee919647fa6a392d;hpb=42d324694883cdf1fff1612ac70fa403692a1ad4;p=ffmpeg diff --git a/libavcodec/nellymoserenc.c b/libavcodec/nellymoserenc.c index 34a15e5a50d..9d120816e0d 100644 --- a/libavcodec/nellymoserenc.c +++ b/libavcodec/nellymoserenc.c @@ -35,14 +35,15 @@ * 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 "dsputil.h" +#include "avcodec.h" #include "fft.h" #include "internal.h" +#include "nellymoser.h" #include "sinewin.h" #define BITSTREAM_WRITER_LE @@ -61,8 +62,8 @@ typedef struct NellyMoserEncodeContext { 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); @@ -141,9 +142,6 @@ static av_cold int encode_end(AVCodecContext *avctx) av_free(s->path); } ff_af_queue_close(&s->afq); -#if FF_API_OLD_ENCODE_AUDIO - av_freep(&avctx->coded_frame); -#endif return 0; } @@ -167,12 +165,12 @@ static av_cold int encode_init(AVCodecContext *avctx) } 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) goto error; - avpriv_float_dsp_init(&s->fdsp, avctx->flags & CODEC_FLAG_BITEXACT); + avpriv_float_dsp_init(&s->fdsp, avctx->flags & AV_CODEC_FLAG_BITEXACT); /* Generate overlap window */ ff_sine_window_init(ff_sine_128, 128); @@ -188,14 +186,6 @@ static av_cold int encode_init(AVCodecContext *avctx) } } -#if FF_API_OLD_ENCODE_AUDIO - avctx->coded_frame = avcodec_alloc_frame(); - if (!avctx->coded_frame) { - ret = AVERROR(ENOMEM); - goto error; - } -#endif - return 0; error: encode_end(avctx); @@ -238,10 +228,10 @@ static void get_exponent_dynamic(NellyMoserEncodeContext *s, float *cand, int *i 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; } @@ -418,14 +408,14 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *avpkt, AVCodec ff_nellymoser_encoder = { .name = "nellymoser", + .long_name = NULL_IF_CONFIG_SMALL("Nellymoser Asao"), .type = AVMEDIA_TYPE_AUDIO, .id = AV_CODEC_ID_NELLYMOSER, .priv_data_size = sizeof(NellyMoserEncodeContext), .init = encode_init, .encode2 = encode_frame, .close = encode_end, - .capabilities = CODEC_CAP_SMALL_LAST_FRAME | CODEC_CAP_DELAY, - .long_name = NULL_IF_CONFIG_SMALL("Nellymoser Asao"), + .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY, .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_NONE }, };