summaryrefslogtreecommitdiff
path: root/libavcodec/golomb.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/golomb.h')
-rw-r--r--libavcodec/golomb.h13
1 files changed, 3 insertions, 10 deletions
diff --git a/libavcodec/golomb.h b/libavcodec/golomb.h
index 1632ee37cc..b9b29e7e66 100644
--- a/libavcodec/golomb.h
+++ b/libavcodec/golomb.h
@@ -215,9 +215,7 @@ static inline int get_se_golomb(GetBitContext *gb)
static inline int get_se_golomb_long(GetBitContext *gb)
{
unsigned int buf = get_ue_golomb_long(gb);
- int sign;
-
- sign = (buf & 1) - 1;
+ int sign = (buf & 1) - 1;
return ((buf >> 1) ^ sign) + 1;
}
@@ -259,8 +257,7 @@ static inline int dirac_get_se_golomb(GetBitContext *gb)
uint32_t ret = svq3_get_ue_golomb(gb);
if (ret) {
- int sign;
- sign = -get_bits1(gb);
+ int sign = -get_bits1(gb);
ret = (ret ^ sign) - sign;
}
@@ -363,11 +360,7 @@ static inline int get_sr_golomb(GetBitContext *gb, int k, int limit,
int esc_len)
{
int v = get_ur_golomb(gb, k, limit, esc_len);
- int sign;
-
- v++;
- sign = (v & 1) - 1;
- return ((v >> 1) ^ sign) - sign;
+ return (v >> 1) ^ -(v & 1);
}
/**