aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2014-03-10 10:57:51 +0100
committerLuca Barbato <lu_zero@gentoo.org>2014-03-10 10:58:37 +0100
commit5eacbb53289570834f9a1acb15fd406ea224eef6 (patch)
treef1f0637fe6fc5c7b0bf4dfb0d897c35b4767784e /libavcodec
parente854b8f9f4097a3c560b746895e9da6721aa4cdb (diff)
downloadffmpeg-5eacbb53289570834f9a1acb15fd406ea224eef6.tar.gz
golomb: Add a get_se_golomb_long
Useful in libavformat mostly.
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/golomb.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/golomb.h b/libavcodec/golomb.h
index efe5059133..ce3500f8a9 100644
--- a/libavcodec/golomb.h
+++ b/libavcodec/golomb.h
@@ -206,6 +206,18 @@ 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);
+
+ if (buf & 1)
+ buf = -(buf >> 1);
+ else
+ buf = (buf >> 1);
+
+ return buf;
+}
+
static inline int svq3_get_se_golomb(GetBitContext *gb)
{
unsigned int buf;