Commit 99423853 authored by Justin Ruggles's avatar Justin Ruggles

adx: simplify encoding by using put_sbits()

parent b237248e
......@@ -22,6 +22,7 @@
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "adx.h"
#include "put_bits.h"
/**
* @file
......@@ -37,6 +38,7 @@
static void adx_encode(ADXContext *c, unsigned char *adx, const short *wav,
ADXChannelState *prev)
{
PutBitContext pb;
int scale;
int i;
int s0,s1,s2,d;
......@@ -72,9 +74,10 @@ static void adx_encode(ADXContext *c, unsigned char *adx, const short *wav,
AV_WB16(adx, scale);
for(i=0;i<16;i++) {
adx[i+2] = ((data[i*2]/scale)<<4) | ((data[i*2+1]/scale)&0xf);
}
init_put_bits(&pb, adx + 2, 16);
for (i = 0; i < 32; i++)
put_sbits(&pb, 4, av_clip(data[i]/scale, -8, 7));
flush_put_bits(&pb);
}
static int adx_encode_header(AVCodecContext *avctx,unsigned char *buf,size_t bufsize)
......
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