mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2025-10-24 09:23:37 +08:00
use get_unary from bitstream.h
Originally committed as revision 9995 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@@ -114,12 +114,6 @@ static av_always_inline int wp_exp2(int16_t val)
|
||||
return neg ? -res : res;
|
||||
}
|
||||
|
||||
static inline int get_unary(GetBitContext *gb){
|
||||
int r=0;
|
||||
while(get_bits1(gb) && r<33)r++;
|
||||
return r;
|
||||
}
|
||||
|
||||
// macros for manipulating median values
|
||||
#define GET_MED(n) ((median[n] >> 4) + 1)
|
||||
#define DEC_MED(n) median[n] -= ((median[n] + (128>>n) - 2) / (128>>n)) * 2
|
||||
@@ -165,7 +159,7 @@ static int wv_get_value(WavpackContext *ctx, GetBitContext *gb, int *median, int
|
||||
if(ctx->zeroes)
|
||||
return 0;
|
||||
}else{
|
||||
t = get_unary(gb);
|
||||
t = get_unary(gb, 0, 33);
|
||||
if(t >= 2) t = get_bits(gb, t - 1) | (1 << (t-1));
|
||||
ctx->zeroes = t;
|
||||
if(ctx->zeroes){
|
||||
@@ -184,13 +178,13 @@ static int wv_get_value(WavpackContext *ctx, GetBitContext *gb, int *median, int
|
||||
t = 0;
|
||||
ctx->zero = 0;
|
||||
}else{
|
||||
t = get_unary(gb);
|
||||
t = get_unary(gb, 0, 33);
|
||||
if(get_bits_count(gb) >= ctx->data_size){
|
||||
*last = 1;
|
||||
return 0;
|
||||
}
|
||||
if(t == 16) {
|
||||
t2 = get_unary(gb);
|
||||
t2 = get_unary(gb, 0, 33);
|
||||
if(t2 < 2) t += t2;
|
||||
else t += get_bits(gb, t2 - 1) | (1 << (t2 - 1));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user