cuda-lowpass.h

Go to the documentation of this file.
00001 /*!@file CUDA/cuda-lowpass.h CUDA/GPU optimized lowpass code */
00002 
00003 // //////////////////////////////////////////////////////////////////// //
00004 // The iLab Neuromorphic Vision C++ Toolkit - Copyright (C) 2000-2005   //
00005 // by the University of Southern California (USC) and the iLab at USC.  //
00006 // See http://iLab.usc.edu for information about this project.          //
00007 // //////////////////////////////////////////////////////////////////// //
00008 // Major portions of the iLab Neuromorphic Vision Toolkit are protected //
00009 // under the U.S. patent ``Computation of Intrinsic Perceptual Saliency //
00010 // in Visual Environments, and Applications'' by Christof Koch and      //
00011 // Laurent Itti, California Institute of Technology, 2001 (patent       //
00012 // pending; application number 09/912,225 filed July 23, 2001; see      //
00013 // http://pair.uspto.gov/cgi-bin/final/home.pl for current status).     //
00014 // //////////////////////////////////////////////////////////////////// //
00015 // This file is part of the iLab Neuromorphic Vision C++ Toolkit.       //
00016 //                                                                      //
00017 // The iLab Neuromorphic Vision C++ Toolkit is free software; you can   //
00018 // redistribute it and/or modify it under the terms of the GNU General  //
00019 // Public License as published by the Free Software Foundation; either  //
00020 // version 2 of the License, or (at your option) any later version.     //
00021 //                                                                      //
00022 // The iLab Neuromorphic Vision C++ Toolkit is distributed in the hope  //
00023 // that it will be useful, but WITHOUT ANY WARRANTY; without even the   //
00024 // implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      //
00025 // PURPOSE.  See the GNU General Public License for more details.       //
00026 //                                                                      //
00027 // You should have received a copy of the GNU General Public License    //
00028 // along with the iLab Neuromorphic Vision C++ Toolkit; if not, write   //
00029 // to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,   //
00030 // Boston, MA 02111-1307 USA.                                           //
00031 // //////////////////////////////////////////////////////////////////// //
00032 //
00033 // Primary maintainer for this file:
00034 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/CUDA/cuda-lowpass.h $
00035 // $Id: cuda-lowpass.h 12962 2010-03-06 02:13:53Z irock $
00036 //
00037 
00038 #ifndef CUDA_CUDA_LOWPASS_H_DEFINED
00039 #define CUDA_CUDA_LOWPASS_H_DEFINED
00040 
00041 #ifdef __cplusplus
00042 extern "C" {
00043 #endif
00044 
00045 //! Convolve and decimate in X direction with 5-tap lowpass filter
00046 /*! Note that src and dst should have been allocated already by the
00047     caller in DEVICE memory, and source data should have been copied
00048     to src. The caller may have to copy the result back to host memory
00049     if no further GPU processing is needed. */
00050 void cuda_lowpass_5_x_dec_x_fewbits_optim(const int* src, const unsigned int w, const unsigned int h, int* dst);
00051 
00052 //! Convolve and decimate in X direction with 5-tap lowpass filter
00053 /*! Note that src and dst should have been allocated already by the
00054     caller in DEVICE memory, and source data should have been copied
00055     to src. The caller may have to copy the result back to host memory
00056     if no further GPU processing is needed. */
00057 void cuda_lowpass_5_y_dec_y_fewbits_optim(const int* src, const unsigned int w, const unsigned int h, int* dst);
00058 
00059 void cuda_lowpass_9_x_fewbits_optim(const int* src, const unsigned int w, const unsigned int h, int* dst);
00060 void cuda_lowpass_9_y_fewbits_optim(const int* src, const unsigned int w, const unsigned int h, int* dst);
00061 
00062 
00063 
00064 
00065 #ifdef __cplusplus
00066 }
00067 #endif
00068 
00069 // ######################################################################
00070 /* So things look consistent in everyone's emacs... */
00071 /* Local Variables: */
00072 /* mode: c++ */
00073 /* indent-tabs-mode: nil */
00074 /* End: */
00075 
00076 #endif // CUDA_CUDA_LOWPASS_H_DEFINED
Generated on Sun May 8 08:40:23 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3