diff golomb.h @ 2525:b47af698085e libavcodec

shorten decoder by (Jeff Muizelaar <jrmuizel gmail com>)
author michael
date Sat, 26 Feb 2005 03:36:04 +0000
parents 6684c0e9e28f
children 926ea374947f
line wrap: on
line diff
--- a/golomb.h	Fri Feb 25 15:06:21 2005 +0000
+++ b/golomb.h	Sat Feb 26 03:36:04 2005 +0000
@@ -284,6 +284,27 @@
     return (v>>1) ^ -(v&1);
 }
 
+/**
+ * read unsigned golomb rice code (shorten).
+ */
+static inline unsigned int get_ur_golomb_shorten(GetBitContext *gb, int k){
+	return get_ur_golomb_jpegls(gb, k, INT_MAX, 0);
+}
+
+/**
+ * read signed golomb rice code (shorten).
+ */
+static inline int get_sr_golomb_shorten(GetBitContext* gb, int k)
+{
+    int uvar = get_ur_golomb_jpegls(gb, k + 1, INT_MAX, 0);
+    if (uvar & 1)
+        return ~(uvar >> 1);
+    else
+        return uvar >> 1;
+}
+
+
+
 #ifdef TRACE
 
 static inline int get_ue(GetBitContext *s, char *file, const char *func, int line){