add adams 4.6->4.6.1 (mostly)
[goodguy/history.git] / cinelerra-5.0 / libzmpeg3 / audio / layer3.C
index c9b2bd1e6f03e2da32079a7be7761a4e9518d63c..984bb053609bc1d7d92f2ea955734a3ab17d0dc5 100644 (file)
@@ -439,10 +439,15 @@ dequantize_sample(float xr[SBLIMIT][SSLIMIT], int *scf,
 
   while( xrpnt < &xr[SBLIMIT][0] ) *xrpnt++ = 0.0;
 
+  if( -part2remain > num )
+    num = -part2remain;
   part2remain += num;
-  stream->start_reverse();
-  stream->get_bits_reverse(num);
-  stream->start_forward();
+
+  if( num > 0 ) {
+    stream->start_reverse();
+    stream->get_bits_reverse(num);
+    stream->start_forward();
+  }
 
 //zmsgs("3 %d %04x\n", stream->bit_number, stream->show_bits(16));
   while( part2remain > 16 ) {