Example #1
0
File: DFT.cpp Project: LuaAV/LuaAV
void DFT::resize(uint32_t newWindowSize, uint32_t newPadSize){ //printf("DFT::resize()\n");

	if(0 == newWindowSize && 0 == newPadSize) return;

	uint32_t oldDFTSize = sizeDFT();
	uint32_t newDFTSize = newWindowSize + newPadSize;
	uint32_t oldFrqSize = oldDFTSize+2;		// 2 extra for DC/Nyquist imaginary
	uint32_t newFrqSize = newDFTSize+2;		// "

	if(mem::resize(mBuf, oldFrqSize, newFrqSize)){
		mBufInv = mBuf;
		if(mAux) mem::resize(mAux, oldFrqSize, newFrqSize);
		mFFT.resize(newDFTSize);
		mem::deepZero(mBuf, newFrqSize);
	}
	
	mem::resize(mPadOA, sizePad(), newPadSize);
	mem::deepZero(mPadOA, newPadSize);
	
	mSizeDFT = newDFTSize;
	mSizeWin = newWindowSize;
	mSizeHop = mSizeWin;

	onResync(1);
}
Example #2
0
STFT& STFT::sizeHop(uint32_t size){
	mSlide.sizeHop(size);
	mSizeHop = mSlide.sizeHop();
	computeInvWinMul();
	onResync(1);
	return *this;
}
Example #3
0
File: DFT.cpp Project: LuaAV/LuaAV
void STFT::sizeHop(uint32_t size){
	mSlide.sizeHop(size);
	mSizeHop = mSlide.sizeHop();
	computeInvWinMul();
	onResync(1);
}