Browse Source

add get_unary_0_33() to help gcc with inlining

Originally committed as revision 10242 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Aurelien Jacobs 18 years ago
parent
commit
ca1daf0ad0
2 changed files with 13 additions and 3 deletions
  1. +10
    -0
      libavcodec/unary.h
  2. +3
    -3
      libavcodec/wavpack.c

+ 10
- 0
libavcodec/unary.h View File

@@ -38,4 +38,14 @@ static inline int get_unary(GetBitContext *gb, int stop, int len)
return i;
}

/**
* Get unary code terminated by a 0 with a maximum length of 33
* @param gb GetBitContext
* @return Unary length/index
*/
static inline int get_unary_0_33(GetBitContext *gb)
{
return get_unary(gb, 0, 33);
}

#endif /* AVCODEC_UNARY_H */

+ 3
- 3
libavcodec/wavpack.c View File

@@ -161,7 +161,7 @@ static int wv_get_value(WavpackContext *ctx, GetBitContext *gb, int *median, int
if(ctx->zeroes)
return 0;
}else{
t = get_unary(gb, 0, 33);
t = get_unary_0_33(gb);
if(t >= 2) t = get_bits(gb, t - 1) | (1 << (t-1));
ctx->zeroes = t;
if(ctx->zeroes){
@@ -180,13 +180,13 @@ static int wv_get_value(WavpackContext *ctx, GetBitContext *gb, int *median, int
t = 0;
ctx->zero = 0;
}else{
t = get_unary(gb, 0, 33);
t = get_unary_0_33(gb);
if(get_bits_count(gb) >= ctx->data_size){
*last = 1;
return 0;
}
if(t == 16) {
t2 = get_unary(gb, 0, 33);
t2 = get_unary_0_33(gb);
if(t2 < 2) t += t2;
else t += get_bits(gb, t2 - 1) | (1 << (t2 - 1));
}


Loading…
Cancel
Save