X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fqcelpdec.c;h=83be57a42758046f16e7644c259d3a3ba4bd3ca4;hb=846c3d6aca5484904e60946c4fe8b8833bc07f92;hp=ead7d90ee1577a2e5dd847864941feee970b7407;hpb=6d97484d72e33f7dde9493a9ead1a72e2f029605;p=ffmpeg diff --git a/libavcodec/qcelpdec.c b/libavcodec/qcelpdec.c index ead7d90ee15..83be57a4275 100644 --- a/libavcodec/qcelpdec.c +++ b/libavcodec/qcelpdec.c @@ -31,9 +31,10 @@ #include "libavutil/channel_layout.h" #include "libavutil/float_dsp.h" + #include "avcodec.h" +#include "bitstream.h" #include "internal.h" -#include "get_bits.h" #include "qcelpdata.h" #include "celp_filters.h" #include "acelp_filters.h" @@ -52,8 +53,8 @@ typedef enum { RATE_FULL } qcelp_packet_rate; -typedef struct { - GetBitContext gb; +typedef struct QCELPContext { + BitstreamContext bc; qcelp_packet_rate bitrate; QCELPFrame frame; /**< unpacked data frame */ @@ -94,7 +95,7 @@ static av_cold int qcelp_decode_init(AVCodecContext *avctx) avctx->sample_fmt = AV_SAMPLE_FMT_FLT; for (i = 0; i < 10; i++) - q->prev_lspf[i] = (i + 1) / 11.; + q->prev_lspf[i] = (i + 1) / 11.0; return 0; } @@ -162,7 +163,7 @@ static int decode_lspf(QCELPContext *q, float *lspf) } else { q->octave_count = 0; - tmp_lspf = 0.; + tmp_lspf = 0.0; for (i = 0; i < 5; i++) { lspf[2 * i + 0] = tmp_lspf += qcelp_lspvq[i][q->frame.lspv[i]][0] * 0.0001; lspf[2 * i + 1] = tmp_lspf += qcelp_lspvq[i][q->frame.lspv[i]][1] * 0.0001; @@ -434,7 +435,7 @@ static const float *do_pitchfilter(float memory[303], const float v_in[160], v_lag = memory + 143 + 40 * i - lag[i]; for (v_len = v_in + 40; v_in < v_len; v_in++) { if (pfrac[i]) { // If it is a fractional lag... - for (j = 0, *v_out = 0.; j < 4; j++) + for (j = 0, *v_out = 0.0; j < 4; j++) *v_out += qcelp_hammsinc_table[j] * (v_lag[j - 4] + v_lag[3 - j]); } else *v_out = *v_lag; @@ -600,7 +601,7 @@ static qcelp_packet_rate buf_size2bitrate(const int buf_size) * * @param avctx the AV codec context * @param buf_size length of the buffer - * @param buf the bufffer + * @param buf the buffer * * @return the bitrate on success, * I_F_Q if the bitrate cannot be satisfactorily determined @@ -718,12 +719,12 @@ static int qcelp_decode_frame(AVCodecContext *avctx, void *data, qcelp_unpacking_bitmaps_lengths[q->bitrate]; uint8_t *unpacked_data = (uint8_t *)&q->frame; - init_get_bits(&q->gb, buf, 8 * buf_size); + bitstream_init8(&q->bc, buf, buf_size); memset(&q->frame, 0, sizeof(QCELPFrame)); for (; bitmaps < bitmaps_end; bitmaps++) - unpacked_data[bitmaps->index] |= get_bits(&q->gb, bitmaps->bitlen) << bitmaps->bitpos; + unpacked_data[bitmaps->index] |= bitstream_read(&q->bc, bitmaps->bitlen) << bitmaps->bitpos; // Check for erasures/blanks on rates 1, 1/4 and 1/8. if (q->frame.reserved) { @@ -789,11 +790,11 @@ erasure: AVCodec ff_qcelp_decoder = { .name = "qcelp", + .long_name = NULL_IF_CONFIG_SMALL("QCELP / PureVoice"), .type = AVMEDIA_TYPE_AUDIO, .id = AV_CODEC_ID_QCELP, .init = qcelp_decode_init, .decode = qcelp_decode_frame, - .capabilities = CODEC_CAP_DR1, + .capabilities = AV_CODEC_CAP_DR1, .priv_data_size = sizeof(QCELPContext), - .long_name = NULL_IF_CONFIG_SMALL("QCELP / PureVoice"), };