diff options
author | James Stembridge <jstembridge@users.sourceforge.net> | 2004-01-26 22:34:10 +0000 |
---|---|---|
committer | James Stembridge <jstembridge@users.sourceforge.net> | 2004-01-26 22:34:10 +0000 |
commit | 925b8c0c8c8d5641ec7865d102fc4a813a0940c4 (patch) | |
tree | 41b9798a788990135ae2876c426d5b88428999d8 /src/libfaad/bits.h | |
parent | 229558581183265e40767066db5b6aa99c8818b1 (diff) | |
download | xine-lib-925b8c0c8c8d5641ec7865d102fc4a813a0940c4.tar.gz xine-lib-925b8c0c8c8d5641ec7865d102fc4a813a0940c4.tar.bz2 |
Sync with libfaad CVS
CVS patchset: 6071
CVS date: 2004/01/26 22:34:10
Diffstat (limited to 'src/libfaad/bits.h')
-rw-r--r-- | src/libfaad/bits.h | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/libfaad/bits.h b/src/libfaad/bits.h index 18f1c2a3f..7c1080967 100644 --- a/src/libfaad/bits.h +++ b/src/libfaad/bits.h @@ -22,7 +22,7 @@ ** Commercial non-GPL licensing of this software is possible. ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. ** -** $Id: bits.h,v 1.6 2004/01/11 15:44:04 mroi Exp $ +** $Id: bits.h,v 1.7 2004/01/26 22:34:10 jstembridge Exp $ **/ #ifndef __BITS_H__ @@ -71,6 +71,8 @@ static uint32_t bitmask[] = { 0x1FFFF, 0x3FFFF, 0x7FFFF, 0xFFFFF, 0x1FFFFF, 0x3FFFFF, 0x7FFFFF, 0xFFFFFF, 0x1FFFFFF, 0x3FFFFFF, 0x7FFFFFF, 0xFFFFFFF, 0x1FFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF + /* added bitmask 32, correct?!?!?! */ + , 0xFFFFFFFF }; void faad_initbits(bitfile *ld, const void *buffer, const uint32_t buffer_size); @@ -83,6 +85,10 @@ void faad_flushbits_ex(bitfile *ld, uint32_t bits); void faad_rewindbits(bitfile *ld); uint8_t *faad_getbitbuffer(bitfile *ld, uint32_t bits DEBUGDEC); +#ifdef DRM +void *faad_origbitbuffer(bitfile *ld); +uint32_t faad_origbitbuffer_size(bitfile *ld); +#endif /* circumvent memory alignment errors on ARM */ static INLINE uint32_t getdword(void *mem) @@ -160,12 +166,20 @@ static INLINE uint8_t faad_get1bit(bitfile *ld DEBUGDEC) { uint8_t r; - if (ld->bits_left == 0) - return (uint8_t)faad_getbits(ld, 1 DEBUGVAR(print,var,dbg)); - - ld->bits_left--; - r = (uint8_t)((ld->bufa >> ld->bits_left) & 1); + if (ld->bits_left > 0) + { + ld->bits_left--; + r = (uint8_t)((ld->bufa >> ld->bits_left) & 1); + return r; + } + /* bits_left == 0 */ +#if 0 + r = (uint8_t)(ld->bufb >> 31); + faad_flushbits_ex(ld, 1); +#else + r = (uint8_t)faad_getbits(ld, 1); +#endif return r; } |