Uninitialized variable might be used in the idct_short__c (idct.c file)
Here is some code from the idct.c found in the libtheora-1.0alpha7 sources: static void idct_short__c ( ogg_int16_t * InputData, ogg_int16_t * OutputData ) { ogg_int32_t t[8], r; ogg_int16_t *y = InputData; ogg_int16_t *x = OutputData;
t[0] = y[0] + y[4]; t[0] &= 0xffff; t[0] = (xC4S4 * t[0]) >> 16;
t[1] = y[0] - y[4]; t[1] &= 0xffff; t[1] = (xC4S4 * t[1]) >> 16;
t[2] = ((xC6S2 * t[2]) >> 16) - ((xC2S6 * y[6]) >> 16);
It seems that in the last line the t[2] value is initialized using its original, uninitialized one.