Add a get_sbits_long() function.
authorJustin Ruggles <justin.ruggles@gmail.com>
Tue, 3 Mar 2009 02:00:47 +0000 (02:00 +0000)
committerJustin Ruggles <justin.ruggles@gmail.com>
Tue, 3 Mar 2009 02:00:47 +0000 (02:00 +0000)
Originally committed as revision 17740 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/bitstream.h

index 0b336f7..3670285 100644 (file)
@@ -33,6 +33,7 @@
 #include "libavutil/common.h"
 #include "libavutil/intreadwrite.h"
 #include "libavutil/log.h"
+#include "mathops.h"
 
 #if defined(ALT_BITSTREAM_READER_LE) && !defined(ALT_BITSTREAM_READER)
 #   define ALT_BITSTREAM_READER
@@ -707,6 +708,13 @@ static inline unsigned int get_bits_long(GetBitContext *s, int n){
 }
 
 /**
+ * reads 0-32 bits as a signed integer.
+ */
+static inline int get_sbits_long(GetBitContext *s, int n) {
+    return sign_extend(get_bits_long(s, n), n);
+}
+
+/**
  * shows 0-32 bits.
  */
 static inline unsigned int show_bits_long(GetBitContext *s, int n){