Commit 6f94a64b authored by Alexandra Hájková's avatar Alexandra Hájková Committed by Anton Khirnov

nellymoser: Convert to the new bitstream reader

Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
parent 15d4dbfd
...@@ -38,8 +38,8 @@ ...@@ -38,8 +38,8 @@
#define BITSTREAM_READER_LE #define BITSTREAM_READER_LE
#include "avcodec.h" #include "avcodec.h"
#include "bitstream.h"
#include "fft.h" #include "fft.h"
#include "get_bits.h"
#include "internal.h" #include "internal.h"
#include "nellymoser.h" #include "nellymoser.h"
#include "sinewin.h" #include "sinewin.h"
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
typedef struct NellyMoserDecodeContext { typedef struct NellyMoserDecodeContext {
AVCodecContext* avctx; AVCodecContext* avctx;
AVLFG random_state; AVLFG random_state;
GetBitContext gb; BitstreamContext bc;
float scale_bias; float scale_bias;
AVFloatDSPContext fdsp; AVFloatDSPContext fdsp;
FFTContext imdct_ctx; FFTContext imdct_ctx;
...@@ -67,14 +67,14 @@ static void nelly_decode_block(NellyMoserDecodeContext *s, ...@@ -67,14 +67,14 @@ static void nelly_decode_block(NellyMoserDecodeContext *s,
int bits[NELLY_BUF_LEN]; int bits[NELLY_BUF_LEN];
unsigned char v; unsigned char v;
init_get_bits(&s->gb, block, NELLY_BLOCK_LEN * 8); bitstream_init(&s->bc, block, NELLY_BLOCK_LEN * 8);
bptr = buf; bptr = buf;
pptr = pows; pptr = pows;
val = ff_nelly_init_table[get_bits(&s->gb, 6)]; val = ff_nelly_init_table[bitstream_read(&s->bc, 6)];
for (i=0 ; i<NELLY_BANDS ; i++) { for (i=0 ; i<NELLY_BANDS ; i++) {
if (i > 0) if (i > 0)
val += ff_nelly_delta_table[get_bits(&s->gb, 5)]; val += ff_nelly_delta_table[bitstream_read(&s->bc, 5)];
pval = -pow(2, val/2048) * s->scale_bias; pval = -pow(2, val/2048) * s->scale_bias;
for (j = 0; j < ff_nelly_band_sizes_table[i]; j++) { for (j = 0; j < ff_nelly_band_sizes_table[i]; j++) {
*bptr++ = val; *bptr++ = val;
...@@ -88,8 +88,8 @@ static void nelly_decode_block(NellyMoserDecodeContext *s, ...@@ -88,8 +88,8 @@ static void nelly_decode_block(NellyMoserDecodeContext *s,
for (i = 0; i < 2; i++) { for (i = 0; i < 2; i++) {
aptr = audio + i * NELLY_BUF_LEN; aptr = audio + i * NELLY_BUF_LEN;
init_get_bits(&s->gb, block, NELLY_BLOCK_LEN * 8); bitstream_init(&s->bc, block, NELLY_BLOCK_LEN * 8);
skip_bits_long(&s->gb, NELLY_HEADER_BITS + i*NELLY_DETAIL_BITS); bitstream_skip(&s->bc, NELLY_HEADER_BITS + i * NELLY_DETAIL_BITS);
for (j = 0; j < NELLY_FILL_LEN; j++) { for (j = 0; j < NELLY_FILL_LEN; j++) {
if (bits[j] <= 0) { if (bits[j] <= 0) {
...@@ -97,7 +97,7 @@ static void nelly_decode_block(NellyMoserDecodeContext *s, ...@@ -97,7 +97,7 @@ static void nelly_decode_block(NellyMoserDecodeContext *s,
if (av_lfg_get(&s->random_state) & 1) if (av_lfg_get(&s->random_state) & 1)
aptr[j] *= -1.0; aptr[j] *= -1.0;
} else { } else {
v = get_bits(&s->gb, bits[j]); v = bitstream_read(&s->bc, bits[j]);
aptr[j] = ff_nelly_dequantization_table[(1<<bits[j])-1+v]*pows[j]; aptr[j] = ff_nelly_dequantization_table[(1<<bits[j])-1+v]*pows[j];
} }
} }
......
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