[theora-dev] Thusnelda - Floating point exception in encoder_toplevel.c:209

Timothy B. Terriberry tterribe at email.unc.edu
Thu Jun 11 10:03:17 PDT 2009


Philip Heron wrote:
> Any ideas?

My guess is that you're running out of bits in the buffer, and
rate_total is greater than zero, but less than buf_delay (e.g., less
than 1 bit per frame). This one is clearly my fault, try the following
patch, and let me know if it fixes the problem:

--- encoder_toplevel.c  (revision 16089)
+++ encoder_toplevel.c  (working copy)
@@ -177,7 +177,7 @@

if(cpi->dup_count>0)nframes[1]=(nframes[1]+cpi->dup_count)/(cpi->dup_count+1);
   /*If there aren't enough bits to achieve our desired fullness level,
use the
      minimum quality permitted.*/
-  if(rate_total<=0)log_qtarget=OC_QUANT_MAX_LOG;
+  if(rate_total<=buf_delay)log_qtarget=OC_QUANT_MAX_LOG;
   else{
     static const unsigned char KEY_RATIO[2]={32,17};
     ogg_int64_t   log_scale0;

I know it's difficult to collect, but a test case that can reliably
reproduce this would be enormously helpful.


More information about the theora-dev mailing list