Commit 087bc8d7 authored by Alexandra Hájková's avatar Alexandra Hájková Committed by Diego Biurrun

sipr: Convert to the new bitstream reader

parent f26cbb55
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#define BITSTREAM_READER_LE #define BITSTREAM_READER_LE
#include "avcodec.h" #include "avcodec.h"
#include "get_bits.h" #include "bitstream.h"
#include "internal.h" #include "internal.h"
#include "lsp.h" #include "lsp.h"
#include "acelp_vectors.h" #include "acelp_vectors.h"
...@@ -188,28 +188,28 @@ static void pitch_sharpening(int pitch_lag_int, float beta, ...@@ -188,28 +188,28 @@ static void pitch_sharpening(int pitch_lag_int, float beta,
/** /**
* Extract decoding parameters from the input bitstream. * Extract decoding parameters from the input bitstream.
* @param parms parameters structure * @param parms parameters structure
* @param pgb pointer to initialized GetBitContext structure * @param bc pointer to initialized BitstreamContext structure
*/ */
static void decode_parameters(SiprParameters* parms, GetBitContext *pgb, static void decode_parameters(SiprParameters* parms, BitstreamContext *bc,
const SiprModeParam *p) const SiprModeParam *p)
{ {
int i, j; int i, j;
if (p->ma_predictor_bits) if (p->ma_predictor_bits)
parms->ma_pred_switch = get_bits(pgb, p->ma_predictor_bits); parms->ma_pred_switch = bitstream_read(bc, p->ma_predictor_bits);
for (i = 0; i < 5; i++) for (i = 0; i < 5; i++)
parms->vq_indexes[i] = get_bits(pgb, p->vq_indexes_bits[i]); parms->vq_indexes[i] = bitstream_read(bc, p->vq_indexes_bits[i]);
for (i = 0; i < p->subframe_count; i++) { for (i = 0; i < p->subframe_count; i++) {
parms->pitch_delay[i] = get_bits(pgb, p->pitch_delay_bits[i]); parms->pitch_delay[i] = bitstream_read(bc, p->pitch_delay_bits[i]);
if (p->gp_index_bits) if (p->gp_index_bits)
parms->gp_index[i] = get_bits(pgb, p->gp_index_bits); parms->gp_index[i] = bitstream_read(bc, p->gp_index_bits);
for (j = 0; j < p->number_of_fc_indexes; j++) for (j = 0; j < p->number_of_fc_indexes; j++)
parms->fc_indexes[i][j] = get_bits(pgb, p->fc_index_bits[j]); parms->fc_indexes[i][j] = bitstream_read(bc, p->fc_index_bits[j]);
parms->gc_index[i] = get_bits(pgb, p->gc_index_bits); parms->gc_index[i] = bitstream_read(bc, p->gc_index_bits);
} }
} }
...@@ -527,7 +527,7 @@ static int sipr_decode_frame(AVCodecContext *avctx, void *data, ...@@ -527,7 +527,7 @@ static int sipr_decode_frame(AVCodecContext *avctx, void *data,
const uint8_t *buf=avpkt->data; const uint8_t *buf=avpkt->data;
SiprParameters parm; SiprParameters parm;
const SiprModeParam *mode_par = &modes[ctx->mode]; const SiprModeParam *mode_par = &modes[ctx->mode];
GetBitContext gb; BitstreamContext bc;
float *samples; float *samples;
int subframe_size = ctx->mode == MODE_16k ? L_SUBFR_16k : SUBFR_SIZE; int subframe_size = ctx->mode == MODE_16k ? L_SUBFR_16k : SUBFR_SIZE;
int i, ret; int i, ret;
...@@ -549,10 +549,10 @@ static int sipr_decode_frame(AVCodecContext *avctx, void *data, ...@@ -549,10 +549,10 @@ static int sipr_decode_frame(AVCodecContext *avctx, void *data,
} }
samples = (float *)frame->data[0]; samples = (float *)frame->data[0];
init_get_bits(&gb, buf, mode_par->bits_per_frame); bitstream_init(&bc, buf, mode_par->bits_per_frame);
for (i = 0; i < mode_par->frames_per_packet; i++) { for (i = 0; i < mode_par->frames_per_packet; i++) {
decode_parameters(&parm, &gb, mode_par); decode_parameters(&parm, &bc, mode_par);
ctx->decode_frame(ctx, &parm, samples); ctx->decode_frame(ctx, &parm, samples);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment