move some functions to bitstream.h to avoid conflicts
authorAurelien Jacobs <aurel@gnuage.org>
Mon, 28 Aug 2006 18:44:49 +0000 (18:44 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Mon, 28 Aug 2006 18:44:49 +0000 (18:44 +0000)
between different  bitstream readers in different codecs

Originally committed as revision 6117 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/bitstream.c
libavcodec/bitstream.h

index 7eee022..3eb1a6d 100644 (file)
@@ -47,41 +47,6 @@ void ff_put_string(PutBitContext * pbc, char *s, int put_zero)
         put_bits(pbc, 8, 0);
 }
 
-/* bit input functions */
-
-/**
- * reads 0-32 bits.
- */
-unsigned int get_bits_long(GetBitContext *s, int n){
-    if(n<=17) return get_bits(s, n);
-    else{
-        int ret= get_bits(s, 16) << (n-16);
-        return ret | get_bits(s, n-16);
-    }
-}
-
-/**
- * shows 0-32 bits.
- */
-unsigned int show_bits_long(GetBitContext *s, int n){
-    if(n<=17) return show_bits(s, n);
-    else{
-        GetBitContext gb= *s;
-        int ret= get_bits_long(s, n);
-        *s= gb;
-        return ret;
-    }
-}
-
-int check_marker(GetBitContext *s, const char *msg)
-{
-    int bit= get_bits1(s);
-    if(!bit)
-            av_log(NULL, AV_LOG_INFO, "Marker bit missing %s\n", msg);
-
-    return bit;
-}
-
 /* VLC decoding */
 
 //#define DEBUG_VLC
index e0322b0..17b5d2b 100644 (file)
@@ -6,6 +6,8 @@
 #ifndef BITSTREAM_H
 #define BITSTREAM_H
 
+#include "log.h"
+
 //#define ALT_BITSTREAM_WRITER
 //#define ALIGNED_BITSTREAM_WRITER
 #if !defined(LIBMPEG2_BITSTREAM_READER) && !defined(A32_BITSTREAM_READER) && !defined(ALT_BITSTREAM_READER)
@@ -642,8 +644,6 @@ static inline unsigned int get_bits(GetBitContext *s, int n){
     return tmp;
 }
 
-unsigned int get_bits_long(GetBitContext *s, int n);
-
 /**
  * shows 0-17 bits.
  * Note, the alt bitstream reader can read up to 25 bits, but the libmpeg2 reader can't
@@ -657,8 +657,6 @@ static inline unsigned int show_bits(GetBitContext *s, int n){
     return tmp;
 }
 
-unsigned int show_bits_long(GetBitContext *s, int n);
-
 static inline void skip_bits(GetBitContext *s, int n){
  //Note gcc seems to optimize this to s->index+=n for the ALT_READER :))
     OPEN_READER(re, s)
@@ -696,6 +694,39 @@ static inline void skip_bits1(GetBitContext *s){
 }
 
 /**
+ * reads 0-32 bits.
+ */
+static inline unsigned int get_bits_long(GetBitContext *s, int n){
+    if(n<=17) return get_bits(s, n);
+    else{
+        int ret= get_bits(s, 16) << (n-16);
+        return ret | get_bits(s, n-16);
+    }
+}
+
+/**
+ * shows 0-32 bits.
+ */
+static inline unsigned int show_bits_long(GetBitContext *s, int n){
+    if(n<=17) return show_bits(s, n);
+    else{
+        GetBitContext gb= *s;
+        int ret= get_bits_long(s, n);
+        *s= gb;
+        return ret;
+    }
+}
+
+static inline int check_marker(GetBitContext *s, const char *msg)
+{
+    int bit= get_bits1(s);
+    if(!bit)
+        av_log(NULL, AV_LOG_INFO, "Marker bit missing %s\n", msg);
+
+    return bit;
+}
+
+/**
  * init GetBitContext.
  * @param buffer bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE bytes larger then the actual read bits
  * because some optimized bitstream readers read 32 or 64 bit at once and could read over the end
@@ -828,7 +859,6 @@ static always_inline int get_vlc2(GetBitContext *s, VLC_TYPE (*table)[2],
 //#define TRACE
 
 #ifdef TRACE
-#include "avcodec.h"
 static inline void print_bin(int bits, int n){
     int i;