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.c | |
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.c')
-rw-r--r-- | src/libfaad/bits.c | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/src/libfaad/bits.c b/src/libfaad/bits.c index 2ec31a930..15c91da4d 100644 --- a/src/libfaad/bits.c +++ b/src/libfaad/bits.c @@ -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.c,v 1.6 2004/01/11 15:44:04 mroi Exp $ +** $Id: bits.c,v 1.7 2004/01/26 22:34:10 jstembridge Exp $ **/ #include "common.h" @@ -74,7 +74,13 @@ void faad_initbits(bitfile *ld, const void *_buffer, const uint32_t buffer_size) void faad_endbits(bitfile *ld) { if (ld) - if (ld->buffer) faad_free(ld->buffer); + { + if (ld->buffer) + { + faad_free(ld->buffer); + ld->buffer = NULL; + } + } } uint32_t faad_get_processed_bits(bitfile *ld) @@ -99,8 +105,13 @@ void faad_flushbits_ex(bitfile *ld, uint32_t bits) uint32_t tmp; ld->bufa = ld->bufb; - tmp = getdword(ld->tail); - ld->tail++; + 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; @@ -157,6 +168,20 @@ uint8_t *faad_getbitbuffer(bitfile *ld, uint32_t bits return buffer; } +#ifdef DRM +/* return the original data buffer */ +void *faad_origbitbuffer(bitfile *ld) +{ + return (void*)ld->start; +} + +/* return the original data buffer size */ +uint32_t faad_origbitbuffer_size(bitfile *ld) +{ + return ld->buffer_size; +} +#endif + /* reversed bit reading routines, used for RVLC and HCR */ void faad_initbits_rev(bitfile *ld, void *buffer, uint32_t bits_in_buffer) |