Index: apps/codecs/libtremor/window.c =================================================================== --- apps/codecs/libtremor/window.c (revision 20728) +++ apps/codecs/libtremor/window.c (working copy) @@ -68,11 +68,15 @@ long rightbegin=n/2+n/4-rn/4; long rightend=rightbegin+rn/2; - memset((void *)&d[0], 0, sizeof(ogg_int32_t)*leftbegin); - /* mcf5249_vect_zero(&d[0], leftbegin); */ +// Following memset is not required - we are careful to only overlap/add the +// regions that geniunely overlap in the window region, and the portions +// outside that region are not added (so don't need to be zerod). see block.c +// memset((void *)&d[0], 0, sizeof(ogg_int32_t)*leftbegin); + vect_mult_fw(&d[leftbegin], &window[lW][0], leftend-leftbegin); vect_mult_bw(&d[rightbegin], &window[nW][rn/2-1], rightend-rightbegin); - memset((void *)&d[rightend], 0, sizeof(ogg_int32_t)*(n-rightend)); - /* mcf5249_vect_zero(&d[rightend], n-rightend); */ + +// Again - memset not needed +// memset((void *)&d[rightend], 0, sizeof(ogg_int32_t)*(n-rightend)); }