diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-08-09 22:36:36 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-08-09 22:36:36 +0000 |
commit | 0a611e34ea42f546efb30669ebd50753845f2fe2 (patch) | |
tree | cb36becd13ed331aa6a45d59877168405c6dd05d /src/libfaad/bits.c | |
parent | 7ff5f35709afcd3dcbef2fa1b4f6c4b0ddf73817 (diff) | |
download | xine-lib-0a611e34ea42f546efb30669ebd50753845f2fe2.tar.gz xine-lib-0a611e34ea42f546efb30669ebd50753845f2fe2.tar.bz2 |
sync with faad2 cvs (no more fftw dependency)
CVS patchset: 2420
CVS date: 2002/08/09 22:36:36
Diffstat (limited to 'src/libfaad/bits.c')
-rw-r--r-- | src/libfaad/bits.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/libfaad/bits.c b/src/libfaad/bits.c index 894a308b5..d2c2db785 100644 --- a/src/libfaad/bits.c +++ b/src/libfaad/bits.c @@ -16,10 +16,11 @@ ** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** -** $Id: bits.c,v 1.1 2002/07/14 23:43:01 miguelfreitas Exp $ +** $Id: bits.c,v 1.2 2002/08/09 22:36:36 miguelfreitas Exp $ **/ #include "common.h" +#include <stdlib.h> #include "bits.h" /* initialize buffer, call once before first getbits or showbits */ @@ -61,3 +62,27 @@ uint8_t faad_byte_align(bitfile *ld) } return 0; } + +uint8_t *faad_getbitbuffer(bitfile *ld, uint16_t bits + DEBUGDEC) +{ + uint16_t i, temp; + uint16_t bytes = bits / 8; + uint8_t remainder = bits % 8; + + uint8_t *buffer = (uint8_t*)malloc((bytes+1)*sizeof(uint8_t)); + + for (i = 0; i < bytes; i++) + { + buffer[i] = faad_getbits(ld, 8 DEBUGVAR(print,var,dbg)); + } + + if (remainder) + { + temp = faad_getbits(ld, remainder DEBUGVAR(print,var,dbg)) << (8-remainder); + + buffer[bytes] = temp; + } + + return buffer; +} |