[cvs-annodex] commit (/annodex):
liboggz/trunk/src/liboggz/oggz_auto.c
conrad
nobody at lists.annodex.net
Mon Sep 13 17:46:49 EST 2004
Update of /annodex (new revision 570)
Modified files:
liboggz/trunk/src/liboggz/oggz_auto.c
Log Message:
fix theora keyframe shift in oggz_auto (was using old alpha3 method)
Modified: liboggz/trunk/src/liboggz/oggz_auto.c
===================================================================
--- liboggz/trunk/src/liboggz/oggz_auto.c 2004-09-13 01:30:08 UTC (rev 569)
+++ liboggz/trunk/src/liboggz/oggz_auto.c 2004-09-13 07:46:49 UTC (rev 570)
@@ -128,6 +128,11 @@
units = OGGZ_AUTO_MULT * granulepos * tdata->fps_denominator /
tdata->fps_numerator;
+#ifdef DEBUG
+ printf ("serialno %010ld: Got theora frame %lld (%lld + %lld)\n",
+ serialno, granulepos, iframe, pframe, tdata->keyframe_shift);
+#endif
+
return units;
}
@@ -153,16 +158,17 @@
#if USE_THEORA_PRE_ALPHA_3_FORMAT
/* old header format, used by Theora alpha2 and earlier */
keyframe_granule_shift = (header[36] & 0xf8) >> 3;
+ tdata->keyframe_shift = intlog (keyframe_granule_shift - 1);
#else
keyframe_granule_shift = (char) ((header[40] & 0x03) << 3);
keyframe_granule_shift |= (header[41] & 0xe0) >> 5;
+ tdata->keyframe_shift = keyframe_granule_shift;
#endif
- tdata->keyframe_shift = intlog (keyframe_granule_shift - 1);
#ifdef DEBUG
- printf ("Got theora fps %d/%d, keyframe_granule_shift %d\n",
+ printf ("Got theora fps %d/%d, keyframe_shift %d\n",
tdata->fps_numerator, tdata->fps_denominator,
- keyframe_granule_shift);
+ tdata->keyframe_shift);
#endif
/*oggz_set_metric_internal (oggz, serialno, auto_theora_metric, tdata, 1);*/
--
conrad
More information about the cvs-annodex
mailing list