git.videolan.org
/
ffmpeg.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
9aec009
)
adx: Convert to the new bitstream reader
author
Alexandra Hájková
<alexandra@khirnov.net>
Tue, 12 Apr 2016 10:32:06 +0000
(12:32 +0200)
committer
Diego Biurrun
<diego@biurrun.de>
Mon, 9 Jan 2017 14:21:47 +0000
(15:21 +0100)
libavcodec/adxdec.c
patch
|
blob
|
history
diff --git
a/libavcodec/adxdec.c
b/libavcodec/adxdec.c
index
dc587b2
..
a3344ae
100644
(file)
--- a/
libavcodec/adxdec.c
+++ b/
libavcodec/adxdec.c
@@
-20,9
+20,10
@@
*/
#include "libavutil/intreadwrite.h"
*/
#include "libavutil/intreadwrite.h"
+
#include "avcodec.h"
#include "adx.h"
#include "avcodec.h"
#include "adx.h"
-#include "
get_bits
.h"
+#include "
bitstream
.h"
#include "internal.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];
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;
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;
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++) {
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);
s0 = ((d << COEFF_BITS) * scale + c->coeff[0] * s1 + c->coeff[1] * s2) >> COEFF_BITS;
s2 = s1;
s1 = av_clip_int16(s0);