summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad/bits.h
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2010-08-03 17:59:59 +0000
committerRafaël Carré <rafael.carre@gmail.com>2010-08-03 17:59:59 +0000
commit29b2a049de5c6a81c99ef3a2fb9b0e5fce57b86d (patch)
treef7f1bdeafdd793e50b0a4f8733df91eb991fbadd /apps/codecs/libfaad/bits.h
parent40e3b09678d2b9a8aee578072b9e7ef62c985b98 (diff)
downloadrockbox-29b2a049de5c6a81c99ef3a2fb9b0e5fce57b86d.zip
rockbox-29b2a049de5c6a81c99ef3a2fb9b0e5fce57b86d.tar.gz
rockbox-29b2a049de5c6a81c99ef3a2fb9b0e5fce57b86d.tar.bz2
rockbox-29b2a049de5c6a81c99ef3a2fb9b0e5fce57b86d.tar.xz
faad: move inline function in header
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27683 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libfaad/bits.h')
-rw-r--r--apps/codecs/libfaad/bits.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/apps/codecs/libfaad/bits.h b/apps/codecs/libfaad/bits.h
index 0cdc2e6..c5540a0 100644
--- a/apps/codecs/libfaad/bits.h
+++ b/apps/codecs/libfaad/bits.h
@@ -77,7 +77,6 @@ void faad_initbits_rev(bitfile *ld, void *buffer,
uint32_t bits_in_buffer);
uint8_t faad_byte_align(bitfile *ld);
uint32_t faad_get_processed_bits(bitfile *ld);
-INLINE void faad_flushbits_ex(bitfile *ld, uint32_t bits);
void faad_rewindbits(bitfile *ld);
uint8_t *faad_getbitbuffer(bitfile *ld, uint32_t bits
DEBUGDEC);
@@ -95,6 +94,27 @@ static INLINE uint32_t getdword(void *mem)
#endif
}
+static INLINE void faad_flushbits_ex(bitfile *ld, uint32_t bits)
+{
+ uint32_t tmp;
+
+ ld->bufa = ld->bufb;
+ if (ld->no_more_reading == 0)
+ {
+ tmp = getdword(ld->tail);
+ ld->tail++;
+ } else {
+ tmp = 0;
+ }
+ ld->bufb = tmp;
+ ld->bits_left += (32 - bits);
+ ld->bytes_used += 4;
+ if (ld->bytes_used == ld->buffer_size)
+ ld->no_more_reading = 1;
+ if (ld->bytes_used > ld->buffer_size)
+ ld->error = 1;
+}
+
static INLINE uint32_t faad_showbits(bitfile *ld, uint32_t bits)
{
if (bits <= ld->bits_left)