Changeset 570

Show
Ignore:
Timestamp:
2004-09-13 00:46:49 (4 years ago)
Author:
conrad
Message:

fix theora keyframe shift in oggz_auto (was using old alpha3 method)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • liboggz/trunk/src/liboggz/oggz_auto.c

    r443 r570  
    129129    tdata->fps_numerator; 
    130130 
     131#ifdef DEBUG 
     132  printf ("serialno %010ld: Got theora frame %lld (%lld + %lld)\n", 
     133          serialno, granulepos, iframe, pframe, tdata->keyframe_shift); 
     134#endif 
     135 
    131136  return units; 
    132137} 
     
    154159  /* old header format, used by Theora alpha2 and earlier */ 
    155160  keyframe_granule_shift = (header[36] & 0xf8) >> 3; 
     161  tdata->keyframe_shift = intlog (keyframe_granule_shift - 1); 
    156162#else 
    157163  keyframe_granule_shift = (char) ((header[40] & 0x03) << 3); 
    158164  keyframe_granule_shift |= (header[41] & 0xe0) >> 5; 
    159 #endif 
    160   tdata->keyframe_shift = intlog (keyframe_granule_shift - 1); 
    161  
    162 #ifdef DEBUG 
    163   printf ("Got theora fps %d/%d, keyframe_granule_shift %d\n", 
     165  tdata->keyframe_shift = keyframe_granule_shift; 
     166#endif 
     167 
     168#ifdef DEBUG 
     169  printf ("Got theora fps %d/%d, keyframe_shift %d\n", 
    164170          tdata->fps_numerator, tdata->fps_denominator, 
    165           keyframe_granule_shift); 
     171          tdata->keyframe_shift); 
    166172#endif 
    167173