if(rev == NULL) {return;}
if(rev == NULL) { for (k = 0; k < count; k++) { effect_buffer[k] = 0; } return; }
static void do_freeverb(int32 *buf, int32 count){	int32 _rev_bufout, _rev_output;	int32 i, k = 0;	int32 outl, outr, input;	revmodel_t *rev = revmodel;	comb *combL = rev->combL, *combR = rev->combR;	allpass *allpassL = rev->allpassL, *allpassR = rev->allpassR;	if(rev == NULL) {return;}	for (k = 0; k < count; k++)	{		outl = outr = 0;		input = effect_buffer[k] + effect_buffer[k + 1];		effect_buffer[k] = effect_buffer[k + 1] = 0;		for (i = 0; i < numcombs; i++) {			do_comb(input, outl, combL[i].buf, combL[i].size, combL[i].index,				combL[i].damp1i, combL[i].damp2i, combL[i].filterstore, combL[i].feedbacki);			do_comb(input, outr, combR[i].buf, combR[i].size, combR[i].index,				combR[i].damp1i, combR[i].damp2i, combR[i].filterstore, combR[i].feedbacki);		}		for (i = 0; i < numallpasses; i++) {			do_allpass(outl, allpassL[i].buf, allpassL[i].size, allpassL[i].index, allpassL[i].feedbacki);			do_allpass(outr, allpassR[i].buf, allpassR[i].size, allpassR[i].index, allpassR[i].feedbacki);		}		buf[k] += imuldiv24(outl, rev->wet1i) + imuldiv24(outr, rev->wet2i);		buf[k + 1] += imuldiv24(outr, rev->wet1i) + imuldiv24(outl, rev->wet2i);		++k;	}}