aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandra Hájková <alexandra@khirnov.net>2016-04-12 12:32:06 +0200
committerDiego Biurrun <diego@biurrun.de>2017-01-09 15:21:47 +0100
commit4e2505103146c539c6277b8d9d7e6840f6f1db07 (patch)
tree1d577757b68bc58c84c1f40573765a12460dca39
parent9aec009f65f737c7566b2329b5cbd975665d1e02 (diff)
downloadffmpeg-4e2505103146c539c6277b8d9d7e6840f6f1db07.tar.gz
adx: Convert to the new bitstream reader
-rw-r--r--libavcodec/adxdec.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libavcodec/adxdec.c b/libavcodec/adxdec.c
index dc587b2733..a3344ae695 100644
--- a/libavcodec/adxdec.c
+++ b/libavcodec/adxdec.c
@@ -20,9 +20,10 @@
*/
#include "libavutil/intreadwrite.h"
+
#include "avcodec.h"
#include "adx.h"
-#include "get_bits.h"
+#include "bitstream.h"
#include "internal.h"
/**
@@ -66,7 +67,7 @@ static int adx_decode(ADXContext *c, int16_t *out, int offset,
const uint8_t *in, int ch)
{
ADXChannelState *prev = &c->prev[ch];
- GetBitContext gb;
+ BitstreamContext bc;
int scale = AV_RB16(in);
int i;
int s0, s1, s2, d;
@@ -75,12 +76,12 @@ static int adx_decode(ADXContext *c, int16_t *out, int offset,
if (scale & 0x8000)
return -1;
- init_get_bits(&gb, in + 2, (BLOCK_SIZE - 2) * 8);
+ bitstream_init(&bc, in + 2, (BLOCK_SIZE - 2) * 8);
out += offset;
s1 = prev->s1;
s2 = prev->s2;
for (i = 0; i < BLOCK_SAMPLES; i++) {
- d = get_sbits(&gb, 4);
+ d = bitstream_read_signed(&bc, 4);
s0 = ((d << COEFF_BITS) * scale + c->coeff[0] * s1 + c->coeff[1] * s2) >> COEFF_BITS;
s2 = s1;
s1 = av_clip_int16(s0);