X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fra144enc.c;h=6eab6c300fc24a0dc3a3c83096b15082820e3a89;hb=a617c6aaa3e6c0201c9ea31d319808273efd78b0;hp=9e2cf36c2df539cb8522b6b028383fe188a85ea4;hpb=23940f1405d4c19df69b1fa77c319e9f114c8ef7;p=ffmpeg diff --git a/libavcodec/ra144enc.c b/libavcodec/ra144enc.c index 9e2cf36c2df..6eab6c300fc 100644 --- a/libavcodec/ra144enc.c +++ b/libavcodec/ra144enc.c @@ -2,20 +2,20 @@ * Real Audio 1.0 (14.4K) encoder * Copyright (c) 2010 Francesco Lavra * - * This file is part of FFmpeg. + * This file is part of Libav. * - * FFmpeg is free software; you can redistribute it and/or + * Libav is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * - * FFmpeg is distributed in the hope that it will be useful, + * Libav is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software + * License along with Libav; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -29,7 +29,6 @@ #include "avcodec.h" #include "put_bits.h" -#include "lpc.h" #include "celp_filters.h" #include "ra144.h" @@ -37,8 +36,9 @@ static av_cold int ra144_encode_init(AVCodecContext * avctx) { RA144Context *ractx; + int ret; - if (avctx->sample_fmt != SAMPLE_FMT_S16) { + if (avctx->sample_fmt != AV_SAMPLE_FMT_S16) { av_log(avctx, AV_LOG_ERROR, "invalid sample format\n"); return -1; } @@ -53,7 +53,16 @@ static av_cold int ra144_encode_init(AVCodecContext * avctx) ractx->lpc_coef[0] = ractx->lpc_tables[0]; ractx->lpc_coef[1] = ractx->lpc_tables[1]; ractx->avctx = avctx; - dsputil_init(&ractx->dsp, avctx); + ret = ff_lpc_init(&ractx->lpc_ctx, avctx->frame_size, LPC_ORDER, + FF_LPC_TYPE_LEVINSON); + return ret; +} + + +static av_cold int ra144_encode_close(AVCodecContext *avctx) +{ + RA144Context *ractx = avctx->priv_data; + ff_lpc_end(&ractx->lpc_ctx); return 0; } @@ -451,8 +460,8 @@ static int ra144_encode_frame(AVCodecContext *avctx, uint8_t *frame, energy = ff_energy_tab[quantize(ff_t_sqrt(energy >> 5) >> 10, ff_energy_tab, 32)]; - ff_lpc_calc_coefs(&ractx->dsp, lpc_data, NBLOCKS * BLOCKSIZE, LPC_ORDER, - LPC_ORDER, 16, lpc_coefs, shift, AV_LPC_TYPE_LEVINSON, + ff_lpc_calc_coefs(&ractx->lpc_ctx, lpc_data, NBLOCKS * BLOCKSIZE, LPC_ORDER, + LPC_ORDER, 16, lpc_coefs, shift, FF_LPC_TYPE_LEVINSON, 0, ORDER_METHOD_EST, 12, 0); for (i = 0; i < LPC_ORDER; i++) block_coefs[NBLOCKS - 1][i] = -(lpc_coefs[LPC_ORDER - 1][i] << @@ -499,13 +508,14 @@ static int ra144_encode_frame(AVCodecContext *avctx, uint8_t *frame, } -AVCodec ra_144_encoder = +AVCodec ff_ra_144_encoder = { "real_144", - CODEC_TYPE_AUDIO, + AVMEDIA_TYPE_AUDIO, CODEC_ID_RA_144, sizeof(RA144Context), ra144_encode_init, ra144_encode_frame, + ra144_encode_close, .long_name = NULL_IF_CONFIG_SMALL("RealAudio 1.0 (14.4K) encoder"), };