summaryrefslogtreecommitdiff
path: root/src/libfaad/bits.c
diff options
context:
space:
mode:
authorJames Stembridge <jstembridge@users.sourceforge.net>2004-01-26 22:34:10 +0000
committerJames Stembridge <jstembridge@users.sourceforge.net>2004-01-26 22:34:10 +0000
commit925b8c0c8c8d5641ec7865d102fc4a813a0940c4 (patch)
tree41b9798a788990135ae2876c426d5b88428999d8 /src/libfaad/bits.c
parent229558581183265e40767066db5b6aa99c8818b1 (diff)
downloadxine-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.c33
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)