GPUFFTMoviePlaybackDemo - Demonstrate use of GPGPU computing for live filtering via 2D-FFT.
This demo makes use of the FOSS GPUmat toolbox to perform a GPU
accelerated 2D FFT + filtering in frequency space + 2D inverse FFT on a
movie video file. GPUmat allows to use NVidia’s CUDA gpu computing
framework on supported NVidia gpu’s (GeForce.
It shows how a Psychtoolbox floating point texture (with movie content
inside) can be efficiently passed to GPUmat as a matrix of GPUsingle data
type, which is stored and processed on the GPU. Then it uses GPUmat’s fft
routines for forward/inverse fft’s and matrix manipulation. Then it
returns the final image to Psychtoolbox as a new floating point texture
for display. The same steps are carried out with Matlab/Octave’s regular
fft routines on the cpu for reference.
GPUFFTMoviePlaybackDemo([usegpu=1][, showfft=0][, fwidth=11][, roi][, depth=1][, moviename])
‘usegpu’ = 0 to use regular Matlab/Octave fft on CPU, 1 = to use GPUmat on GPU.
‘showfft’ = 1 to show amplitude spectrum of movie in usegpu=1 mode.
‘fwidth’ = Width of low-pass filter kernel in frequency space units.
‘roi’ = Region of interest to show, e.g., [0,0,640,480].
‘depth’ = 1 for Mono, 3 for color processing.
‘moviename’ Name string for selection of movie file.