diff options
Diffstat (limited to 'src/libfaad/rvlc.c')
-rw-r--r-- | src/libfaad/rvlc.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/libfaad/rvlc.c b/src/libfaad/rvlc.c index 2194906d6..70dcf7c29 100644 --- a/src/libfaad/rvlc.c +++ b/src/libfaad/rvlc.c @@ -16,7 +16,7 @@ ** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** -** $Id: rvlc.c,v 1.1 2002/12/16 19:01:03 miguelfreitas Exp $ +** $Id: rvlc.c,v 1.2 2003/04/12 14:58:47 miguelfreitas Exp $ **/ /* RVLC scalefactor decoding @@ -133,8 +133,10 @@ uint8_t rvlc_decode_scale_factors(ic_stream *ics, bitfile *ld) if (rvlc_esc_buffer) free(rvlc_esc_buffer); if (rvlc_sf_buffer) free(rvlc_sf_buffer); - faad_endbits(&ld_rvlc_sf); - faad_endbits(&ld_rvlc_esc); + if (ics->length_of_rvlc_sf > 0) + faad_endbits(&ld_rvlc_sf); + if (ics->sf_escapes_present) + faad_endbits(&ld_rvlc_esc); return result; } @@ -487,9 +489,9 @@ static int8_t rvlc_huffman_esc(bitfile *ld, i = h->len; if (direction > 0) - cw = faad_getbits(ld, i); + cw = faad_getbits(ld, i DEBUGVAR(1,0,"")); else - cw = faad_getbits_rev(ld, i); + cw = faad_getbits_rev(ld, i DEBUGVAR(1,0,"")); while ((cw != h->cw) && (i < 21)) @@ -507,4 +509,4 @@ static int8_t rvlc_huffman_esc(bitfile *ld, return h->index; } -#endif
\ No newline at end of file +#endif |