From ca1daf0ad06e349344b80b90ea9cb91edda58bb8 Mon Sep 17 00:00:00 2001 From: Aurelien Jacobs Date: Sun, 26 Aug 2007 22:38:57 +0000 Subject: [PATCH] add get_unary_0_33() to help gcc with inlining Originally committed as revision 10242 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/unary.h | 10 ++++++++++ libavcodec/wavpack.c | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/libavcodec/unary.h b/libavcodec/unary.h index daf02c3aab..0f600cc4e0 100644 --- a/libavcodec/unary.h +++ b/libavcodec/unary.h @@ -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 */ diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c index f6764b2657..798f6bed70 100644 --- a/libavcodec/wavpack.c +++ b/libavcodec/wavpack.c @@ -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)); }