[xiph-commits] r15176 - in trunk/theora: . lib lib/dec
giles at svn.xiph.org
giles at svn.xiph.org
Tue Aug 12 17:27:19 PDT 2008
Author: giles
Date: 2008-08-12 17:27:18 -0700 (Tue, 12 Aug 2008)
New Revision: 15176
Added:
trunk/theora/lib/dec/bitpack.c
trunk/theora/lib/dec/bitpack.h
Removed:
trunk/theora/lib/dec/bitwise.c
trunk/theora/lib/dec/bitwise.h
Modified:
trunk/theora/SConstruct
trunk/theora/lib/Makefile.am
trunk/theora/lib/dec/decint.h
Log:
Rename the bitpacker source files imported from libogg to avoid
confusing simple build systems using both libraries.
Modified: trunk/theora/SConstruct
===================================================================
--- trunk/theora/SConstruct 2008-08-12 19:50:29 UTC (rev 15175)
+++ trunk/theora/SConstruct 2008-08-13 00:27:18 UTC (rev 15176)
@@ -30,7 +30,7 @@
decoder_sources = """
dec/apiwrapper.c \
- dec/bitwise.c \
+ dec/bitpack.c \
dec/decapiwrapper.c \
dec/decinfo.c \
dec/decode.c \
Modified: trunk/theora/lib/Makefile.am
===================================================================
--- trunk/theora/lib/Makefile.am 2008-08-12 19:50:29 UTC (rev 15175)
+++ trunk/theora/lib/Makefile.am 2008-08-13 00:27:18 UTC (rev 15176)
@@ -75,7 +75,7 @@
decoder_sources = \
dec/apiwrapper.c \
- dec/bitwise.c \
+ dec/bitpack.c \
dec/decapiwrapper.c \
dec/decinfo.c \
dec/decode.c \
@@ -116,7 +116,7 @@
enc/toplevel_lookup.h \
enc/dsp.h \
dec/apiwrapper.h \
- dec/bitwise.h \
+ dec/bitpack.h \
dec/dct.h \
dec/decint.h \
dec/dequant.h \
Copied: trunk/theora/lib/dec/bitpack.c (from rev 15175, trunk/theora/lib/dec/bitwise.c)
===================================================================
--- trunk/theora/lib/dec/bitpack.c (rev 0)
+++ trunk/theora/lib/dec/bitpack.c 2008-08-13 00:27:18 UTC (rev 15176)
@@ -0,0 +1,121 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggTheora SOURCE CODE IS (C) COPYRIGHT 1994-2008 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: packing variable sized words into an octet stream
+ last mod: $Id$
+
+ ********************************************************************/
+
+/*We're 'MSb' endian; if we write a word but read individual bits,
+ then we'll read the MSb first.*/
+
+#include <string.h>
+#include <stdlib.h>
+#include "bitpack.h"
+
+void theorapackB_readinit(oggpack_buffer *_b,unsigned char *_buf,int _bytes){
+ memset(_b,0,sizeof(*_b));
+ _b->buffer=_b->ptr=_buf;
+ _b->storage=_bytes;
+}
+
+int theorapackB_look1(oggpack_buffer *_b,long *_ret){
+ if(_b->endbyte>=_b->storage){
+ *_ret=0L;
+ return -1;
+ }
+ *_ret=(_b->ptr[0]>>7-_b->endbit)&1;
+ return 0;
+}
+
+void theorapackB_adv1(oggpack_buffer *_b){
+ if(++(_b->endbit)>7){
+ _b->endbit=0;
+ _b->ptr++;
+ _b->endbyte++;
+ }
+}
+
+/*Here we assume that 0<=_bits&&_bits<=32.*/
+int theorapackB_read(oggpack_buffer *_b,int _bits,long *_ret){
+ long ret;
+ long m;
+ long d;
+ int fail;
+ m=32-_bits;
+ _bits+=_b->endbit;
+ d=_b->storage-_b->endbyte;
+ if(d<=4){
+ /*Not the main path.*/
+ if(d*8<_bits){
+ *_ret=0L;
+ fail=-1;
+ goto overflow;
+ }
+ /*Special case to avoid reading _b->ptr[0], which might be past the end of
+ the buffer; also skips some useless accounting.*/
+ else if(!_bits){
+ *_ret=0L;
+ return 0;
+ }
+ }
+ ret=_b->ptr[0]<<24+_b->endbit;
+ if(_bits>8){
+ ret|=_b->ptr[1]<<16+_b->endbit;
+ if(_bits>16){
+ ret|=_b->ptr[2]<<8+_b->endbit;
+ if(_bits>24){
+ ret|=_b->ptr[3]<<_b->endbit;
+ if(_bits>32)ret|=_b->ptr[4]>>8-_b->endbit;
+ }
+ }
+ }
+ *_ret=((ret&0xFFFFFFFFUL)>>(m>>1))>>(m+1>>1);
+ fail=0;
+overflow:
+ _b->ptr+=_bits>>3;
+ _b->endbyte+=_bits>>3;
+ _b->endbit=_bits&7;
+ return fail;
+}
+
+int theorapackB_read1(oggpack_buffer *_b,long *_ret){
+ int fail;
+ if(_b->endbyte>=_b->storage){
+ /*Not the main path.*/
+ *_ret=0L;
+ fail=-1;
+ }
+ else{
+ *_ret=(_b->ptr[0]>>7-_b->endbit)&1;
+ fail=0;
+ }
+ _b->endbit++;
+ if(_b->endbit>7){
+ _b->endbit=0;
+ _b->ptr++;
+ _b->endbyte++;
+ }
+ return fail;
+}
+
+long theorapackB_bytes(oggpack_buffer *_b){
+ return _b->endbyte+(_b->endbit+7>>3);
+}
+
+long theorapackB_bits(oggpack_buffer *_b){
+ return _b->endbyte*8+_b->endbit;
+}
+
+unsigned char *theorapackB_get_buffer(oggpack_buffer *_b){
+ return _b->buffer;
+}
Copied: trunk/theora/lib/dec/bitpack.h (from rev 15175, trunk/theora/lib/dec/bitwise.h)
===================================================================
--- trunk/theora/lib/dec/bitpack.h (rev 0)
+++ trunk/theora/lib/dec/bitpack.h 2008-08-13 00:27:18 UTC (rev 15176)
@@ -0,0 +1,78 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggTheora SOURCE CODE IS (C) COPYRIGHT 1994-2008 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: packing variable sized words into an octet stream
+ last mod: $Id: bitwise.c 7675 2004-09-01 00:34:39Z xiphmont $
+
+ ********************************************************************/
+#if !defined(_bitpack_H)
+# define _bitpack_H (1)
+# include <ogg/ogg.h>
+
+void theorapackB_readinit(oggpack_buffer *_b,unsigned char *_buf,int _bytes);
+/*Read in bits without advancing the bitptr.
+ Here we assume 0<=_bits&&_bits<=32.*/
+static int theorapackB_look(oggpack_buffer *_b,int _bits,long *_ret);
+int theorapackB_look1(oggpack_buffer *_b,long *_ret);
+static void theorapackB_adv(oggpack_buffer *_b,int _bits);
+void theorapackB_adv1(oggpack_buffer *_b);
+/*Here we assume 0<=_bits&&_bits<=32.*/
+int theorapackB_read(oggpack_buffer *_b,int _bits,long *_ret);
+int theorapackB_read1(oggpack_buffer *_b,long *_ret);
+long theorapackB_bytes(oggpack_buffer *_b);
+long theorapackB_bits(oggpack_buffer *_b);
+unsigned char *theorapackB_get_buffer(oggpack_buffer *_b);
+
+/*These two functions are only used in one place, and declaring them static so
+ they can be inlined saves considerable function call overhead.*/
+
+/*Read in bits without advancing the bitptr.
+ Here we assume 0<=_bits&&_bits<=32.*/
+static int theorapackB_look(oggpack_buffer *_b,int _bits,long *_ret){
+ long ret;
+ long m;
+ long d;
+ m=32-_bits;
+ _bits+=_b->endbit;
+ d=_b->storage-_b->endbyte;
+ if(d<=4){
+ /*Not the main path.*/
+ if(d<=0){
+ *_ret=0L;
+ return -(_bits>d*8);
+ }
+ /*If we have some bits left, but not enough, return the ones we have.*/
+ if(d*8<_bits)_bits=d*8;
+ }
+ ret=_b->ptr[0]<<24+_b->endbit;
+ if(_bits>8){
+ ret|=_b->ptr[1]<<16+_b->endbit;
+ if(_bits>16){
+ ret|=_b->ptr[2]<<8+_b->endbit;
+ if(_bits>24){
+ ret|=_b->ptr[3]<<_b->endbit;
+ if(_bits>32)ret|=_b->ptr[4]>>8-_b->endbit;
+ }
+ }
+ }
+ *_ret=((ret&0xFFFFFFFF)>>(m>>1))>>(m+1>>1);
+ return 0;
+}
+
+static void theorapackB_adv(oggpack_buffer *_b,int _bits){
+ _bits+=_b->endbit;
+ _b->ptr+=_bits>>3;
+ _b->endbyte+=_bits>>3;
+ _b->endbit=_bits&7;
+}
+
+#endif
Deleted: trunk/theora/lib/dec/bitwise.c
===================================================================
--- trunk/theora/lib/dec/bitwise.c 2008-08-12 19:50:29 UTC (rev 15175)
+++ trunk/theora/lib/dec/bitwise.c 2008-08-13 00:27:18 UTC (rev 15176)
@@ -1,121 +0,0 @@
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: packing variable sized words into an octet stream
- last mod: $Id$
-
- ********************************************************************/
-
-/*We're 'MSb' endian; if we write a word but read individual bits,
- then we'll read the MSb first.*/
-
-#include <string.h>
-#include <stdlib.h>
-#include "bitwise.h"
-
-void theorapackB_readinit(oggpack_buffer *_b,unsigned char *_buf,int _bytes){
- memset(_b,0,sizeof(*_b));
- _b->buffer=_b->ptr=_buf;
- _b->storage=_bytes;
-}
-
-int theorapackB_look1(oggpack_buffer *_b,long *_ret){
- if(_b->endbyte>=_b->storage){
- *_ret=0L;
- return -1;
- }
- *_ret=(_b->ptr[0]>>7-_b->endbit)&1;
- return 0;
-}
-
-void theorapackB_adv1(oggpack_buffer *_b){
- if(++(_b->endbit)>7){
- _b->endbit=0;
- _b->ptr++;
- _b->endbyte++;
- }
-}
-
-/*Here we assume that 0<=_bits&&_bits<=32.*/
-int theorapackB_read(oggpack_buffer *_b,int _bits,long *_ret){
- long ret;
- long m;
- long d;
- int fail;
- m=32-_bits;
- _bits+=_b->endbit;
- d=_b->storage-_b->endbyte;
- if(d<=4){
- /*Not the main path.*/
- if(d*8<_bits){
- *_ret=0L;
- fail=-1;
- goto overflow;
- }
- /*Special case to avoid reading _b->ptr[0], which might be past the end of
- the buffer; also skips some useless accounting.*/
- else if(!_bits){
- *_ret=0L;
- return 0;
- }
- }
- ret=_b->ptr[0]<<24+_b->endbit;
- if(_bits>8){
- ret|=_b->ptr[1]<<16+_b->endbit;
- if(_bits>16){
- ret|=_b->ptr[2]<<8+_b->endbit;
- if(_bits>24){
- ret|=_b->ptr[3]<<_b->endbit;
- if(_bits>32)ret|=_b->ptr[4]>>8-_b->endbit;
- }
- }
- }
- *_ret=((ret&0xFFFFFFFFUL)>>(m>>1))>>(m+1>>1);
- fail=0;
-overflow:
- _b->ptr+=_bits>>3;
- _b->endbyte+=_bits>>3;
- _b->endbit=_bits&7;
- return fail;
-}
-
-int theorapackB_read1(oggpack_buffer *_b,long *_ret){
- int fail;
- if(_b->endbyte>=_b->storage){
- /*Not the main path.*/
- *_ret=0L;
- fail=-1;
- }
- else{
- *_ret=(_b->ptr[0]>>7-_b->endbit)&1;
- fail=0;
- }
- _b->endbit++;
- if(_b->endbit>7){
- _b->endbit=0;
- _b->ptr++;
- _b->endbyte++;
- }
- return fail;
-}
-
-long theorapackB_bytes(oggpack_buffer *_b){
- return _b->endbyte+(_b->endbit+7>>3);
-}
-
-long theorapackB_bits(oggpack_buffer *_b){
- return _b->endbyte*8+_b->endbit;
-}
-
-unsigned char *theorapackB_get_buffer(oggpack_buffer *_b){
- return _b->buffer;
-}
Deleted: trunk/theora/lib/dec/bitwise.h
===================================================================
--- trunk/theora/lib/dec/bitwise.h 2008-08-12 19:50:29 UTC (rev 15175)
+++ trunk/theora/lib/dec/bitwise.h 2008-08-13 00:27:18 UTC (rev 15176)
@@ -1,78 +0,0 @@
-/********************************************************************
- * *
- * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
- * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
- * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
- * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
- * *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
- * *
- ********************************************************************
-
- function: packing variable sized words into an octet stream
- last mod: $Id: bitwise.c 7675 2004-09-01 00:34:39Z xiphmont $
-
- ********************************************************************/
-#if !defined(_bitwise_H)
-# define _bitwise_H (1)
-# include <ogg/ogg.h>
-
-void theorapackB_readinit(oggpack_buffer *_b,unsigned char *_buf,int _bytes);
-/*Read in bits without advancing the bitptr.
- Here we assume 0<=_bits&&_bits<=32.*/
-static int theorapackB_look(oggpack_buffer *_b,int _bits,long *_ret);
-int theorapackB_look1(oggpack_buffer *_b,long *_ret);
-static void theorapackB_adv(oggpack_buffer *_b,int _bits);
-void theorapackB_adv1(oggpack_buffer *_b);
-/*Here we assume 0<=_bits&&_bits<=32.*/
-int theorapackB_read(oggpack_buffer *_b,int _bits,long *_ret);
-int theorapackB_read1(oggpack_buffer *_b,long *_ret);
-long theorapackB_bytes(oggpack_buffer *_b);
-long theorapackB_bits(oggpack_buffer *_b);
-unsigned char *theorapackB_get_buffer(oggpack_buffer *_b);
-
-/*These two functions are only used in one place, and declaring them static so
- they can be inlined saves considerable function call overhead.*/
-
-/*Read in bits without advancing the bitptr.
- Here we assume 0<=_bits&&_bits<=32.*/
-static int theorapackB_look(oggpack_buffer *_b,int _bits,long *_ret){
- long ret;
- long m;
- long d;
- m=32-_bits;
- _bits+=_b->endbit;
- d=_b->storage-_b->endbyte;
- if(d<=4){
- /*Not the main path.*/
- if(d<=0){
- *_ret=0L;
- return -(_bits>d*8);
- }
- /*If we have some bits left, but not enough, return the ones we have.*/
- if(d*8<_bits)_bits=d*8;
- }
- ret=_b->ptr[0]<<24+_b->endbit;
- if(_bits>8){
- ret|=_b->ptr[1]<<16+_b->endbit;
- if(_bits>16){
- ret|=_b->ptr[2]<<8+_b->endbit;
- if(_bits>24){
- ret|=_b->ptr[3]<<_b->endbit;
- if(_bits>32)ret|=_b->ptr[4]>>8-_b->endbit;
- }
- }
- }
- *_ret=((ret&0xFFFFFFFF)>>(m>>1))>>(m+1>>1);
- return 0;
-}
-
-static void theorapackB_adv(oggpack_buffer *_b,int _bits){
- _bits+=_b->endbit;
- _b->ptr+=_bits>>3;
- _b->endbyte+=_bits>>3;
- _b->endbit=_bits&7;
-}
-
-#endif
Modified: trunk/theora/lib/dec/decint.h
===================================================================
--- trunk/theora/lib/dec/decint.h 2008-08-12 19:50:29 UTC (rev 15175)
+++ trunk/theora/lib/dec/decint.h 2008-08-13 00:27:18 UTC (rev 15176)
@@ -20,7 +20,7 @@
# define _decint_H (1)
# include "theora/theoradec.h"
# include "../internal.h"
-# include "bitwise.h"
+# include "bitpack.h"
typedef struct th_setup_info oc_setup_info;
typedef struct th_dec_ctx oc_dec_ctx;
More information about the commits
mailing list